equal
deleted
inserted
replaced
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; |