comparison src/share/vm/asm/register.hpp @ 6266:1d7922586cf6

7023639: JSR 292 method handle invocation needs a fast path for compiled code 6984705: JSR 292 method handle creation should not go through JNI Summary: remove assembly code for JDK 7 chained method handles Reviewed-by: jrose, twisti, kvn, mhaupt Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author twisti
date Tue, 24 Jul 2012 10:51:00 -0700
parents f95d63e2154a
children 2cb2f30450c7
comparison
equal deleted inserted replaced
6241:aba91a731143 6266:1d7922586cf6
101 AbstractRegister a, 101 AbstractRegister a,
102 AbstractRegister b 102 AbstractRegister b
103 ) { 103 ) {
104 assert( 104 assert(
105 a != b, 105 a != b,
106 "registers must be different" 106 err_msg("registers must be different: a=%d, b=%d",
107 a, b)
107 ); 108 );
108 } 109 }
109 110
110 111
111 inline void assert_different_registers( 112 inline void assert_different_registers(
114 AbstractRegister c 115 AbstractRegister c
115 ) { 116 ) {
116 assert( 117 assert(
117 a != b && a != c 118 a != b && a != c
118 && b != c, 119 && b != c,
119 "registers must be different" 120 err_msg("registers must be different: a=%d, b=%d, c=%d",
121 a, b, c)
120 ); 122 );
121 } 123 }
122 124
123 125
124 inline void assert_different_registers( 126 inline void assert_different_registers(
129 ) { 131 ) {
130 assert( 132 assert(
131 a != b && a != c && a != d 133 a != b && a != c && a != d
132 && b != c && b != d 134 && b != c && b != d
133 && c != d, 135 && c != d,
134 "registers must be different" 136 err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d",
137 a, b, c, d)
135 ); 138 );
136 } 139 }
137 140
138 141
139 inline void assert_different_registers( 142 inline void assert_different_registers(
146 assert( 149 assert(
147 a != b && a != c && a != d && a != e 150 a != b && a != c && a != d && a != e
148 && b != c && b != d && b != e 151 && b != c && b != d && b != e
149 && c != d && c != e 152 && c != d && c != e
150 && d != e, 153 && d != e,
151 "registers must be different" 154 err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d",
155 a, b, c, d, e)
152 ); 156 );
153 } 157 }
154 158
155 159
156 inline void assert_different_registers( 160 inline void assert_different_registers(
165 a != b && a != c && a != d && a != e && a != f 169 a != b && a != c && a != d && a != e && a != f
166 && b != c && b != d && b != e && b != f 170 && b != c && b != d && b != e && b != f
167 && c != d && c != e && c != f 171 && c != d && c != e && c != f
168 && d != e && d != f 172 && d != e && d != f
169 && e != f, 173 && e != f,
170 "registers must be different" 174 err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d",
175 a, b, c, d, e, f)
171 ); 176 );
172 } 177 }
173 178
174 179
175 inline void assert_different_registers( 180 inline void assert_different_registers(
186 && b != c && b != d && b != e && b != f && b != g 191 && b != c && b != d && b != e && b != f && b != g
187 && c != d && c != e && c != f && c != g 192 && c != d && c != e && c != f && c != g
188 && d != e && d != f && d != g 193 && d != e && d != f && d != g
189 && e != f && e != g 194 && e != f && e != g
190 && f != g, 195 && f != g,
191 "registers must be different" 196 err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d",
197 a, b, c, d, e, f, g)
192 ); 198 );
193 } 199 }
194 200
195 201
196 inline void assert_different_registers( 202 inline void assert_different_registers(
209 && c != d && c != e && c != f && c != g && c != h 215 && c != d && c != e && c != f && c != g && c != h
210 && d != e && d != f && d != g && d != h 216 && d != e && d != f && d != g && d != h
211 && e != f && e != g && e != h 217 && e != f && e != g && e != h
212 && f != g && f != h 218 && f != g && f != h
213 && g != h, 219 && g != h,
214 "registers must be different" 220 err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d",
221 a, b, c, d, e, f, g, h)
222 );
223 }
224
225
226 inline void assert_different_registers(
227 AbstractRegister a,
228 AbstractRegister b,
229 AbstractRegister c,
230 AbstractRegister d,
231 AbstractRegister e,
232 AbstractRegister f,
233 AbstractRegister g,
234 AbstractRegister h,
235 AbstractRegister i
236 ) {
237 assert(
238 a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i
239 && b != c && b != d && b != e && b != f && b != g && b != h && b != i
240 && c != d && c != e && c != f && c != g && c != h && c != i
241 && d != e && d != f && d != g && d != h && d != i
242 && e != f && e != g && e != h && e != i
243 && f != g && f != h && f != i
244 && g != h && g != i
245 && h != i,
246 err_msg("registers must be different: a=%d, b=%d, c=%d, d=%d, e=%d, f=%d, g=%d, h=%d, i=%d",
247 a, b, c, d, e, f, g, h, i)
215 ); 248 );
216 } 249 }
217 250
218 #endif // SHARE_VM_ASM_REGISTER_HPP 251 #endif // SHARE_VM_ASM_REGISTER_HPP