/* * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. *
*/
class WorkerTask; class G1CMBitMap; class G1FullGCMarker; class G1FullGCScope; class G1FullGCCompactionPoint; class GCMemoryManager; class HeapRegion; class ReferenceProcessor;
// Subject-to-discovery closure for reference processing during Full GC. During // Full GC the whole heap is subject to discovery. class G1FullGCSubjectToDiscoveryClosure: public BoolObjectClosure { public: bool do_object_b(oop p) {
assert(p != NULL, "must be"); returntrue;
}
};
// Full GC Mark that holds GC id and CPU time trace. Needs to be separate // from the G1FullCollector and G1FullGCScope to allow the Full GC logging // to have the same structure as the Young GC logging. class G1FullGCMark : StackObj {
GCIdMark _gc_id;
G1FullGCTracer _tracer;
GCTraceCPUTime _cpu_time; public:
G1FullGCMark() : _gc_id(), _tracer(), _cpu_time(&_tracer) { }
G1FullGCTracer* tracer() { return &_tracer; }
};
// The G1FullCollector holds data associated with the current Full GC. class G1FullCollector : StackObj {
G1CollectedHeap* _heap;
G1FullGCScope _scope;
uint _num_workers;
G1FullGCMarker** _markers;
G1FullGCCompactionPoint** _compaction_points;
OopQueueSet _oop_queue_set;
ObjArrayTaskQueueSet _array_queue_set;
PreservedMarksSet _preserved_marks_set;
G1FullGCCompactionPoint _serial_compaction_point;
G1IsAliveClosure _is_alive;
ReferenceProcessorIsAliveMutator _is_alive_mutator;
G1RegionMarkStats* _live_stats;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.