src/hotspot/cpu/ppc/macroAssembler_ppc.cpp
changeset 57514 9b6d4e64778c
parent 55322 bc5baf205475
child 57777 90ead0febf56
equal deleted inserted replaced
57513:6073b2290c0a 57514:9b6d4e64778c
  2038   }
  2038   }
  2039 
  2039 
  2040   bind(L_fallthrough);
  2040   bind(L_fallthrough);
  2041 }
  2041 }
  2042 
  2042 
  2043 void MacroAssembler::check_method_handle_type(Register mtype_reg, Register mh_reg,
       
  2044                                               Register temp_reg,
       
  2045                                               Label& wrong_method_type) {
       
  2046   assert_different_registers(mtype_reg, mh_reg, temp_reg);
       
  2047   // Compare method type against that of the receiver.
       
  2048   load_heap_oop(temp_reg, delayed_value(java_lang_invoke_MethodHandle::type_offset_in_bytes, temp_reg), mh_reg,
       
  2049                 noreg, noreg, false, IS_NOT_NULL);
       
  2050   cmpd(CCR0, temp_reg, mtype_reg);
       
  2051   bne(CCR0, wrong_method_type);
       
  2052 }
       
  2053 
       
  2054 RegisterOrConstant MacroAssembler::argument_offset(RegisterOrConstant arg_slot,
  2043 RegisterOrConstant MacroAssembler::argument_offset(RegisterOrConstant arg_slot,
  2055                                                    Register temp_reg,
  2044                                                    Register temp_reg,
  2056                                                    int extra_slot_offset) {
  2045                                                    int extra_slot_offset) {
  2057   // cf. TemplateTable::prepare_invoke(), if (load_receiver).
  2046   // cf. TemplateTable::prepare_invoke(), if (load_receiver).
  2058   int stackElementSize = Interpreter::stackElementSize;
  2047   int stackElementSize = Interpreter::stackElementSize;