5,6c5,6 < # Node ID ad6d41b5d0b2e66331626d8cea3bf30ce0422976 < # Parent fb1d96dc936998ba7347e698e36d2ec1a38f8e8f --- > # Node ID bb2eff506faeca23b54d9f202d1770e5cb6b0a6a > # Parent c8abab7e535f8d497cfe752e156bdd2d1ec9f485 11,14c11,14 < diff -r fb1d96dc9369 -r ad6d41b5d0b2 src/share/vm/gc_implementation/g1/concurrentMark.cpp < --- a/src/share/vm/gc_implementation/g1/concurrentMark.cpp Wed Apr 15 11:23:06 2015 +0000 < +++ b/src/share/vm/gc_implementation/g1/concurrentMark.cpp Wed Apr 15 12:16:01 2015 -0400 < @@ -3394,22 +3394,29 @@ --- > diff --git a/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/src/share/vm/gc_implementation/g1/concurrentMark.cpp > --- a/src/share/vm/gc_implementation/g1/concurrentMark.cpp > +++ b/src/share/vm/gc_implementation/g1/concurrentMark.cpp > @@ -3510,22 +3510,29 @@ 47,50c47,50 < diff -r fb1d96dc9369 -r ad6d41b5d0b2 src/share/vm/gc_implementation/g1/concurrentMark.hpp < --- a/src/share/vm/gc_implementation/g1/concurrentMark.hpp Wed Apr 15 11:23:06 2015 +0000 < +++ b/src/share/vm/gc_implementation/g1/concurrentMark.hpp Wed Apr 15 12:16:01 2015 -0400 < @@ -1104,6 +1104,8 @@ --- > diff --git a/src/share/vm/gc_implementation/g1/concurrentMark.hpp b/src/share/vm/gc_implementation/g1/concurrentMark.hpp > --- a/src/share/vm/gc_implementation/g1/concurrentMark.hpp > +++ b/src/share/vm/gc_implementation/g1/concurrentMark.hpp > @@ -1112,6 +1112,8 @@ 59c59 < @@ -1156,7 +1158,7 @@ --- > @@ -1164,7 +1166,7 @@ 68,70c68,70 < diff -r fb1d96dc9369 -r ad6d41b5d0b2 src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp < --- a/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp Wed Apr 15 11:23:06 2015 +0000 < +++ b/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp Wed Apr 15 12:16:01 2015 -0400 --- > diff --git a/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp b/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp > --- a/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp > +++ b/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp 107,110c107,110 < diff -r fb1d96dc9369 -r ad6d41b5d0b2 src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp < --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Apr 15 11:23:06 2015 +0000 < +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Apr 15 12:16:01 2015 -0400 < @@ -1747,7 +1747,7 @@ --- > diff --git a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp > --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp > +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp > @@ -1853,7 +1853,7 @@ 119c119 < @@ -1941,8 +1941,14 @@ --- > @@ -2048,8 +2048,14 @@ 136c136 < @@ -2030,11 +2036,6 @@ --- > @@ -2141,11 +2147,6 @@ 148c148 < @@ -3417,12 +3418,6 @@ --- > @@ -3666,12 +3667,6 @@ 154c154 < - assert(region->is_starts_humongous(), "Must start a humongous object"); --- > - assert(region->startsHumongous(), "Must start a humongous object"); 161c161 < @@ -3430,14 +3425,59 @@ --- > @@ -3679,14 +3674,59 @@ 181c181 < assert(region->is_starts_humongous(), "Must start a humongous object"); --- > assert(region->startsHumongous(), "Must start a humongous object"); 228c228 < @@ -3453,14 +3493,17 @@ --- > @@ -3702,14 +3742,17 @@ 244c244 < + g1h->register_humongous_region_with_cset(rindex); --- > + g1h->register_humongous_region_with_in_cset_fast_test(rindex); 253c253 < @@ -3482,8 +3525,6 @@ --- > @@ -3726,8 +3769,6 @@ 257c257 < - g1h->register_humongous_region_with_cset(region_idx); --- > - g1h->register_humongous_region_with_in_cset_fast_test(region_idx); 262c262 < @@ -3503,6 +3544,7 @@ --- > @@ -3747,6 +3788,7 @@ 270c270 < @@ -3512,10 +3554,6 @@ --- > @@ -3756,10 +3798,6 @@ 281c281 < @@ -5977,11 +6015,11 @@ --- > @@ -6321,11 +6359,11 @@ 296c296 < @@ -5989,20 +6027,21 @@ --- > @@ -6333,20 +6371,21 @@ 323c323 < @@ -6010,8 +6049,8 @@ --- > @@ -6354,8 +6393,8 @@ 334,337c334,337 < diff -r fb1d96dc9369 -r ad6d41b5d0b2 src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp < --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Wed Apr 15 11:23:06 2015 +0000 < +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Wed Apr 15 12:16:01 2015 -0400 < @@ -220,7 +220,6 @@ --- > diff --git a/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp b/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp > --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp > +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp > @@ -233,7 +233,6 @@ 345c345 < @@ -290,22 +289,26 @@ --- > @@ -303,22 +302,26 @@ 379,381c379,381 < @@ -643,18 +646,15 @@ < void gc_prologue(bool full); < void gc_epilogue(bool full); --- > @@ -655,18 +658,15 @@ > virtual void gc_prologue(bool full); > virtual void gc_epilogue(bool full); 403c403 < inline void register_humongous_region_with_cset(uint index); --- > inline void register_humongous_region_with_in_cset_fast_test(uint index); 405,408c405,408 < diff -r fb1d96dc9369 -r ad6d41b5d0b2 src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp < --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp Wed Apr 15 11:23:06 2015 +0000 < +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp Wed Apr 15 12:16:01 2015 -0400 < @@ -352,20 +352,30 @@ --- > diff --git a/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp b/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp > --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp > +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp > @@ -348,20 +348,30 @@ 413c413 < + assert(_hrm.at(region)->is_starts_humongous(), "Must start a humongous object"); --- > + assert(_hrm.at(region)->startsHumongous(), "Must start a humongous object"); 418c418 < + assert(_hrm.at(region)->is_starts_humongous(), "Must start a humongous object"); --- > + assert(_hrm.at(region)->startsHumongous(), "Must start a humongous object"); 443,446c443,448 < diff -r fb1d96dc9369 -r ad6d41b5d0b2 test/TEST.groups < --- a/test/TEST.groups Wed Apr 15 11:23:06 2015 +0000 < +++ b/test/TEST.groups Wed Apr 15 12:16:01 2015 -0400 < @@ -394,6 +394,7 @@ --- > diff --git a/test/TEST.groups b/test/TEST.groups > --- a/test/TEST.groups > +++ b/test/TEST.groups > @@ -132,7 +132,8 @@ > sanity/ExecuteInternalVMTests.java > 448,456c450,459 < sanity/ExecuteInternalVMTests.java \ < gc/ \ < + -gc/g1/TestGreyReclaimedHumongousObjects.java \ < -gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java < < hotspot_gc_closed = \ < diff -r fb1d96dc9369 -r ad6d41b5d0b2 test/gc/g1/TestGreyReclaimedHumongousObjects.java < --- /dev/null Thu Jan 01 00:00:00 1970 +0000 < +++ b/test/gc/g1/TestGreyReclaimedHumongousObjects.java Wed Apr 15 12:16:01 2015 -0400 --- > - sanity/ExecuteInternalVMTests.java > + sanity/ExecuteInternalVMTests.java \ > + -gc/g1/TestGreyReclaimedHumongousObjects.java > > hotspot_runtime = \ > sanity/ExecuteInternalVMTests.java > diff --git a/test/gc/g1/TestGreyReclaimedHumongousObjects.java b/test/gc/g1/TestGreyReclaimedHumongousObjects.java > new file mode 100644 > --- /dev/null > +++ b/test/gc/g1/TestGreyReclaimedHumongousObjects.java