src/cpu/x86/vm/methodHandles_x86.cpp

changeset 4052
75f33eecc1b3
parent 4037
da91efe96a93
child 4101
2cb2f30450c7
     1.1 --- a/src/cpu/x86/vm/methodHandles_x86.cpp	Tue Sep 11 16:20:57 2012 +0200
     1.2 +++ b/src/cpu/x86/vm/methodHandles_x86.cpp	Tue Sep 11 20:20:38 2012 -0400
     1.3 @@ -118,7 +118,7 @@
     1.4  void MethodHandles::jump_from_method_handle(MacroAssembler* _masm, Register method, Register temp,
     1.5                                              bool for_compiler_entry) {
     1.6    assert(method == rbx, "interpreter calling convention");
     1.7 -  __ verify_oop(method);
     1.8 +  __ verify_method_ptr(method);
     1.9  
    1.10    if (!for_compiler_entry && JvmtiExport::can_post_interpreter_events()) {
    1.11      Label run_compiled_code;
    1.12 @@ -358,7 +358,7 @@
    1.13          // load receiver klass itself
    1.14          __ null_check(receiver_reg, oopDesc::klass_offset_in_bytes());
    1.15          __ load_klass(temp1_recv_klass, receiver_reg);
    1.16 -        __ verify_oop(temp1_recv_klass);
    1.17 +        __ verify_klass_ptr(temp1_recv_klass);
    1.18        }
    1.19        BLOCK_COMMENT("check_receiver {");
    1.20        // The receiver for the MemberName must be in receiver_reg.
    1.21 @@ -366,14 +366,14 @@
    1.22        if (VerifyMethodHandles && iid == vmIntrinsics::_linkToSpecial) {
    1.23          // Did not load it above...
    1.24          __ load_klass(temp1_recv_klass, receiver_reg);
    1.25 -        __ verify_oop(temp1_recv_klass);
    1.26 +        __ verify_klass_ptr(temp1_recv_klass);
    1.27        }
    1.28        if (VerifyMethodHandles && iid != vmIntrinsics::_linkToInterface) {
    1.29          Label L_ok;
    1.30          Register temp2_defc = temp2;
    1.31          __ load_heap_oop(temp2_defc, member_clazz);
    1.32          load_klass_from_Class(_masm, temp2_defc);
    1.33 -        __ verify_oop(temp2_defc);
    1.34 +        __ verify_klass_ptr(temp2_defc);
    1.35          __ check_klass_subtype(temp1_recv_klass, temp2_defc, temp3, L_ok);
    1.36          // If we get here, the type check failed!
    1.37          __ STOP("receiver class disagrees with MemberName.clazz");
    1.38 @@ -451,7 +451,7 @@
    1.39        Register temp3_intf = temp3;
    1.40        __ load_heap_oop(temp3_intf, member_clazz);
    1.41        load_klass_from_Class(_masm, temp3_intf);
    1.42 -      __ verify_oop(temp3_intf);
    1.43 +      __ verify_klass_ptr(temp3_intf);
    1.44  
    1.45        Register rbx_index = rbx_method;
    1.46        __ movptr(rbx_index, member_vmindex);
    1.47 @@ -471,7 +471,7 @@
    1.48                                   temp2,
    1.49                                   L_no_such_interface);
    1.50  
    1.51 -      __ verify_oop(rbx_method);
    1.52 +      __ verify_method_ptr(rbx_method);
    1.53        jump_from_method_handle(_masm, rbx_method, temp2, for_compiler_entry);
    1.54        __ hlt();
    1.55  
    1.56 @@ -491,7 +491,7 @@
    1.57        // After figuring out which concrete method to call, jump into it.
    1.58        // Note that this works in the interpreter with no data motion.
    1.59        // But the compiled version will require that rcx_recv be shifted out.
    1.60 -      __ verify_oop(rbx_method);
    1.61 +      __ verify_method_ptr(rbx_method);
    1.62        jump_from_method_handle(_masm, rbx_method, temp1, for_compiler_entry);
    1.63      }
    1.64    }

mercurial