提交 04362522 编写于 作者: T twisti

6940520: CodeCache::scavenge_root_nmethods_do must fix oop relocations

Summary: ScavengeRootsInCode can lead to unfixed code-embedded oops.
Reviewed-by: kvn, never
上级 69b803f3
/* /*
* Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. * Copyright 1997-2010 Sun Microsystems, Inc. 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
...@@ -284,9 +284,11 @@ void CodeCache::scavenge_root_nmethods_do(CodeBlobClosure* f) { ...@@ -284,9 +284,11 @@ void CodeCache::scavenge_root_nmethods_do(CodeBlobClosure* f) {
cur->print_on(tty, is_live ? "scavenge root" : "dead scavenge root"); tty->cr(); cur->print_on(tty, is_live ? "scavenge root" : "dead scavenge root"); tty->cr();
} }
#endif //PRODUCT #endif //PRODUCT
if (is_live) if (is_live) {
// Perform cur->oops_do(f), maybe just once per nmethod. // Perform cur->oops_do(f), maybe just once per nmethod.
f->do_code_blob(cur); f->do_code_blob(cur);
cur->fix_oop_relocations();
}
} }
// Check for stray marks. // Check for stray marks.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册