7162094: LateInlineCallGenerator::do_late_inline crashed on uninitialized _call_node
Reviewed-by: never, twisti
Contributed-by: nils.eliasson@oracle.com
--- a/hotspot/src/share/vm/opto/callGenerator.cpp Wed Apr 11 19:15:46 2012 -0700
+++ b/hotspot/src/share/vm/opto/callGenerator.cpp Tue Apr 17 11:04:22 2012 -0700
@@ -137,6 +137,7 @@
}
CallStaticJavaNode *call = new (kit.C, tf()->domain()->cnt()) CallStaticJavaNode(tf(), target, method(), kit.bci());
+ _call_node = call; // Save the call node in case we need it later
if (!is_static) {
// Make an explicit receiver null_check as part of this call.
// Since we share a map with the caller, his JVMS gets adjusted.
@@ -155,7 +156,6 @@
kit.set_edges_for_java_call(call, false, _separate_io_proj);
Node* ret = kit.set_results_for_java_call(call, _separate_io_proj);
kit.push_node(method()->return_type()->basic_type(), ret);
- _call_node = call; // Save the call node in case we need it later
return kit.transfer_exceptions_into_jvms();
}