src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp
changeset 58273 08a5148e7c4e
parent 57710 05ff6e27de45
child 58554 8c3c39710a08
equal deleted inserted replaced
58272:e27564cd10e3 58273:08a5148e7c4e
  1814                             const BasicType* sig_bt,
  1814                             const BasicType* sig_bt,
  1815                             const VMRegPair* regs) {
  1815                             const VMRegPair* regs) {
  1816   Register temp_reg = rbx;  // not part of any compiled calling seq
  1816   Register temp_reg = rbx;  // not part of any compiled calling seq
  1817   if (VerifyOops) {
  1817   if (VerifyOops) {
  1818     for (int i = 0; i < method->size_of_parameters(); i++) {
  1818     for (int i = 0; i < method->size_of_parameters(); i++) {
  1819       if (sig_bt[i] == T_OBJECT ||
  1819       if (is_reference_type(sig_bt[i])) {
  1820           sig_bt[i] == T_ARRAY) {
       
  1821         VMReg r = regs[i].first();
  1820         VMReg r = regs[i].first();
  1822         assert(r->is_valid(), "bad oop arg");
  1821         assert(r->is_valid(), "bad oop arg");
  1823         if (r->is_stack()) {
  1822         if (r->is_stack()) {
  1824           __ movptr(temp_reg, Address(rsp, r->reg2stack() * VMRegImpl::stack_slot_size + wordSize));
  1823           __ movptr(temp_reg, Address(rsp, r->reg2stack() * VMRegImpl::stack_slot_size + wordSize));
  1825           __ verify_oop(temp_reg);
  1824           __ verify_oop(temp_reg);
  2715   }
  2714   }
  2716 
  2715 
  2717   __ reset_last_Java_frame(false);
  2716   __ reset_last_Java_frame(false);
  2718 
  2717 
  2719   // Unbox oop result, e.g. JNIHandles::resolve value.
  2718   // Unbox oop result, e.g. JNIHandles::resolve value.
  2720   if (ret_type == T_OBJECT || ret_type == T_ARRAY) {
  2719   if (is_reference_type(ret_type)) {
  2721     __ resolve_jobject(rax /* value */,
  2720     __ resolve_jobject(rax /* value */,
  2722                        r15_thread /* thread */,
  2721                        r15_thread /* thread */,
  2723                        rcx /* tmp */);
  2722                        rcx /* tmp */);
  2724   }
  2723   }
  2725 
  2724