Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp @ 22294:d86b226e331a
Enable derived oop processing by the GC with JVMCI
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Tue, 21 Jul 2015 15:00:07 -0700 |
parents | 7848fc12602b |
children | c28cb37b2e1d |
comparison
equal
deleted
inserted
replaced
22272:b6d504612b3f | 22294:d86b226e331a |
---|---|
1066 | 1066 |
1067 Threads::gc_epilogue(); | 1067 Threads::gc_epilogue(); |
1068 CodeCache::gc_epilogue(); | 1068 CodeCache::gc_epilogue(); |
1069 JvmtiExport::gc_epilogue(); | 1069 JvmtiExport::gc_epilogue(); |
1070 | 1070 |
1071 COMPILER2_PRESENT(DerivedPointerTable::update_pointers()); | 1071 #if defined(COMPILER2) || defined(JVMCI) |
1072 DerivedPointerTable::update_pointers(); | |
1073 #endif | |
1072 | 1074 |
1073 ref_processor()->enqueue_discovered_references(NULL); | 1075 ref_processor()->enqueue_discovered_references(NULL); |
1074 | 1076 |
1075 if (ZapUnusedHeapArea) { | 1077 if (ZapUnusedHeapArea) { |
1076 heap->gen_mangle_unused_area(); | 1078 heap->gen_mangle_unused_area(); |
2066 size_policy->major_collection_begin(); | 2068 size_policy->major_collection_begin(); |
2067 | 2069 |
2068 CodeCache::gc_prologue(); | 2070 CodeCache::gc_prologue(); |
2069 Threads::gc_prologue(); | 2071 Threads::gc_prologue(); |
2070 | 2072 |
2071 COMPILER2_PRESENT(DerivedPointerTable::clear()); | 2073 #if defined(COMPILER2) || defined(JVMCI) |
2074 DerivedPointerTable::clear(); | |
2075 #endif | |
2072 | 2076 |
2073 ref_processor()->enable_discovery(true /*verify_disabled*/, true /*verify_no_refs*/); | 2077 ref_processor()->enable_discovery(true /*verify_disabled*/, true /*verify_no_refs*/); |
2074 ref_processor()->setup_policy(maximum_heap_compaction); | 2078 ref_processor()->setup_policy(maximum_heap_compaction); |
2075 | 2079 |
2076 bool marked_for_unloading = false; | 2080 bool marked_for_unloading = false; |
2080 | 2084 |
2081 bool max_on_system_gc = UseMaximumCompactionOnSystemGC | 2085 bool max_on_system_gc = UseMaximumCompactionOnSystemGC |
2082 && gc_cause == GCCause::_java_lang_system_gc; | 2086 && gc_cause == GCCause::_java_lang_system_gc; |
2083 summary_phase(vmthread_cm, maximum_heap_compaction || max_on_system_gc); | 2087 summary_phase(vmthread_cm, maximum_heap_compaction || max_on_system_gc); |
2084 | 2088 |
2085 COMPILER2_PRESENT(assert(DerivedPointerTable::is_active(), "Sanity")); | 2089 #if defined(COMPILER2) || defined(JVMCI) |
2086 COMPILER2_PRESENT(DerivedPointerTable::set_active(false)); | 2090 assert(DerivedPointerTable::is_active(), "Sanity"); |
2091 DerivedPointerTable::set_active(false); | |
2092 #endif | |
2087 | 2093 |
2088 // adjust_roots() updates Universe::_intArrayKlassObj which is | 2094 // adjust_roots() updates Universe::_intArrayKlassObj which is |
2089 // needed by the compaction for filling holes in the dense prefix. | 2095 // needed by the compaction for filling holes in the dense prefix. |
2090 adjust_roots(); | 2096 adjust_roots(); |
2091 | 2097 |