Mercurial > hg > truffle
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; |