Mercurial > hg > truffle
comparison src/share/vm/graal/graalCompiler.cpp @ 13479:606959535fd4
remove Graal mirror from Class
author | twisti |
---|---|
date | Wed, 25 Dec 2013 20:27:59 -0800 |
parents | e8c4a6ea3f77 |
children | 49db2c1e3bee |
comparison
equal
deleted
inserted
replaced
13478:fe03864a2c72 | 13479:606959535fd4 |
---|---|
227 KlassHandle klass = GraalEnv::get_klass_by_name(loading_klass, signature, false); | 227 KlassHandle klass = GraalEnv::get_klass_by_name(loading_klass, signature, false); |
228 if (klass.is_null()) { | 228 if (klass.is_null()) { |
229 Handle signature_string = java_lang_String::create_from_symbol(signature, CHECK_NH); | 229 Handle signature_string = java_lang_String::create_from_symbol(signature, CHECK_NH); |
230 return VMToCompiler::createUnresolvedJavaType(signature_string, CHECK_NH); | 230 return VMToCompiler::createUnresolvedJavaType(signature_string, CHECK_NH); |
231 } else { | 231 } else { |
232 return createHotSpotResolvedObjectType(klass, CHECK_NH); | 232 return VMToCompiler::createResolvedJavaType(klass->java_mirror(), CHECK_NH); |
233 } | 233 } |
234 } else { | 234 } else { |
235 return VMToCompiler::createPrimitiveJavaType(field_type, CHECK_NH); | 235 return VMToCompiler::createPrimitiveJavaType(field_type, CHECK_NH); |
236 } | 236 } |
237 } | 237 } |
250 MonitorLockerEx ml(cp->lock()); | 250 MonitorLockerEx ml(cp->lock()); |
251 constantTag tag = cp->tag_at(index); | 251 constantTag tag = cp->tag_at(index); |
252 if (tag.is_klass()) { | 252 if (tag.is_klass()) { |
253 // The klass has been inserted into the constant pool | 253 // The klass has been inserted into the constant pool |
254 // very recently. | 254 // very recently. |
255 return GraalCompiler::createHotSpotResolvedObjectType(cp->resolved_klass_at(index), CHECK_NH); | 255 return VMToCompiler::createResolvedJavaType(cp->resolved_klass_at(index)->java_mirror(), CHECK_NH); |
256 } else if (tag.is_symbol()) { | 256 } else if (tag.is_symbol()) { |
257 klass_name = cp->symbol_at(index); | 257 klass_name = cp->symbol_at(index); |
258 } else { | 258 } else { |
259 assert(cp->tag_at(index).is_unresolved_klass(), "wrong tag"); | 259 assert(cp->tag_at(index).is_unresolved_klass(), "wrong tag"); |
260 klass_name = cp->unresolved_klass_at(index); | 260 klass_name = cp->unresolved_klass_at(index); |
261 } | 261 } |
262 } | 262 } |
263 Handle klass_name_string = java_lang_String::create_from_symbol(klass_name, CHECK_NH); | 263 Handle klass_name_string = java_lang_String::create_from_symbol(klass_name, CHECK_NH); |
264 return VMToCompiler::createUnresolvedJavaType(klass_name_string, CHECK_NH); | 264 return VMToCompiler::createUnresolvedJavaType(klass_name_string, CHECK_NH); |
265 } else { | 265 } else { |
266 return GraalCompiler::createHotSpotResolvedObjectType(klass, CHECK_NH); | 266 return VMToCompiler::createResolvedJavaType(klass->java_mirror(), CHECK_NH); |
267 } | 267 } |
268 } | 268 } |
269 | 269 |
270 Handle GraalCompiler::get_JavaField(int offset, int flags, Symbol* field_name, Handle field_holder, Handle field_type, TRAPS) { | 270 Handle GraalCompiler::get_JavaField(int offset, int flags, Symbol* field_name, Handle field_holder, Handle field_type, TRAPS) { |
271 Handle name = java_lang_String::create_from_symbol(field_name, CHECK_NH); | 271 Handle name = java_lang_String::create_from_symbol(field_name, CHECK_NH); |
272 return VMToCompiler::createJavaField(field_holder, name, field_type, offset, flags, false, CHECK_NH); | 272 return VMToCompiler::createJavaField(field_holder, name, field_type, offset, flags, false, CHECK_NH); |
273 } | |
274 | |
275 Handle GraalCompiler::createHotSpotResolvedObjectType(KlassHandle klass, TRAPS) { | |
276 oop java_class = klass->java_mirror(); | |
277 oop graal_mirror = java_lang_Class::graal_mirror(java_class); | |
278 if (graal_mirror != NULL) { | |
279 assert(graal_mirror->is_a(HotSpotResolvedObjectType::klass()), "unexpected class..."); | |
280 return graal_mirror; | |
281 } | |
282 return VMToCompiler::createResolvedJavaType(java_class, CHECK_NH); | |
283 } | 273 } |
284 | 274 |
285 BasicType GraalCompiler::kindToBasicType(jchar ch) { | 275 BasicType GraalCompiler::kindToBasicType(jchar ch) { |
286 switch(ch) { | 276 switch(ch) { |
287 case 'z': return T_BOOLEAN; | 277 case 'z': return T_BOOLEAN; |