Mercurial > hg > truffle
comparison src/share/vm/graal/graalVMEntries.cpp @ 3700:b5c649e4e700
Merge.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 24 Nov 2011 17:45:38 +0100 |
parents | 67e92894d065 872e949a0827 |
children | 713131edb435 |
comparison
equal
deleted
inserted
replaced
3699:67e92894d065 | 3700:b5c649e4e700 |
---|---|
674 // public RiType RiType_componentType(HotSpotResolvedType klass); | 674 // public RiType RiType_componentType(HotSpotResolvedType klass); |
675 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1componentType(JNIEnv *, jobject, jobject klass) { | 675 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1componentType(JNIEnv *, jobject, jobject klass) { |
676 TRACE_graal_3("VMEntries::RiType_componentType"); | 676 TRACE_graal_3("VMEntries::RiType_componentType"); |
677 VM_ENTRY_MARK; | 677 VM_ENTRY_MARK; |
678 KlassHandle array_klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass)); | 678 KlassHandle array_klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass)); |
679 if(array_klass->oop_is_typeArray()) { | |
680 BasicType t = typeArrayKlass::cast(array_klass())->element_type(); | |
681 oop primitive_type = VMExits::createRiTypePrimitive((int) t, CHECK_NULL); | |
682 return JNIHandles::make_local(primitive_type); | |
683 } | |
679 assert(array_klass->oop_is_objArray(), "just checking"); | 684 assert(array_klass->oop_is_objArray(), "just checking"); |
680 klassOop element_type = objArrayKlass::cast(array_klass())->element_klass(); | 685 klassOop element_type = objArrayKlass::cast(array_klass())->element_klass(); |
681 assert(JNIHandles::resolve(klass) != NULL, ""); | 686 assert(JNIHandles::resolve(klass) != NULL, ""); |
682 return JNIHandles::make_local(GraalCompiler::get_RiType(element_type, THREAD)()); | 687 return JNIHandles::make_local(GraalCompiler::get_RiType(element_type, THREAD)()); |
683 } | 688 } |