3945N/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// It would be better if these types could be kept local to the .cpp file, 0N/A// but they must be here to allow ParScanClosure::do_oop_work to be defined 0N/A// The state needed by thread performing parallel young-gen collection. 0N/A // One of these two will be passed to process_strong_roots, which will 0N/A // set its generation. The first is for two-gen configs where the 0N/A // old gen collects the perm gen; the second is for arbitrary configs. 0N/A // The second isn't used right now (it used to be used for the train, an 0N/A // incremental collector) but the declaration has been left as a reminder. 0N/A // This closure will always be bound to the old gen; it will be used 0N/A // in evacuate_followers. 1145N/A // Stats for promotion failure 0N/A // Helper for trim_queues. Scans subset of an array and makes 0N/A // remainder available for work stealing. 0N/A // In support of CMS' parallel rescan of survivor space. 0N/A // Decrease queue size below "max_size". 679N/A // Private overflow stack usage 0N/A // Is new_obj a candidate for scan_partial_array_and_push_remainder method. 0N/A // Allocate a to-space block of size "sz", or else return NULL. 0N/A // Undo the most recent allocation ("obj", of "word_sz"). 2941N/A // Reset the terminator in ParScanThreadStateSet for 2941N/A // "active_workers" threads. 0N/A// Closure for scanning ParNewGeneration. 0N/A// Same as ScanClosure, except does parallel GC barrier. 0N/A// Implements AbstractRefProcTaskExecutor for ParNew. 0N/A // Executes a task using worker threads. 0N/A // Switch to single threaded mode. 0N/A// A Generation that does parallel young-gen collection. 695N/A // The per-worker-thread work queues 695N/A // Per-worker-thread local overflow stacks 0N/A // Desired size of survivor space plab's 0N/A // A list of from-space images of to-be-scanned objects, threaded through 0N/A // klass-pointers (klass information already copied to the forwarded 0N/A // image.) Manipulated with CAS. 0N/A // If true, older generation does not support promotion undo, so avoid. 0N/A // This closure is used by the reference processor to filter out 0N/A // references to live referent. 0N/A // Preserve the mark of "obj", if necessary, in preparation for its mark 0N/A // word being overwritten with a self-forwarding-pointer. 0N/A // Adjust the tenuring threshold. See the implementation for 0N/A // the details of the policy. 0N/A // Make the collection virtual. 0N/A // This needs to be visible to the closure function. 0N/A // "obj" is the object to be copied, "m" is a recent value of its mark 0N/A // that must not contain a forwarding pointer (though one might be 0N/A // inserted in "obj"s mark word by a parallel thread). 534N/A // in support of testing overflow code 679N/A // Accessor for overflow list 0N/A // Push the given (from-space) object on the global overflow list. 0N/A // If the global overflow list is non-empty, move some tasks from it 679N/A // onto "work_q" (which need not be empty). No more than 1/4 of the 679N/A // available space on "work_q" is used. 0N/A // The task queues to be used by parallel GC threads. 1879N/A#
endif // SHARE_VM_GC_IMPLEMENTATION_PARNEW_PARNEWGENERATION_HPP