1667 |
1667 |
1668 const RegMask Matcher::method_handle_invoke_SP_save_mask() { |
1668 const RegMask Matcher::method_handle_invoke_SP_save_mask() { |
1669 return PTR_RBP_REG_mask(); |
1669 return PTR_RBP_REG_mask(); |
1670 } |
1670 } |
1671 |
1671 |
1672 static Address build_address(int b, int i, int s, int d) { |
|
1673 Register index = as_Register(i); |
|
1674 Address::ScaleFactor scale = (Address::ScaleFactor)s; |
|
1675 if (index == rsp) { |
|
1676 index = noreg; |
|
1677 scale = Address::no_scale; |
|
1678 } |
|
1679 Address addr(as_Register(b), index, scale, d); |
|
1680 return addr; |
|
1681 } |
|
1682 |
|
1683 %} |
1672 %} |
1684 |
1673 |
1685 //----------ENCODING BLOCK----------------------------------------------------- |
1674 //----------ENCODING BLOCK----------------------------------------------------- |
1686 // This block specifies the encoding classes used by the compiler to |
1675 // This block specifies the encoding classes used by the compiler to |
1687 // output byte streams. Encoding classes are parameterized macros |
1676 // output byte streams. Encoding classes are parameterized macros |