diff src/share/vm/graal/graalCompiler.cpp @ 6699:d79098b9db3b

Support for interfaces in the Graal API: Make interfaces implemented by a ResolvedJavaType available; change semantics of ResolvedJavaType.getSuperclass to return null for interfaces (to conform with java.lang.Class); change semantics of ResolvedJavaType.isInstanceClass to return false for interfaces.
author Christian Wimmer <christian.wimmer@oracle.com>
date Fri, 09 Nov 2012 17:15:13 -0800
parents d5f7e737827f
children e522a00b91aa
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompiler.cpp	Fri Nov 09 17:04:16 2012 -0800
+++ b/src/share/vm/graal/graalCompiler.cpp	Fri Nov 09 17:15:13 2012 -0800
@@ -286,7 +286,7 @@
   HotSpotResolvedJavaType::set_accessFlags(obj, klass->access_flags().as_int());
   HotSpotResolvedJavaType::set_isInterface(obj, klass->is_interface());
   HotSpotResolvedJavaType::set_superCheckOffset(obj, klass->super_check_offset());
-  HotSpotResolvedJavaType::set_isInstanceClass(obj, klass->oop_is_instance());
+  HotSpotResolvedJavaType::set_isInstanceClass(obj, klass->oop_is_instance() && !klass->is_interface());
 
   if (klass->oop_is_javaArray()) {
     HotSpotResolvedJavaType::set_isArrayClass(obj, true);