src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/compile.cpp	Thu May 20 16:56:56 2010
--- new/src/share/vm/opto/compile.cpp	Thu May 20 16:56:56 2010

*** 2181,2191 **** --- 2181,2191 ---- Node* in1 = n->in(1); const Type* t = n->bottom_type(); Node* new_in1 = in1->clone(); new_in1->as_DecodeN()->set_type(t); ! if (!Matcher::clone_shift_expressions) { ! if (!Matcher::narrow_oop_use_complex_address()) { // // x86, ARM and friends can handle 2 adds in addressing mode // and Matcher can fold a DecodeN node into address by using // a narrow oop directly and do implicit NULL check in address: //
*** 2289,2299 **** --- 2289,2299 ---- case Op_DecodeN: assert(!n->in(1)->is_EncodeP(), "should be optimized out"); // DecodeN could be pinned on Sparc where it can't be fold into // an address expression, see the code for Op_CastPP above. ! assert(n->in(0) == NULL || !Matcher::clone_shift_expressions, "no control except on sparc"); ! assert(n->in(0) == NULL || !Matcher::narrow_oop_use_complex_address(), "no control except on sparc"); break; case Op_EncodeP: { Node* in1 = n->in(1); if (in1->is_DecodeN()) {

src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File