8199557: Assert in fromTonga/vm/runtime/defmeth/scenarios/Stress_noredefine/TestDescription.java

Reviewed-by: coleenp
This commit is contained in:
Goetz Lindenmaier 2018-03-14 21:36:41 +01:00
parent 469e350dab
commit d29c87204f

View file

@ -1476,13 +1476,17 @@ JRT_BLOCK_ENTRY(address, SharedRuntime::handle_wrong_method_abstract(JavaThread*
assert(callerFrame.is_compiled_frame(), "must be"); assert(callerFrame.is_compiled_frame(), "must be");
// Install exception and return forward entry. // Install exception and return forward entry.
address res = StubRoutines::throw_AbstractMethodError_entry();
JRT_BLOCK JRT_BLOCK
methodHandle callee = invoke.static_target(thread); methodHandle callee = invoke.static_target(thread);
assert(!callee.is_null() && invoke.has_receiver(), "or we should not be here"); if (!callee.is_null()) {
oop recv = callerFrame.retrieve_receiver(&reg_map); oop recv = callerFrame.retrieve_receiver(&reg_map);
LinkResolver::throw_abstract_method_error(callee, recv->klass(), thread); Klass *recv_klass = (recv != NULL) ? recv->klass() : NULL;
LinkResolver::throw_abstract_method_error(callee, recv_klass, thread);
res = StubRoutines::forward_exception_entry();
}
JRT_BLOCK_END JRT_BLOCK_END
return StubRoutines::forward_exception_entry(); return res;
JRT_END JRT_END