/* * Copyright (c) 2001, 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 Generation; class CardTableRS; class CardTableBarrierSet; class DefNewGeneration; class KlassRemSet; class Method; class nmethod;
#if INCLUDE_SERIALGC
// Super closure class for scanning DefNewGeneration. // // - Derived: The derived type provides necessary barrier // after an oop has been updated. template <typename Derived> class FastScanClosure : public BasicOopIterateClosure { private:
DefNewGeneration* _young_gen;
HeapWord* _young_gen_end;
// Closure for scanning DefNewGeneration when iterating over the old generation. // // This closure performs barrier store calls on pointers into the DefNewGeneration. class DefNewYoungerGenClosure : public FastScanClosure<DefNewYoungerGenClosure> { private:
Generation* _old_gen;
HeapWord* _old_gen_start;
CardTableRS* _rs;
// Closure for scanning DefNewGeneration when *not* iterating over the old generation. // // This closures records changes to oops in CLDs. class DefNewScanClosure : public FastScanClosure<DefNewScanClosure> {
ClassLoaderData* _scanned_cld;
// Closure for scanning DefNewGeneration's weak references. // -- weak references are processed all at once, // with no notion of which generation they were in. class ScanWeakRefClosure: public OopClosure { protected:
DefNewGeneration* _g;
HeapWord* _boundary; template <class T> inlinevoid do_oop_work(T* p); public:
ScanWeakRefClosure(DefNewGeneration* g); virtualvoid do_oop(oop* p); virtualvoid do_oop(narrowOop* p);
};
#endif// INCLUDE_SERIALGC
#endif// SHARE_GC_SHARED_GENOOPCLOSURES_HPP
Messung V0.5
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet)
¤
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.