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 } |