--- old/src/hotspot/share/interpreter/linkResolver.hpp 2018-02-27 10:50:36.580087000 +0100 +++ new/src/hotspot/share/interpreter/linkResolver.hpp 2018-02-27 10:50:36.204059000 +0100 @@ -349,11 +349,17 @@ Bytecodes::Code byte, TRAPS); public: - // No need to report selected method differing from resolved method. - static void throw_abstract_method_error(const methodHandle& method, Klass *recv_klass, TRAPS); + // Only resolved method known. + static void throw_abstract_method_error(const methodHandle& resolved_method, TRAPS) { + throw_abstract_method_error(resolved_method, NULL, NULL, CHECK); + } + // Resolved method and receiver klass know. + static void throw_abstract_method_error(const methodHandle& resolved_method, Klass *recv_klass, TRAPS) { + throw_abstract_method_error(resolved_method, NULL, recv_klass, CHECK); + } // Selected method is abstract. - static void throw_abstract_method_error_abstract(const methodHandle& resolved_method, - const methodHandle& selected_method, - Klass *recv_klass, TRAPS); + static void throw_abstract_method_error(const methodHandle& resolved_method, + const methodHandle& selected_method, + Klass *recv_klass, TRAPS); }; #endif // SHARE_VM_INTERPRETER_LINKRESOLVER_HPP