6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops

Generate addresses and implicit null checks with narrow oops to avoid decoding.

Reviewed-by: jrose, never
This commit is contained in:
Vladimir Kozlov 2008-05-29 12:04:14 -07:00
parent 646ceb4a45
commit a1f50998ae
20 changed files with 138 additions and 81 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";)