src/share/vm/opto/matcher.cpp

Print this page




 926     case Op_Halt:
 927     case Op_TailCall:
 928     case Op_TailJump:
 929       nidx = Compile::AliasIdxBot;
 930       nat = TypePtr::BOTTOM;
 931       break;
 932     }
 933   }
 934   if (nidx == Compile::AliasIdxBot && midx == Compile::AliasIdxTop) {
 935     switch (n->Opcode()) {
 936     case Op_StrComp:
 937     case Op_StrEquals:
 938     case Op_StrIndexOf:
 939     case Op_StrIndexOfChar:
 940     case Op_AryEq:
 941     case Op_HasNegatives:
 942     case Op_MemBarVolatile:
 943     case Op_MemBarCPUOrder: // %%% these ideals should have narrower adr_type?
 944     case Op_StrInflatedCopy:
 945     case Op_StrCompressedCopy:

 946     case Op_EncodeISOArray:
 947       nidx = Compile::AliasIdxTop;
 948       nat = NULL;
 949       break;
 950     }
 951   }
 952   if (nidx != midx) {
 953     if (PrintOpto || (PrintMiscellaneous && (WizardMode || Verbose))) {
 954       tty->print_cr("==== Matcher alias shift %d => %d", nidx, midx);
 955       n->dump();
 956       m->dump();
 957     }
 958     assert(C->subsume_loads() && C->must_alias(nat, midx),
 959            "must not lose alias info when matching");
 960   }
 961 }
 962 #endif
 963 
 964 
 965 //------------------------------MStack-----------------------------------------




 926     case Op_Halt:
 927     case Op_TailCall:
 928     case Op_TailJump:
 929       nidx = Compile::AliasIdxBot;
 930       nat = TypePtr::BOTTOM;
 931       break;
 932     }
 933   }
 934   if (nidx == Compile::AliasIdxBot && midx == Compile::AliasIdxTop) {
 935     switch (n->Opcode()) {
 936     case Op_StrComp:
 937     case Op_StrEquals:
 938     case Op_StrIndexOf:
 939     case Op_StrIndexOfChar:
 940     case Op_AryEq:
 941     case Op_HasNegatives:
 942     case Op_MemBarVolatile:
 943     case Op_MemBarCPUOrder: // %%% these ideals should have narrower adr_type?
 944     case Op_StrInflatedCopy:
 945     case Op_StrCompressedCopy:
 946     case Op_OnSpinWait:
 947     case Op_EncodeISOArray:
 948       nidx = Compile::AliasIdxTop;
 949       nat = NULL;
 950       break;
 951     }
 952   }
 953   if (nidx != midx) {
 954     if (PrintOpto || (PrintMiscellaneous && (WizardMode || Verbose))) {
 955       tty->print_cr("==== Matcher alias shift %d => %d", nidx, midx);
 956       n->dump();
 957       m->dump();
 958     }
 959     assert(C->subsume_loads() && C->must_alias(nat, midx),
 960            "must not lose alias info when matching");
 961   }
 962 }
 963 #endif
 964 
 965 
 966 //------------------------------MStack-----------------------------------------