Mercurial > hg > truffle
comparison 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 |
comparison
equal
deleted
inserted
replaced
6698:f5715c5a106a | 6699:d79098b9db3b |
---|---|
284 HotSpotResolvedJavaType::set_javaMirror(obj, klass->java_mirror()); | 284 HotSpotResolvedJavaType::set_javaMirror(obj, klass->java_mirror()); |
285 HotSpotResolvedJavaType::set_simpleName(obj, name()); | 285 HotSpotResolvedJavaType::set_simpleName(obj, name()); |
286 HotSpotResolvedJavaType::set_accessFlags(obj, klass->access_flags().as_int()); | 286 HotSpotResolvedJavaType::set_accessFlags(obj, klass->access_flags().as_int()); |
287 HotSpotResolvedJavaType::set_isInterface(obj, klass->is_interface()); | 287 HotSpotResolvedJavaType::set_isInterface(obj, klass->is_interface()); |
288 HotSpotResolvedJavaType::set_superCheckOffset(obj, klass->super_check_offset()); | 288 HotSpotResolvedJavaType::set_superCheckOffset(obj, klass->super_check_offset()); |
289 HotSpotResolvedJavaType::set_isInstanceClass(obj, klass->oop_is_instance()); | 289 HotSpotResolvedJavaType::set_isInstanceClass(obj, klass->oop_is_instance() && !klass->is_interface()); |
290 | 290 |
291 if (klass->oop_is_javaArray()) { | 291 if (klass->oop_is_javaArray()) { |
292 HotSpotResolvedJavaType::set_isArrayClass(obj, true); | 292 HotSpotResolvedJavaType::set_isArrayClass(obj, true); |
293 } else { | 293 } else { |
294 int size = instanceKlass::cast(klass())->size_helper() * HeapWordSize; | 294 int size = instanceKlass::cast(klass())->size_helper() * HeapWordSize; |