comparison src/cpu/x86/vm/x86_64.ad @ 4121:db2e64ca2d5a

7090968: Allow adlc register class to depend on runtime conditions Summary: allow reg_class definition as a function. Reviewed-by: kvn, never
author roland
date Tue, 22 Nov 2011 09:45:57 +0100
parents 6729bbc1fcd6
children 127b3692c168
comparison
equal deleted inserted replaced
4120:f03a3c8bd5e5 4121:db2e64ca2d5a
2087 return false; 2087 return false;
2088 } 2088 }
2089 2089
2090 // Register for DIVI projection of divmodI 2090 // Register for DIVI projection of divmodI
2091 RegMask Matcher::divI_proj_mask() { 2091 RegMask Matcher::divI_proj_mask() {
2092 return INT_RAX_REG_mask; 2092 return INT_RAX_REG_mask();
2093 } 2093 }
2094 2094
2095 // Register for MODI projection of divmodI 2095 // Register for MODI projection of divmodI
2096 RegMask Matcher::modI_proj_mask() { 2096 RegMask Matcher::modI_proj_mask() {
2097 return INT_RDX_REG_mask; 2097 return INT_RDX_REG_mask();
2098 } 2098 }
2099 2099
2100 // Register for DIVL projection of divmodL 2100 // Register for DIVL projection of divmodL
2101 RegMask Matcher::divL_proj_mask() { 2101 RegMask Matcher::divL_proj_mask() {
2102 return LONG_RAX_REG_mask; 2102 return LONG_RAX_REG_mask();
2103 } 2103 }
2104 2104
2105 // Register for MODL projection of divmodL 2105 // Register for MODL projection of divmodL
2106 RegMask Matcher::modL_proj_mask() { 2106 RegMask Matcher::modL_proj_mask() {
2107 return LONG_RDX_REG_mask; 2107 return LONG_RDX_REG_mask();
2108 } 2108 }
2109 2109
2110 const RegMask Matcher::method_handle_invoke_SP_save_mask() { 2110 const RegMask Matcher::method_handle_invoke_SP_save_mask() {
2111 return PTR_RBP_REG_mask; 2111 return PTR_RBP_REG_mask();
2112 } 2112 }
2113 2113
2114 static Address build_address(int b, int i, int s, int d) { 2114 static Address build_address(int b, int i, int s, int d) {
2115 Register index = as_Register(i); 2115 Register index = as_Register(i);
2116 Address::ScaleFactor scale = (Address::ScaleFactor)s; 2116 Address::ScaleFactor scale = (Address::ScaleFactor)s;