< prev index next >

src/hotspot/share/prims/jni.cpp

Print this page
*** 967,11 ***
    HOTSPOT_JNI_ALLOCOBJECT_ENTRY(env, clazz);
  
    jobject ret = nullptr;
    DT_RETURN_MARK(AllocObject, jobject, (const jobject&)ret);
  
!   instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), CHECK_NULL);
    ret = JNIHandles::make_local(THREAD, i);
    return ret;
  JNI_END
  
  DT_RETURN_MARK_DECL(NewObjectA, jobject
--- 967,11 ---
    HOTSPOT_JNI_ALLOCOBJECT_ENTRY(env, clazz);
  
    jobject ret = nullptr;
    DT_RETURN_MARK(AllocObject, jobject, (const jobject&)ret);
  
!   instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), "jni", CHECK_NULL);
    ret = JNIHandles::make_local(THREAD, i);
    return ret;
  JNI_END
  
  DT_RETURN_MARK_DECL(NewObjectA, jobject

*** 981,11 ***
    HOTSPOT_JNI_NEWOBJECTA_ENTRY(env, clazz, (uintptr_t) methodID);
  
    jobject obj = nullptr;
    DT_RETURN_MARK(NewObjectA, jobject, (const jobject&)obj);
  
!   instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), CHECK_NULL);
    obj = JNIHandles::make_local(THREAD, i);
    JavaValue jvalue(T_VOID);
    JNI_ArgumentPusherArray ap(methodID, args);
    jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_NULL);
    return obj;
--- 981,11 ---
    HOTSPOT_JNI_NEWOBJECTA_ENTRY(env, clazz, (uintptr_t) methodID);
  
    jobject obj = nullptr;
    DT_RETURN_MARK(NewObjectA, jobject, (const jobject&)obj);
  
!   instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), "jni", CHECK_NULL);
    obj = JNIHandles::make_local(THREAD, i);
    JavaValue jvalue(T_VOID);
    JNI_ArgumentPusherArray ap(methodID, args);
    jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_NULL);
    return obj;

*** 999,11 ***
    HOTSPOT_JNI_NEWOBJECTV_ENTRY(env, clazz, (uintptr_t) methodID);
  
    jobject obj = nullptr;
    DT_RETURN_MARK(NewObjectV, jobject, (const jobject&)obj);
  
!   instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), CHECK_NULL);
    obj = JNIHandles::make_local(THREAD, i);
    JavaValue jvalue(T_VOID);
    JNI_ArgumentPusherVaArg ap(methodID, args);
    jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_NULL);
    return obj;
--- 999,11 ---
    HOTSPOT_JNI_NEWOBJECTV_ENTRY(env, clazz, (uintptr_t) methodID);
  
    jobject obj = nullptr;
    DT_RETURN_MARK(NewObjectV, jobject, (const jobject&)obj);
  
!   instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), "jni", CHECK_NULL);
    obj = JNIHandles::make_local(THREAD, i);
    JavaValue jvalue(T_VOID);
    JNI_ArgumentPusherVaArg ap(methodID, args);
    jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_NULL);
    return obj;

*** 1017,11 ***
    HOTSPOT_JNI_NEWOBJECT_ENTRY(env, clazz, (uintptr_t) methodID);
  
    jobject obj = nullptr;
    DT_RETURN_MARK(NewObject, jobject, (const jobject&)obj);
  
!   instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), CHECK_NULL);
    obj = JNIHandles::make_local(THREAD, i);
    va_list args;
    va_start(args, methodID);
    JavaValue jvalue(T_VOID);
    JNI_ArgumentPusherVaArg ap(methodID, args);
--- 1017,11 ---
    HOTSPOT_JNI_NEWOBJECT_ENTRY(env, clazz, (uintptr_t) methodID);
  
    jobject obj = nullptr;
    DT_RETURN_MARK(NewObject, jobject, (const jobject&)obj);
  
!   instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), "jni", CHECK_NULL);
    obj = JNIHandles::make_local(THREAD, i);
    va_list args;
    va_start(args, methodID);
    JavaValue jvalue(T_VOID);
    JNI_ArgumentPusherVaArg ap(methodID, args);
< prev index next >