< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp

Print this page

        

*** 32,41 **** --- 32,42 ---- #include "gc/shenandoah/shenandoahHeap.hpp" #include "gc/shenandoah/shenandoahHeuristics.hpp" #include "gc/shenandoah/shenandoahPhaseTimings.hpp" #include "gc/shenandoah/shenandoahStringDedup.hpp" #include "gc/shenandoah/shenandoahTimingTracker.hpp" + #include "gc/shenandoah/shenandoahUtils.hpp" #include "gc/shenandoah/shenandoahVMOperations.hpp" #include "gc/shared/weakProcessor.inline.hpp" #include "memory/allocation.inline.hpp" #include "memory/iterator.hpp" #include "memory/resourceArea.hpp"
*** 58,80 **** ShenandoahSerialRoots::ShenandoahSerialRoots() : _universe_root(&Universe::oops_do, ShenandoahPhaseTimings::UniverseRoots), _object_synchronizer_root(&ObjectSynchronizer::oops_do, ShenandoahPhaseTimings::ObjectSynchronizerRoots), _management_root(&Management::oops_do, ShenandoahPhaseTimings::ManagementRoots), _system_dictionary_root(&SystemDictionary::oops_do, ShenandoahPhaseTimings::SystemDictionaryRoots), ! _jvmti_root(&JvmtiExport::oops_do, ShenandoahPhaseTimings::JVMTIRoots) { } void ShenandoahSerialRoots::oops_do(OopClosure* cl, uint worker_id) { _universe_root.oops_do(cl, worker_id); _object_synchronizer_root.oops_do(cl, worker_id); _management_root.oops_do(cl, worker_id); _system_dictionary_root.oops_do(cl, worker_id); _jvmti_root.oops_do(cl, worker_id); ! } ! ! ShenandoahJNIHandleRoots::ShenandoahJNIHandleRoots() : ! ShenandoahSerialRoot(&JNIHandles::oops_do, ShenandoahPhaseTimings::JNIRoots) { } ShenandoahThreadRoots::ShenandoahThreadRoots(bool is_par) : _is_par(is_par) { Threads::change_thread_claim_token(); } --- 59,79 ---- ShenandoahSerialRoots::ShenandoahSerialRoots() : _universe_root(&Universe::oops_do, ShenandoahPhaseTimings::UniverseRoots), _object_synchronizer_root(&ObjectSynchronizer::oops_do, ShenandoahPhaseTimings::ObjectSynchronizerRoots), _management_root(&Management::oops_do, ShenandoahPhaseTimings::ManagementRoots), _system_dictionary_root(&SystemDictionary::oops_do, ShenandoahPhaseTimings::SystemDictionaryRoots), ! _jvmti_root(&JvmtiExport::oops_do, ShenandoahPhaseTimings::JVMTIRoots), ! _jni_handle_root(&JNIHandles::oops_do, ShenandoahPhaseTimings::JNIRoots) { } void ShenandoahSerialRoots::oops_do(OopClosure* cl, uint worker_id) { _universe_root.oops_do(cl, worker_id); _object_synchronizer_root.oops_do(cl, worker_id); _management_root.oops_do(cl, worker_id); _system_dictionary_root.oops_do(cl, worker_id); _jvmti_root.oops_do(cl, worker_id); ! _jni_handle_root.oops_do(cl, worker_id); } ShenandoahThreadRoots::ShenandoahThreadRoots(bool is_par) : _is_par(is_par) { Threads::change_thread_claim_token(); }
*** 160,170 **** CLDToOopClosure* weak_clds = ShenandoahHeap::heap()->unload_classes() ? NULL : &clds; AlwaysTrueClosure always_true; _serial_roots.oops_do(oops, worker_id); - _jni_roots.oops_do(oops, worker_id); _thread_roots.oops_do(oops, NULL, worker_id); _cld_roots.clds_do(&clds, &clds, worker_id); _code_roots.code_blobs_do(&blobsCl, worker_id); --- 159,168 ----
*** 190,200 **** CodeBlobToOopClosure adjust_code_closure(oops, CodeBlobToOopClosure::FixRelocations); CLDToOopClosure adjust_cld_closure(oops, ClassLoaderData::_claim_strong); AlwaysTrueClosure always_true; _serial_roots.oops_do(oops, worker_id); - _jni_roots.oops_do(oops, worker_id); _thread_roots.oops_do(oops, NULL, worker_id); _cld_roots.clds_do(&adjust_cld_closure, NULL, worker_id); _code_roots.code_blobs_do(&adjust_code_closure, worker_id); --- 188,197 ----
< prev index next >