comparison src/share/vm/graal/graalCompiler.cpp @ 6442:45f682f7fea8

Add MetaAccessProvider.getResolvedJavaField to convert from reflection field to metadata field
author Christian Wimmer <christian.wimmer@oracle.com>
date Tue, 25 Sep 2012 09:23:45 -0700
parents cc402f4396f4
children d5f7e737827f
comparison
equal deleted inserted replaced
6441:460def61c04b 6442:45f682f7fea8
236 } else { 236 } else {
237 return GraalCompiler::get_JavaType(klass, CHECK_NULL); 237 return GraalCompiler::get_JavaType(klass, CHECK_NULL);
238 } 238 }
239 } 239 }
240 240
241 Handle GraalCompiler::get_JavaTypeFromClass(Handle javaClassHandle, TRAPS) {
242 if (java_lang_Class::is_primitive(javaClassHandle())) {
243 BasicType basicType = java_lang_Class::primitive_type(javaClassHandle());
244 return VMToCompiler::createPrimitiveJavaType((int) basicType, THREAD);
245 } else {
246 KlassHandle klass = java_lang_Class::as_klassOop(javaClassHandle());
247 Handle name = java_lang_String::create_from_symbol(klass->name(), CHECK_NULL);
248 return GraalCompiler::createHotSpotResolvedJavaType(klass, name, CHECK_NULL);
249 }
250 }
251
241 Handle GraalCompiler::get_JavaType(KlassHandle klass, TRAPS) { 252 Handle GraalCompiler::get_JavaType(KlassHandle klass, TRAPS) {
242 Handle name = VmIds::toString<Handle>(klass->name(), THREAD); 253 Handle name = VmIds::toString<Handle>(klass->name(), THREAD);
243 return createHotSpotResolvedJavaType(klass, name, CHECK_NULL); 254 return createHotSpotResolvedJavaType(klass, name, CHECK_NULL);
244 } 255 }
245 256
246 Handle GraalCompiler::get_JavaField(int offset, int flags, Symbol* field_name, Handle field_holder, Handle field_type, Bytecodes::Code byteCode, TRAPS) { 257 Handle GraalCompiler::get_JavaField(int offset, int flags, Symbol* field_name, Handle field_holder, Handle field_type, TRAPS) {
247 Handle name = VmIds::toString<Handle>(field_name, CHECK_NULL); 258 Handle name = VmIds::toString<Handle>(field_name, CHECK_NULL);
248 return VMToCompiler::createJavaField(field_holder, name, field_type, offset, flags, CHECK_NULL); 259 return VMToCompiler::createJavaField(field_holder, name, field_type, offset, flags, CHECK_NULL);
249 } 260 }
250 261
251 Handle GraalCompiler::createHotSpotResolvedJavaType(KlassHandle klass, Handle name, TRAPS) { 262 Handle GraalCompiler::createHotSpotResolvedJavaType(KlassHandle klass, Handle name, TRAPS) {