--- ../src.9/6281.patch 2014-07-16 10:35:21.661219888 +0200 +++ webrev.8027553/webrev/src.8u.patch 2014-07-16 15:28:30.705434155 +0200 @@ -1,16 +1,6 @@ -# HG changeset patch -# User tschatzl -# Date 1397638526 -7200 -# Node ID ed06c8e187ad14bba58d88b5a35d215f0e355854 -# Parent 28b574c9e549ae00ff6b67e30a03bff6cd0b5a1f -8027553: Change the in_cset_fast_test functionality to use the G1BiasedArray abstraction -Summary: Instead of using a manually managed array for the in_cset_fast_test array, use a G1BiasedArray instance. -Reviewed-by: brutisso, mgerdin - -diff -r 28b574c9e549 -r ed06c8e187ad src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ---- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Apr 16 10:14:50 2014 +0200 -+++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Apr 16 10:55:26 2014 +0200 -@@ -1514,9 +1514,6 @@ +--- old/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2014-07-16 15:28:29.501420178 +0200 ++++ new/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2014-07-16 15:28:29.359418529 +0200 +@@ -1511,9 +1511,6 @@ assert(g1_policy()->collection_set() == NULL, "must be"); g1_policy()->start_incremental_cset_building(); @@ -20,7 +10,7 @@ clear_cset_fast_test(); init_mutator_alloc_region(); -@@ -1936,8 +1933,7 @@ +@@ -1933,8 +1930,7 @@ _old_marking_cycles_started(0), _old_marking_cycles_completed(0), _concurrent_cycle_started(false), @@ -30,7 +20,7 @@ _dirty_cards_region_list(NULL), _worker_cset_start_region(NULL), _worker_cset_start_region_time_stamp(NULL), -@@ -2079,20 +2075,7 @@ +@@ -2076,20 +2072,7 @@ _g1h = this; @@ -52,7 +42,7 @@ // Create the ConcurrentMark data structure and thread. // (Must do this late, so that "max_regions" is defined.) -@@ -4136,9 +4119,6 @@ +@@ -4145,9 +4128,6 @@ // Start a new incremental collection set for the next pause. g1_policy()->start_incremental_cset_building(); @@ -62,9 +52,8 @@ clear_cset_fast_test(); _young_list->reset_sampled_info(); -diff -r 28b574c9e549 -r ed06c8e187ad src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ---- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Wed Apr 16 10:14:50 2014 +0200 -+++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Wed Apr 16 10:55:26 2014 +0200 +--- old/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp 2014-07-16 15:28:30.126427433 +0200 ++++ new/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp 2014-07-16 15:28:30.030426318 +0200 @@ -28,6 +28,7 @@ #include "gc_implementation/g1/concurrentMark.hpp" #include "gc_implementation/g1/evacuationInfo.hpp" @@ -146,15 +135,14 @@ } // This is called at the start of either a concurrent cycle or a Full -diff -r 28b574c9e549 -r ed06c8e187ad src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ---- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp Wed Apr 16 10:14:50 2014 +0200 -+++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp Wed Apr 16 10:55:26 2014 +0200 -@@ -164,12 +164,7 @@ +--- old/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp 2014-07-16 15:28:30.689433970 +0200 ++++ new/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp 2014-07-16 15:28:30.596432890 +0200 +@@ -178,12 +178,7 @@ // collection set or not. Assume that the reference // points into the heap. inline bool G1CollectedHeap::in_cset_fast_test(oop obj) { - assert(_in_cset_fast_test != NULL, "sanity"); -- assert(_g1_committed.contains((HeapWord*) obj), err_msg("Given reference outside of heap, is "PTR_FORMAT, (HeapWord*)obj)); +- assert(_g1_committed.contains((HeapWord*) obj), err_msg("Given reference outside of heap, is "PTR_FORMAT, p2i((HeapWord*)obj))); - // no need to subtract the bottom of the heap from obj, - // _in_cset_fast_test is biased - uintx index = cast_from_oop(obj) >> HeapRegion::LogOfHRGrainBytes;