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