hotspot/src/share/vm/opto/machnode.cpp
changeset 22850 4e69ce7e1101
parent 22847 603ad1f10e16
child 22853 308672304981
equal deleted inserted replaced
22849:b8670e920530 22850:4e69ce7e1101
   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.