Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 22907:93a69595b807
8061630: G1 iterates over JNIHandles two times
Reviewed-by: mgerdin, brutisso
author | ehelin |
---|---|
date | Thu, 23 Oct 2014 11:43:29 +0200 |
parents | 8e9ede9dd2cd |
children | c3fcc09c9239 |
comparison
equal
deleted
inserted
replaced
22906:ad32e85474ff | 22907:93a69595b807 |
---|---|
5898 // as we may have to copy some 'reachable' referent | 5898 // as we may have to copy some 'reachable' referent |
5899 // objects (and their reachable sub-graphs) that were | 5899 // objects (and their reachable sub-graphs) that were |
5900 // not copied during the pause. | 5900 // not copied during the pause. |
5901 process_discovered_references(n_workers); | 5901 process_discovered_references(n_workers); |
5902 | 5902 |
5903 // Weak root processing. | 5903 if (G1StringDedup::is_enabled()) { |
5904 { | |
5905 G1STWIsAliveClosure is_alive(this); | 5904 G1STWIsAliveClosure is_alive(this); |
5906 G1KeepAliveClosure keep_alive(this); | 5905 G1KeepAliveClosure keep_alive(this); |
5907 JNIHandles::weak_oops_do(&is_alive, &keep_alive); | 5906 G1StringDedup::unlink_or_oops_do(&is_alive, &keep_alive); |
5908 if (G1StringDedup::is_enabled()) { | |
5909 G1StringDedup::unlink_or_oops_do(&is_alive, &keep_alive); | |
5910 } | |
5911 } | 5907 } |
5912 | 5908 |
5913 _allocator->release_gc_alloc_regions(n_workers, evacuation_info); | 5909 _allocator->release_gc_alloc_regions(n_workers, evacuation_info); |
5914 g1_rem_set()->cleanup_after_oops_into_collection_set_do(); | 5910 g1_rem_set()->cleanup_after_oops_into_collection_set_do(); |
5915 | 5911 |