src/share/vm/opto/matcher.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
6954029 Cdiff src/share/vm/opto/matcher.cpp
src/share/vm/opto/matcher.cpp
Print this page
*** 1332,1342 ****
break; // m->in(0)? If so, we can use it
}
if( j == max_scan ) // No post-domination before scan end?
return true; // Then break the match tree up
}
! if (m->is_DecodeN() && Matcher::clone_shift_expressions) {
// These are commonly used in address expressions and can
// efficiently fold into them on X64 in some cases.
return false;
}
}
--- 1332,1342 ----
break; // m->in(0)? If so, we can use it
}
if( j == max_scan ) // No post-domination before scan end?
return true; // Then break the match tree up
}
! if (m->is_DecodeN() && Matcher::narrow_oop_use_complex_address()) {
// These are commonly used in address expressions and can
// efficiently fold into them on X64 in some cases.
return false;
}
}
*** 2108,2119 ****
}
if( push_it ) {
_null_check_tests.push(proj);
Node* val = cmp->in(1);
#ifdef _LP64
! if (UseCompressedOops && !Matcher::clone_shift_expressions &&
! val->bottom_type()->isa_narrowoop()) {
//
// Look for DecodeN node which should be pinned to orig_proj.
// On platforms (Sparc) which can not handle 2 adds
// in addressing mode we have to keep a DecodeN node and
// use it to do implicit NULL check in address.
--- 2108,2119 ----
}
if( push_it ) {
_null_check_tests.push(proj);
Node* val = cmp->in(1);
#ifdef _LP64
! if (val->bottom_type()->isa_narrowoop() &&
! !Matcher::narrow_oop_use_complex_address()) {
//
// Look for DecodeN node which should be pinned to orig_proj.
// On platforms (Sparc) which can not handle 2 adds
// in addressing mode we have to keep a DecodeN node and
// use it to do implicit NULL check in address.
src/share/vm/opto/matcher.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File