# HG changeset patch # User tschatzl # Date 1407443296 -7200 # Node ID e8ba50da0de0a914929ee4e59c1aef57b2dd0b3f # Parent 83ea089a5c640b06b3ff684ac269827c8ec7ceb9 8052170: G1 asserts at collection exit with -XX:-G1DeferredRSUpdate Summary: Do not try to verify timing measures for the redirty logged cards phase when it is not executed. Reviewed-by: brutisso, jmasa diff -r 83ea089a5c64 -r e8ba50da0de0 src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp --- a/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp Thu Jul 31 09:23:24 2014 +0200 +++ b/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp Thu Aug 07 22:28:16 2014 +0200 @@ -236,8 +236,10 @@ _last_gc_worker_times_ms.verify(); _last_gc_worker_other_times_ms.verify(); - _last_redirty_logged_cards_time_ms.verify(); - _last_redirty_logged_cards_processed_cards.verify(); + if (G1DeferredRSUpdate) { + _last_redirty_logged_cards_time_ms.verify(); + _last_redirty_logged_cards_processed_cards.verify(); + } } void G1GCPhaseTimes::note_string_dedup_fixup_start() { diff -r 83ea089a5c64 -r e8ba50da0de0 test/gc/g1/TestDeferredRSUpdate.java --- a/test/gc/g1/TestDeferredRSUpdate.java Thu Jul 31 09:23:24 2014 +0200 +++ b/test/gc/g1/TestDeferredRSUpdate.java Thu Aug 07 22:28:16 2014 +0200 @@ -23,7 +23,7 @@ /* * @test TestDeferredRSUpdate - * @bug 8040977 + * @bug 8040977 8052170 * @summary Ensure that running with -XX:-G1DeferredRSUpdate does not crash the VM * @key gc * @library /testlibrary @@ -38,6 +38,7 @@ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", "-Xmx10M", + "-XX:+PrintGCDetails", // G1DeferredRSUpdate is a develop option, but we cannot limit execution of this test to only debug VMs. "-XX:+IgnoreUnrecognizedVMOptions", "-XX:-G1DeferredRSUpdate",