8061630: G1 iterates over JNIHandles two times

Thu, 23 Oct 2014 11:43:29 +0200

author
ehelin
date
Thu, 23 Oct 2014 11:43:29 +0200
changeset 7657
93a69595b807
parent 7656
ad32e85474ff
child 7658
c3fcc09c9239

8061630: G1 iterates over JNIHandles two times
Reviewed-by: mgerdin, brutisso

src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Thu Aug 07 09:35:08 2014 +0200
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Thu Oct 23 11:43:29 2014 +0200
     1.3 @@ -5900,14 +5900,10 @@
     1.4    // not copied during the pause.
     1.5    process_discovered_references(n_workers);
     1.6  
     1.7 -  // Weak root processing.
     1.8 -  {
     1.9 +  if (G1StringDedup::is_enabled()) {
    1.10      G1STWIsAliveClosure is_alive(this);
    1.11      G1KeepAliveClosure keep_alive(this);
    1.12 -    JNIHandles::weak_oops_do(&is_alive, &keep_alive);
    1.13 -    if (G1StringDedup::is_enabled()) {
    1.14 -      G1StringDedup::unlink_or_oops_do(&is_alive, &keep_alive);
    1.15 -    }
    1.16 +    G1StringDedup::unlink_or_oops_do(&is_alive, &keep_alive);
    1.17    }
    1.18  
    1.19    _allocator->release_gc_alloc_regions(n_workers, evacuation_info);

mercurial