提交 e8569102 编写于 作者: T tschatzl

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: NJeremy Manson <jeremymanson@google.com>
上级 8516dedb
/* /*
* 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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -466,10 +466,12 @@ bool PSScavenge::invoke_no_policy() { ...@@ -466,10 +466,12 @@ bool PSScavenge::invoke_no_policy() {
} }
} }
{
GCTraceTime tm("StringTable", false, false, &_gc_timer); GCTraceTime tm("StringTable", false, false, &_gc_timer);
// Unlink any dead interned Strings and process the remaining live ones. // Unlink any dead interned Strings and process the remaining live ones.
PSScavengeRootsClosure root_closure(promotion_manager); PSScavengeRootsClosure root_closure(promotion_manager);
StringTable::unlink_or_oops_do(&_is_alive_closure, &root_closure); StringTable::unlink_or_oops_do(&_is_alive_closure, &root_closure);
}
// Finally, flush the promotion_manager's labs, and deallocate its stacks. // Finally, flush the promotion_manager's labs, and deallocate its stacks.
promotion_failure_occurred = PSPromotionManager::post_scavenge(_gc_tracer); promotion_failure_occurred = PSPromotionManager::post_scavenge(_gc_tracer);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册