8046231: G1: Code root location ... from nmethod ... not in strong code roots for region

Reviewed-by: tschatzl, ehelin
This commit is contained in:
Per Lidén 2014-06-23 16:43:41 +02:00
parent 8e7c8f1d88
commit d0e17d1ff0
2 changed files with 13 additions and 7 deletions

View file

@ -669,8 +669,10 @@ nmethod::nmethod(
_hotness_counter = NMethodSweeper::hotness_counter_reset_val();
code_buffer->copy_values_to(this);
if (ScavengeRootsInCode && detect_scavenge_root_oops()) {
if (ScavengeRootsInCode) {
if (detect_scavenge_root_oops()) {
CodeCache::add_scavenge_root_nmethod(this);
}
Universe::heap()->register_nmethod(this);
}
debug_only(verify_scavenge_root_oops());
@ -754,8 +756,10 @@ nmethod::nmethod(
_hotness_counter = NMethodSweeper::hotness_counter_reset_val();
code_buffer->copy_values_to(this);
if (ScavengeRootsInCode && detect_scavenge_root_oops()) {
if (ScavengeRootsInCode) {
if (detect_scavenge_root_oops()) {
CodeCache::add_scavenge_root_nmethod(this);
}
Universe::heap()->register_nmethod(this);
}
DEBUG_ONLY(verify_scavenge_root_oops();)
@ -870,8 +874,10 @@ nmethod::nmethod(
code_buffer->copy_values_to(this);
debug_info->copy_to(this);
dependencies->copy_to(this);
if (ScavengeRootsInCode && detect_scavenge_root_oops()) {
if (ScavengeRootsInCode) {
if (detect_scavenge_root_oops()) {
CodeCache::add_scavenge_root_nmethod(this);
}
Universe::heap()->register_nmethod(this);
}
debug_only(verify_scavenge_root_oops());

View file

@ -6995,7 +6995,7 @@ public:
return;
}
if (ScavengeRootsInCode && nm->detect_scavenge_root_oops()) {
if (ScavengeRootsInCode) {
_g1h->register_nmethod(nm);
}
}