equal
deleted
inserted
replaced
156 __ ldr(PC, Address(Rmethod, Method::from_compiled_offset())); |
156 __ ldr(PC, Address(Rmethod, Method::from_compiled_offset())); |
157 #endif // AARCH64 |
157 #endif // AARCH64 |
158 |
158 |
159 __ bind(L_no_such_interface); |
159 __ bind(L_no_such_interface); |
160 |
160 |
161 assert(StubRoutines::throw_IncompatibleClassChangeError_entry() != NULL, "check initialization order"); |
161 // Handle IncompatibleClassChangeError in itable stubs. |
162 __ jump(StubRoutines::throw_IncompatibleClassChangeError_entry(), relocInfo::runtime_call_type, Rtemp); |
162 // More detailed error message. |
|
163 // We force resolving of the call site by jumping to the "handle |
|
164 // wrong method" stub, and so let the interpreter runtime do all the |
|
165 // dirty work. |
|
166 assert(SharedRuntime::get_handle_wrong_method_stub() != NULL, "check initialization order"); |
|
167 __ jump(SharedRuntime::get_handle_wrong_method_stub(), relocInfo::runtime_call_type, Rtemp); |
163 |
168 |
164 masm->flush(); |
169 masm->flush(); |
165 |
170 |
166 if (PrintMiscellaneous && (WizardMode || Verbose)) { |
171 if (PrintMiscellaneous && (WizardMode || Verbose)) { |
167 tty->print_cr("itable #%d at " PTR_FORMAT "[%d] left over: %d", |
172 tty->print_cr("itable #%d at " PTR_FORMAT "[%d] left over: %d", |