--- old/src/share/vm/gc/parallel/parallelScavengeHeap.cpp 2017-04-25 16:44:50.763174644 +0200 +++ new/src/share/vm/gc/parallel/parallelScavengeHeap.cpp 2017-04-25 16:44:50.619174649 +0200 @@ -25,7 +25,6 @@ #include "precompiled.hpp" #include "gc/parallel/adjoiningGenerations.hpp" #include "gc/parallel/adjoiningVirtualSpaces.hpp" -#include "gc/parallel/cardTableExtension.hpp" #include "gc/parallel/gcTaskManager.hpp" #include "gc/parallel/generationSizer.hpp" #include "gc/parallel/objectStartArray.inline.hpp" @@ -69,7 +68,9 @@ initialize_reserved_region((HeapWord*)heap_rs.base(), (HeapWord*)(heap_rs.base() + heap_rs.size())); - CardTableExtension* const barrier_set = new CardTableExtension(reserved_region()); + PSCardTable* card_table = new PSCardTable(reserved_region()); + card_table->initialize(); + CardTableModRefBS* const barrier_set = new CardTableModRefBS(card_table); barrier_set->initialize(); set_barrier_set(barrier_set); @@ -463,13 +464,6 @@ CollectedHeap::resize_all_tlabs(); } -bool ParallelScavengeHeap::can_elide_initializing_store_barrier(oop new_obj) { - // We don't need barriers for stores to objects in the - // young gen and, a fortiori, for initializing stores to - // objects therein. - return is_in_young(new_obj); -} - // This method is used by System.gc() and JVMTI. void ParallelScavengeHeap::collect(GCCause::Cause cause) { assert(!Heap_lock->owned_by_self(),