Mercurial > hg > graal-compiler
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 |