提交 7f58b2a7 编写于 作者: N never

7162094: LateInlineCallGenerator::do_late_inline crashed on uninitialized _call_node

Reviewed-by: never, twisti
Contributed-by: nils.eliasson@oracle.com
上级 f23a2b86
...@@ -137,6 +137,7 @@ JVMState* DirectCallGenerator::generate(JVMState* jvms) { ...@@ -137,6 +137,7 @@ JVMState* DirectCallGenerator::generate(JVMState* jvms) {
} }
CallStaticJavaNode *call = new (kit.C, tf()->domain()->cnt()) CallStaticJavaNode(tf(), target, method(), kit.bci()); 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) { if (!is_static) {
// Make an explicit receiver null_check as part of this call. // Make an explicit receiver null_check as part of this call.
// Since we share a map with the caller, his JVMS gets adjusted. // Since we share a map with the caller, his JVMS gets adjusted.
...@@ -155,7 +156,6 @@ JVMState* DirectCallGenerator::generate(JVMState* jvms) { ...@@ -155,7 +156,6 @@ JVMState* DirectCallGenerator::generate(JVMState* jvms) {
kit.set_edges_for_java_call(call, false, _separate_io_proj); kit.set_edges_for_java_call(call, false, _separate_io_proj);
Node* ret = kit.set_results_for_java_call(call, _separate_io_proj); Node* ret = kit.set_results_for_java_call(call, _separate_io_proj);
kit.push_node(method()->return_type()->basic_type(), ret); 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(); return kit.transfer_exceptions_into_jvms();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册