Mercurial > hg > truffle
changeset 17633:04f1d5d36714
8027364: PSScavenge accounts too large code section to StringTable unlink
Summary: Correct timing measurement by modifying the scope of the GCTraceTime instance.
Reviewed-by: ysr, tamao
Contributed-by: Jeremy Manson <jeremymanson@google.com>
author | tschatzl |
---|---|
date | Tue, 07 Jan 2014 13:31:33 +0100 |
parents | 2604e2767d2c |
children | 5a32d2a3cc1e |
files | src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp |
diffstat | 1 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Tue Jan 21 08:58:31 2014 -0500 +++ b/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Tue Jan 07 13:31:33 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -466,10 +466,12 @@ } } - GCTraceTime tm("StringTable", false, false, &_gc_timer); - // Unlink any dead interned Strings and process the remaining live ones. - PSScavengeRootsClosure root_closure(promotion_manager); - StringTable::unlink_or_oops_do(&_is_alive_closure, &root_closure); + { + GCTraceTime tm("StringTable", false, false, &_gc_timer); + // Unlink any dead interned Strings and process the remaining live ones. + PSScavengeRootsClosure root_closure(promotion_manager); + StringTable::unlink_or_oops_do(&_is_alive_closure, &root_closure); + } // Finally, flush the promotion_manager's labs, and deallocate its stacks. promotion_failure_occurred = PSPromotionManager::post_scavenge(_gc_tracer);