Skip to content

Commit 430f20f

Browse files
author
Michael Haas
committed
Include changes unconditionally.
1 parent ab184be commit 430f20f

File tree

1 file changed

+21
-28
lines changed

1 file changed

+21
-28
lines changed

src/hotspot/share/runtime/sharedRuntime.cpp

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1196,35 +1196,28 @@ Handle SharedRuntime::find_callee_info_helper(vframeStream& vfst, Bytecodes::Cod
11961196
}
11971197

11981198

1199-
#if INCLUDE_JVMCI
1200-
methodHandle attached_method(THREAD, extract_attached_method(vfst));
1201-
bool caller_is_jvmci = vfst.nm()->is_compiled_by_jvmci();
1202-
1203-
if (attached_method.not_null() && caller_is_jvmci) {
1204-
javaVFrame* jVFrame = vfst.asJavaVFrame();
1205-
assert(jVFrame->is_compiled_frame(), "should be compiled frame");
1206-
compiledVFrame* cVFrame = (compiledVFrame*) jVFrame;
1207-
bool should_reexecute = cVFrame->should_reexecute();
1208-
Bytecodes::Code code = caller->java_code_at(bci);
1209-
// TODO for Valhalla: If the bytecode is if_acmpeq or if_acmpne and the attached method performs a substitutability check, skip this logic.
1210-
// Valhalla adds handling for substitutability checks in this method.
1211-
bool is_substitutability_check = (code == Bytecodes::_if_acmpeq || code == Bytecodes::_if_acmpne) && false;
1212-
if (cVFrame->should_reexecute() && !is_substitutability_check) {
1213-
// For invoke bytecodes, the reexecute bit is not set (see Interpreter::bytecode_should_reexecute).
1214-
// Since the reexecute bit is set for this call, no corresponding invoke bytecode exists.
1215-
Method* callee = attached_method();
1216-
assert(attached_method->is_static(), "attached method should be static");
1217-
bc = Bytecodes::_invokestatic;
1218-
LinkResolver::resolve_invoke(callinfo, receiver, attached_method, bc, CHECK_NH);
1219-
return receiver;
1220-
}
1221-
1222-
1199+
methodHandle attached_method(THREAD, extract_attached_method(vfst));
1200+
bool caller_is_jvmci = vfst.nm()->is_compiled_by_jvmci();
1201+
1202+
if (attached_method.not_null() && caller_is_jvmci) {
1203+
javaVFrame* jVFrame = vfst.asJavaVFrame();
1204+
assert(jVFrame->is_compiled_frame(), "should be compiled frame");
1205+
compiledVFrame* cVFrame = (compiledVFrame*) jVFrame;
1206+
bool should_reexecute = cVFrame->should_reexecute();
1207+
Bytecodes::Code code = caller->java_code_at(bci);
1208+
// TODO for Valhalla: If the bytecode is if_acmpeq or if_acmpne and the attached method performs a substitutability check, skip this logic.
1209+
// Valhalla adds handling for substitutability checks in this method.
1210+
bool is_substitutability_check = (code == Bytecodes::_if_acmpeq || code == Bytecodes::_if_acmpne) && false;
1211+
if (cVFrame->should_reexecute() && !is_substitutability_check) {
1212+
// For invoke bytecodes, the reexecute bit is not set (see Interpreter::bytecode_should_reexecute).
1213+
// Since the reexecute bit is set for this call, no corresponding invoke bytecode exists.
1214+
Method* callee = attached_method();
1215+
assert(attached_method->is_static(), "attached method should be static");
1216+
bc = Bytecodes::_invokestatic;
1217+
LinkResolver::resolve_invoke(callinfo, receiver, attached_method, bc, CHECK_NH);
1218+
return receiver;
12231219
}
1224-
#else
1225-
methodHandle attached_method(THREAD, extract_attached_method(vfst));
1226-
#endif // INCLUDE_JVMCI
1227-
1220+
}
12281221

12291222
Bytecode_invoke bytecode(caller, bci);
12301223
int bytecode_index = bytecode.index();

0 commit comments

Comments
 (0)