744 } |
744 } |
745 } |
745 } |
746 if (nidx == Compile::AliasIdxBot && midx == Compile::AliasIdxTop) { |
746 if (nidx == Compile::AliasIdxBot && midx == Compile::AliasIdxTop) { |
747 switch (n->Opcode()) { |
747 switch (n->Opcode()) { |
748 case Op_StrComp: |
748 case Op_StrComp: |
|
749 case Op_StrEquals: |
|
750 case Op_StrIndexOf: |
749 case Op_AryEq: |
751 case Op_AryEq: |
750 case Op_MemBarVolatile: |
752 case Op_MemBarVolatile: |
751 case Op_MemBarCPUOrder: // %%% these ideals should have narrower adr_type? |
753 case Op_MemBarCPUOrder: // %%% these ideals should have narrower adr_type? |
752 nidx = Compile::AliasIdxTop; |
754 nidx = Compile::AliasIdxTop; |
753 nat = NULL; |
755 nat = NULL; |
1786 case Op_Jump: |
1788 case Op_Jump: |
1787 mstack.push(n->in(1), Visit); // Switch Value |
1789 mstack.push(n->in(1), Visit); // Switch Value |
1788 mstack.push(n->in(0), Pre_Visit); // Visit Control input |
1790 mstack.push(n->in(0), Pre_Visit); // Visit Control input |
1789 continue; // while (mstack.is_nonempty()) |
1791 continue; // while (mstack.is_nonempty()) |
1790 case Op_StrComp: |
1792 case Op_StrComp: |
|
1793 case Op_StrEquals: |
|
1794 case Op_StrIndexOf: |
1791 case Op_AryEq: |
1795 case Op_AryEq: |
1792 set_shared(n); // Force result into register (it will be anyways) |
1796 set_shared(n); // Force result into register (it will be anyways) |
1793 break; |
1797 break; |
1794 case Op_ConP: { // Convert pointers above the centerline to NUL |
1798 case Op_ConP: { // Convert pointers above the centerline to NUL |
1795 TypeNode *tn = n->as_Type(); // Constants derive from type nodes |
1799 TypeNode *tn = n->as_Type(); // Constants derive from type nodes |