8158397: Crash: assert(save_resolved_method == resolved_method()) failed: does this change?
Remove assert. it does change. Reviewed-by: sspitsyn, jiangli, mgronlun
This commit is contained in:
parent
562cf441d4
commit
7419c9549b
@ -966,20 +966,18 @@ void LinkResolver::resolve_static_call(CallInfo& result,
|
||||
methodHandle resolved_method = linktime_resolve_static_method(link_info, CHECK);
|
||||
|
||||
// The resolved class can change as a result of this resolution.
|
||||
KlassHandle resolved_klass = KlassHandle(THREAD, resolved_method->method_holder());
|
||||
KlassHandle resolved_klass(THREAD, resolved_method->method_holder());
|
||||
|
||||
Method* save_resolved_method = resolved_method();
|
||||
// Initialize klass (this should only happen if everything is ok)
|
||||
if (initialize_class && resolved_klass->should_be_initialized()) {
|
||||
resolved_klass->initialize(CHECK);
|
||||
// Use updated LinkInfo (to reresolve with resolved_klass as method_holder?)
|
||||
// Use updated LinkInfo to reresolve with resolved method holder
|
||||
LinkInfo new_info(resolved_klass, link_info.name(), link_info.signature(),
|
||||
link_info.current_klass(),
|
||||
link_info.check_access() ? LinkInfo::needs_access_check : LinkInfo::skip_access_check);
|
||||
resolved_method = linktime_resolve_static_method(new_info, CHECK);
|
||||
}
|
||||
|
||||
assert(save_resolved_method == resolved_method(), "does this change?");
|
||||
// setup result
|
||||
result.set_static(resolved_klass, resolved_method, CHECK);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user