Mercurial > hg > truffle
diff src/share/vm/graal/graalCompiler.cpp @ 6950:41938af2b3d8
modifications to support non-perm-gen changes in HotSpot
fixed issue when intrinsifying Class.getModifiers() for primitive classes
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 14 Nov 2012 11:28:02 +0100 |
parents | e522a00b91aa |
children | 9ba90252ce08 |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompiler.cpp Mon Nov 12 23:37:12 2012 +0100 +++ b/src/share/vm/graal/graalCompiler.cpp Wed Nov 14 11:28:02 2012 +0100 @@ -241,12 +241,17 @@ } } -Handle GraalCompiler::get_JavaTypeFromClass(Handle javaClassHandle, TRAPS) { - if (java_lang_Class::is_primitive(javaClassHandle())) { - BasicType basicType = java_lang_Class::primitive_type(javaClassHandle()); +Handle GraalCompiler::get_JavaTypeFromClass(Handle java_class, TRAPS) { + oop graal_mirror = java_lang_Class::graal_mirror(java_class()); + if (graal_mirror != NULL) { + return graal_mirror; + } + + if (java_lang_Class::is_primitive(java_class())) { + BasicType basicType = java_lang_Class::primitive_type(java_class()); return VMToCompiler::createPrimitiveJavaType((int) basicType, THREAD); } else { - KlassHandle klass = java_lang_Class::as_Klass(javaClassHandle()); + KlassHandle klass = java_lang_Class::as_Klass(java_class()); Handle name = java_lang_String::create_from_symbol(klass->name(), CHECK_NULL); return GraalCompiler::createHotSpotResolvedJavaType(klass, name, CHECK_NULL); }