src/hotspot/cpu/arm/vtableStubs_arm.cpp
changeset 49368 2ed1c37df3a5
parent 48557 2e867226b914
child 50380 bec342339138
equal deleted inserted replaced
49366:f95ef5511e1f 49368:2ed1c37df3a5
   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",