< prev index next >
src/share/vm/opto/parse3.cpp
Print this page
*** 311,323 ****
set_wrote_stable(true);
}
// Preserve allocation ptr to create precedent edge to it in membar
// generated on exit from constructor.
! if (C->eliminate_boxing() &&
! adr_type->isa_oopptr() && adr_type->is_oopptr()->is_ptr_to_boxed_value() &&
! AllocateNode::Ideal_allocation(obj, &_gvn) != NULL) {
set_alloc_with_final(obj);
}
}
}
--- 311,322 ----
set_wrote_stable(true);
}
// Preserve allocation ptr to create precedent edge to it in membar
// generated on exit from constructor.
! // can't bind stable with its allocation, only record allocation for final field.
! if (field->is_final() && AllocateNode::Ideal_allocation(obj, &_gvn) != NULL) {
set_alloc_with_final(obj);
}
}
}
< prev index next >