Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp @ 17935:7384f6a12fc1
8038212: Method::is_valid_method() check has performance regression impact for stackwalking
Summary: Only prune metaspace virtual spaces at safepoint so walking them is safe outside a safepoint.
Reviewed-by: mgerdin, mgronlun, hseigel, stefank
author | coleenp |
---|---|
date | Thu, 15 May 2014 18:23:26 -0400 |
parents | 9fdaa79b0c27 |
children | 78bbf4d43a14 |
comparison
equal
deleted
inserted
replaced
17934:366c198c896d | 17935:7384f6a12fc1 |
---|---|
6361 } | 6361 } |
6362 verify_work_stacks_empty(); | 6362 verify_work_stacks_empty(); |
6363 verify_overflow_empty(); | 6363 verify_overflow_empty(); |
6364 | 6364 |
6365 if (should_unload_classes()) { | 6365 if (should_unload_classes()) { |
6366 ClassLoaderDataGraph::purge(); | 6366 // Delay purge to the beginning of the next safepoint. Metaspace::contains |
6367 // requires that the virtual spaces are stable and not deleted. | |
6368 ClassLoaderDataGraph::set_should_purge(true); | |
6367 } | 6369 } |
6368 | 6370 |
6369 _intra_sweep_timer.stop(); | 6371 _intra_sweep_timer.stop(); |
6370 _intra_sweep_estimate.sample(_intra_sweep_timer.seconds()); | 6372 _intra_sweep_estimate.sample(_intra_sweep_timer.seconds()); |
6371 | 6373 |