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:
Coleen Phillimore 2016-06-03 08:33:28 -04:00
parent 562cf441d4
commit 7419c9549b

View File

@ -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);
}