src/hotspot/cpu/sparc/vtableStubs_sparc.cpp
changeset 49368 2ed1c37df3a5
parent 48557 2e867226b914
child 51618 54b344d9dd4e
--- a/src/hotspot/cpu/sparc/vtableStubs_sparc.cpp	Fri Mar 09 12:03:20 2018 -0500
+++ b/src/hotspot/cpu/sparc/vtableStubs_sparc.cpp	Thu Feb 08 09:23:49 2018 +0100
@@ -212,7 +212,12 @@
   __ delayed()->nop();
 
   __ bind(L_no_such_interface);
-  AddressLiteral icce(StubRoutines::throw_IncompatibleClassChangeError_entry());
+  // Handle IncompatibleClassChangeError in itable stubs.
+  // More detailed error message.
+  // We force resolving of the call site by jumping to the "handle
+  // wrong method" stub, and so let the interpreter runtime do all the
+  // dirty work.
+  AddressLiteral icce(SharedRuntime::get_handle_wrong_method_stub());
   __ jump_to(icce, G3_scratch);
   __ delayed()->restore();