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;