comparison src/share/vm/opto/macro.cpp @ 344:6aae2f9d0294

Merge
author ysr
date Thu, 12 Jun 2008 13:50:55 -0700
parents 37f87013dfd8 7793bd37a336
children 73278b62f36c
comparison
equal deleted inserted replaced
342:37f87013dfd8 344:6aae2f9d0294
456 can_eliminate = false; 456 can_eliminate = false;
457 } 457 }
458 } 458 }
459 } else if (use->is_SafePoint()) { 459 } else if (use->is_SafePoint()) {
460 SafePointNode* sfpt = use->as_SafePoint(); 460 SafePointNode* sfpt = use->as_SafePoint();
461 if (sfpt->has_non_debug_use(res)) { 461 if (sfpt->is_Call() && sfpt->as_Call()->has_non_debug_use(res)) {
462 // Object is passed as argument. 462 // Object is passed as argument.
463 DEBUG_ONLY(disq_node = use;) 463 DEBUG_ONLY(disq_node = use;)
464 NOT_PRODUCT(fail_eliminate = "Object is passed as argument";) 464 NOT_PRODUCT(fail_eliminate = "Object is passed as argument";)
465 can_eliminate = false; 465 can_eliminate = false;
466 } 466 }
1286 } else { 1286 } else {
1287 mark_node = makecon(TypeRawPtr::make((address)markOopDesc::prototype())); 1287 mark_node = makecon(TypeRawPtr::make((address)markOopDesc::prototype()));
1288 } 1288 }
1289 rawmem = make_store(control, rawmem, object, oopDesc::mark_offset_in_bytes(), mark_node, T_ADDRESS); 1289 rawmem = make_store(control, rawmem, object, oopDesc::mark_offset_in_bytes(), mark_node, T_ADDRESS);
1290 1290
1291 if (UseCompressedOops) {
1292 Node *zeronode = makecon(TypeInt::ZERO);
1293 // store uncompressed 0 into klass ptr to zero out gap. The gap is
1294 // used for primitive fields and has to be zeroed.
1295 rawmem = make_store(control, rawmem, object, oopDesc::klass_gap_offset_in_bytes(), zeronode, T_INT);
1296 }
1297 rawmem = make_store(control, rawmem, object, oopDesc::klass_offset_in_bytes(), klass_node, T_OBJECT); 1291 rawmem = make_store(control, rawmem, object, oopDesc::klass_offset_in_bytes(), klass_node, T_OBJECT);
1298 int header_size = alloc->minimum_header_size(); // conservatively small 1292 int header_size = alloc->minimum_header_size(); // conservatively small
1299 1293
1300 // Array length 1294 // Array length
1301 if (length != NULL) { // Arrays need length field 1295 if (length != NULL) { // Arrays need length field