8052170: G1 asserts at collection exit with -XX:-G1DeferredRSUpdate

Thu, 07 Aug 2014 22:28:16 +0200

author
tschatzl
date
Thu, 07 Aug 2014 22:28:16 +0200
changeset 7022
9b093813caa9
parent 7021
04d77ac27223
child 7023
a08bb8e45ba1

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

src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp file | annotate | diff | comparison | revisions
test/gc/g1/TestDeferredRSUpdate.java file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp	Thu Jul 31 09:23:24 2014 +0200
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp	Thu Aug 07 22:28:16 2014 +0200
     1.3 @@ -236,8 +236,10 @@
     1.4    _last_gc_worker_times_ms.verify();
     1.5    _last_gc_worker_other_times_ms.verify();
     1.6  
     1.7 -  _last_redirty_logged_cards_time_ms.verify();
     1.8 -  _last_redirty_logged_cards_processed_cards.verify();
     1.9 +  if (G1DeferredRSUpdate) {
    1.10 +    _last_redirty_logged_cards_time_ms.verify();
    1.11 +    _last_redirty_logged_cards_processed_cards.verify();
    1.12 +  }
    1.13  }
    1.14  
    1.15  void G1GCPhaseTimes::note_string_dedup_fixup_start() {
     2.1 --- a/test/gc/g1/TestDeferredRSUpdate.java	Thu Jul 31 09:23:24 2014 +0200
     2.2 +++ b/test/gc/g1/TestDeferredRSUpdate.java	Thu Aug 07 22:28:16 2014 +0200
     2.3 @@ -23,7 +23,7 @@
     2.4  
     2.5  /*
     2.6   * @test TestDeferredRSUpdate
     2.7 - * @bug 8040977
     2.8 + * @bug 8040977 8052170
     2.9   * @summary Ensure that running with -XX:-G1DeferredRSUpdate does not crash the VM
    2.10   * @key gc
    2.11   * @library /testlibrary
    2.12 @@ -38,6 +38,7 @@
    2.13  
    2.14      ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
    2.15                                                                "-Xmx10M",
    2.16 +                                                              "-XX:+PrintGCDetails",
    2.17                                                                // G1DeferredRSUpdate is a develop option, but we cannot limit execution of this test to only debug VMs.
    2.18                                                                "-XX:+IgnoreUnrecognizedVMOptions",
    2.19                                                                "-XX:-G1DeferredRSUpdate",

mercurial