3203N/A * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 0N/A * published by the Free Software Foundation. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1472N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A // Sizing policy for entire heap 0N/A // Collection of generations that are adjacent in the 0N/A // space reserved for the heap. 0N/A // For use by VM operations 1387N/A // GenerationSizer* collector_policy() const { return _collector_policy; } 0N/A // Returns JNI_OK on success 0N/A // The alignment used for the various generations. 13N/A // The alignment used for eden and survivors within the young gen 13N/A // and for boundary between young gen and old gen. 0N/A // Return "true" if all generations (but perm) have reached the 0N/A // maximal committed limit that they can reach, without a garbage 2474N/A // Return true if the reference points to an object that 2474N/A // can be moved in a partial collection. For currently implemented 2474N/A // generational collectors that means during a collection of 0N/A // Does this heap support heap inspection? (+PrintClassHistogram) 0N/A // Whether p is in the allocated part of the heap 0N/A // Memory allocation. "gc_time_limit_was_exceeded" will 0N/A // be set to true if the adaptive size policy determine that 0N/A // an excessive amount of time is being spent doing collections 0N/A // and caused a NULL to be returned. If a NULL is not returned, 0N/A // "gc_time_limit_was_exceeded" has an undefined meaning. 2599N/A // Allocation attempt(s) during a safepoint. It should never be called 2599N/A // to allocate a new TLAB as this allocation might be satisfied out 0N/A // Support for System.gc() 0N/A // This interface assumes that it's being called by the 0N/A // vm thread. It collects the heap assuming that the 0N/A // heap lock is already held and that we are executing in 0N/A // the context of the vm thread. 0N/A // These also should be called by the vm thread at a safepoint (e.g., from a 0N/A // The first collects the young generation only, unless the scavenge fails; it 0N/A // will then attempt a full gc. The second collects the entire heap; if 0N/A // maximum_compaction is true, it will compact everything and clear all soft 342N/A // Can a compiler initialize a new object without store barriers? 342N/A // This permission only extends from the creation of a new object 342N/A // via a TLAB up to the first subsequent safepoint. 1027N/A // Return true if we don't we need a store barrier for 1027N/A // initializing stores to an object at this address. 342N/A // Can a compiler elide a store barrier when it writes 342N/A // a permanent oop into the heap? Applies when the compiler 342N/A // is storing x to the heap, where x->is_perm() is true. 0N/A // Resize the young generation. The reserved space for the 0N/A // generation may be expanded in preparation for the resize. 0N/A // Resize the old generation. The reserved space for the 0N/A // generation may be expanded in preparation for the resize. 263N/A // Save the tops of the spaces in all generations 263N/A // Mangle the unused parts of all spaces in the heap 989N/A // Call these in sequential code around the processing of strong roots. 1879N/A#
endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP