diff options
author | jmasa <none@none> | 2012-12-03 15:09:39 -0800 |
---|---|---|
committer | jmasa <none@none> | 2012-12-03 15:09:39 -0800 |
commit | 6fc6f58ebc56b5c768ea52116b4c5e9fbb28520b (patch) | |
tree | 8396512fe797f6772a14946dc286f700a880d8bb /src/share/vm/memory/collectorPolicy.cpp | |
parent | 64f38a9e2a5df7aa14866d5c0c6257a79e856d8a (diff) |
8005082: NPG: Add specialized Metachunk sizes for reflection and anonymous classloaders
Reviewed-by: johnc, coleenp
Diffstat (limited to 'src/share/vm/memory/collectorPolicy.cpp')
-rw-r--r-- | src/share/vm/memory/collectorPolicy.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/collectorPolicy.cpp index c6eee674d..6857181a5 100644 --- a/src/share/vm/memory/collectorPolicy.cpp +++ b/src/share/vm/memory/collectorPolicy.cpp @@ -777,6 +777,15 @@ MetaWord* CollectorPolicy::satisfy_failed_metadata_allocation( full_gc_count, GCCause::_metadata_GC_threshold); VMThread::execute(&op); + + // If GC was locked out, try again. Check + // before checking success because the prologue + // could have succeeded and the GC still have + // been locked out. + if (op.gc_locked()) { + continue; + } + if (op.prologue_succeeded()) { return op.result(); } |