src/cpu/x86/vm/sharedRuntime_x86_32.cpp

changeset 9669
32bc598624bd
parent 8997
f8a45a60bc6b
child 9703
2fdf635bcf28
     1.1 --- a/src/cpu/x86/vm/sharedRuntime_x86_32.cpp	Thu Nov 05 11:42:42 2015 +0100
     1.2 +++ b/src/cpu/x86/vm/sharedRuntime_x86_32.cpp	Tue May 07 20:38:26 2019 +0000
     1.3 @@ -2253,14 +2253,11 @@
     1.4  
     1.5    __ reset_last_Java_frame(thread, false);
     1.6  
     1.7 -  // Unpack oop result
     1.8 +  // Unbox oop result, e.g. JNIHandles::resolve value.
     1.9    if (ret_type == T_OBJECT || ret_type == T_ARRAY) {
    1.10 -      Label L;
    1.11 -      __ cmpptr(rax, (int32_t)NULL_WORD);
    1.12 -      __ jcc(Assembler::equal, L);
    1.13 -      __ movptr(rax, Address(rax, 0));
    1.14 -      __ bind(L);
    1.15 -      __ verify_oop(rax);
    1.16 +    __ resolve_jobject(rax /* value */,
    1.17 +                       thread /* thread */,
    1.18 +                       rcx /* tmp */);
    1.19    }
    1.20  
    1.21    if (!is_critical_native) {

mercurial