equal
deleted
inserted
replaced
646 return false; |
646 return false; |
647 } |
647 } |
648 |
648 |
649 |
649 |
650 //------------------------------Registers-------------------------------------- |
650 //------------------------------Registers-------------------------------------- |
651 const RegMask &MachCallNode::in_RegMask( uint idx ) const { |
651 const RegMask &MachCallNode::in_RegMask(uint idx) const { |
652 // Values in the domain use the users calling convention, embodied in the |
652 // Values in the domain use the users calling convention, embodied in the |
653 // _in_rms array of RegMasks. |
653 // _in_rms array of RegMasks. |
654 if (idx < tf()->domain()->cnt()) return _in_rms[idx]; |
654 if (idx < tf()->domain()->cnt()) { |
|
655 return _in_rms[idx]; |
|
656 } |
|
657 if (idx == mach_constant_base_node_input()) { |
|
658 return MachConstantBaseNode::static_out_RegMask(); |
|
659 } |
655 // Values outside the domain represent debug info |
660 // Values outside the domain represent debug info |
656 return *Compile::current()->matcher()->idealreg2debugmask[in(idx)->ideal_reg()]; |
661 return *Compile::current()->matcher()->idealreg2debugmask[in(idx)->ideal_reg()]; |
657 } |
662 } |
658 |
663 |
659 //============================================================================= |
664 //============================================================================= |
676 |
681 |
677 //------------------------------Registers-------------------------------------- |
682 //------------------------------Registers-------------------------------------- |
678 const RegMask &MachCallJavaNode::in_RegMask(uint idx) const { |
683 const RegMask &MachCallJavaNode::in_RegMask(uint idx) const { |
679 // Values in the domain use the users calling convention, embodied in the |
684 // Values in the domain use the users calling convention, embodied in the |
680 // _in_rms array of RegMasks. |
685 // _in_rms array of RegMasks. |
681 if (idx < tf()->domain()->cnt()) return _in_rms[idx]; |
686 if (idx < tf()->domain()->cnt()) { |
|
687 return _in_rms[idx]; |
|
688 } |
|
689 if (idx == mach_constant_base_node_input()) { |
|
690 return MachConstantBaseNode::static_out_RegMask(); |
|
691 } |
682 // Values outside the domain represent debug info |
692 // Values outside the domain represent debug info |
683 Matcher* m = Compile::current()->matcher(); |
693 Matcher* m = Compile::current()->matcher(); |
684 // If this call is a MethodHandle invoke we have to use a different |
694 // If this call is a MethodHandle invoke we have to use a different |
685 // debugmask which does not include the register we use to save the |
695 // debugmask which does not include the register we use to save the |
686 // SP over MH invokes. |
696 // SP over MH invokes. |