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