comparison src/share/vm/c1x/c1x_VMEntries.cpp @ 2215:999f8086cc4f

More changes to make it compile and work on win64.
author Thomas Wuerthinger <thomas.wuerthinger@gmail.com>
date Mon, 21 Feb 2011 20:44:57 +0100
parents 9569fdf936ff
children b966d9b66bf9
comparison
equal deleted inserted replaced
2214:30fd69882184 2215:999f8086cc4f
387 return instanceKlass::cast(thisKlass)->is_subtype_of(otherKlass); 387 return instanceKlass::cast(thisKlass)->is_subtype_of(otherKlass);
388 } else if (thisKlass->klass_part()->oop_is_array()) { 388 } else if (thisKlass->klass_part()->oop_is_array()) {
389 return arrayKlass::cast(thisKlass)->is_subtype_of(otherKlass); 389 return arrayKlass::cast(thisKlass)->is_subtype_of(otherKlass);
390 } else { 390 } else {
391 fatal("unexpected class type"); 391 fatal("unexpected class type");
392 return false;
392 } 393 }
393 } 394 }
394 395
395 // public RiType RiType_componentType(HotSpotResolvedType klass); 396 // public RiType RiType_componentType(HotSpotResolvedType klass);
396 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1componentType(JNIEnv *, jobject, jobject klass) { 397 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_1componentType(JNIEnv *, jobject, jobject klass) {
447 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_getPrimitiveArrayType(JNIEnv *env, jobject, jobject kind) { 448 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_getPrimitiveArrayType(JNIEnv *env, jobject, jobject kind) {
448 VM_ENTRY_MARK; 449 VM_ENTRY_MARK;
449 BasicType type = C1XCompiler::kindToBasicType(CiKind::typeChar(kind)); 450 BasicType type = C1XCompiler::kindToBasicType(CiKind::typeChar(kind));
450 assert(type != T_OBJECT, "primitive type expecteds"); 451 assert(type != T_OBJECT, "primitive type expecteds");
451 ciKlass* klass = ciTypeArrayKlass::make(type); 452 ciKlass* klass = ciTypeArrayKlass::make(type);
452 return JNIHandles::make_local(THREAD, C1XCompiler::get_RiType(klass, KlassHandle(NULL, THREAD), THREAD)); 453 return JNIHandles::make_local(THREAD, C1XCompiler::get_RiType(klass, KlassHandle(), THREAD));
453 } 454 }
454 455
455 // public RiType getType(Class<?> javaClass); 456 // public RiType getType(Class<?> javaClass);
456 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_getType(JNIEnv *env, jobject, jobject javaClass) { 457 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_getType(JNIEnv *env, jobject, jobject javaClass) {
457 VM_ENTRY_MARK; 458 VM_ENTRY_MARK;
458 oop javaClassOop = JNIHandles::resolve(javaClass); 459 oop javaClassOop = JNIHandles::resolve(javaClass);
459 if (javaClassOop == NULL) { 460 if (javaClassOop == NULL) {
460 fatal("argument to VMEntries.getType must not be NULL"); 461 fatal("argument to VMEntries.getType must not be NULL");
462 return NULL;
461 } else if (java_lang_Class::is_primitive(javaClassOop)) { 463 } else if (java_lang_Class::is_primitive(javaClassOop)) {
462 BasicType basicType = java_lang_Class::primitive_type(javaClassOop); 464 BasicType basicType = java_lang_Class::primitive_type(javaClassOop);
463 return JNIHandles::make_local(THREAD, VMExits::createRiTypePrimitive((int) basicType, THREAD)); 465 return JNIHandles::make_local(THREAD, VMExits::createRiTypePrimitive((int) basicType, THREAD));
464 } else { 466 } else {
465 KlassHandle klass = java_lang_Class::as_klassOop(javaClassOop); 467 KlassHandle klass = java_lang_Class::as_klassOop(javaClassOop);