This commit is contained in:
Y. Srinivas Ramakrishna 2008-06-12 13:50:55 -07:00
commit ac061d0424
782 changed files with 51393 additions and 7280 deletions

View file

@ -458,7 +458,7 @@ bool PhaseMacroExpand::can_eliminate_allocation(AllocateNode *alloc, GrowableArr
}
} else if (use->is_SafePoint()) {
SafePointNode* sfpt = use->as_SafePoint();
if (sfpt->has_non_debug_use(res)) {
if (sfpt->is_Call() && sfpt->as_Call()->has_non_debug_use(res)) {
// Object is passed as argument.
DEBUG_ONLY(disq_node = use;)
NOT_PRODUCT(fail_eliminate = "Object is passed as argument";)
@ -1288,12 +1288,6 @@ PhaseMacroExpand::initialize_object(AllocateNode* alloc,
}
rawmem = make_store(control, rawmem, object, oopDesc::mark_offset_in_bytes(), mark_node, T_ADDRESS);
if (UseCompressedOops) {
Node *zeronode = makecon(TypeInt::ZERO);
// store uncompressed 0 into klass ptr to zero out gap. The gap is
// used for primitive fields and has to be zeroed.
rawmem = make_store(control, rawmem, object, oopDesc::klass_gap_offset_in_bytes(), zeronode, T_INT);
}
rawmem = make_store(control, rawmem, object, oopDesc::klass_offset_in_bytes(), klass_node, T_OBJECT);
int header_size = alloc->minimum_header_size(); // conservatively small