8158397: Crash: assert(save_resolved_method == resolved_method()) failed: does this change?
Summary: remove assert. it does change.
Reviewed-by: sspitsyn, jiangli, mgronlun
--- a/hotspot/src/share/vm/interpreter/linkResolver.cpp Fri Jun 03 04:34:08 2016 +0000
+++ b/hotspot/src/share/vm/interpreter/linkResolver.cpp Fri Jun 03 08:33:28 2016 -0400
@@ -966,20 +966,18 @@
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);
}