-
Bug
-
Resolution: Fixed
-
P3
-
8, 11, 15, 16
-
b27
-
x86
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8259471 | 11.0.11 | Aleksey Shipilev | P3 | Resolved | Fixed | b01 |
assert(!is_mcall || (call_returns[block->_pre_order] <= (uint) current_offset))
Which verifies that the offset returned by MachCallNode::ret_addr_offset() (and sub-types) at [1] matches the emitted code, to avoid potential conflicts between oop maps of different calls.
This assert is failing when running test/hotspot/jtreg/compiler/intrinsics/string/TestStringLatin1IndexOfChar.java on Linux-x86 (32-bits), because it forces lower SSE settings. The real issue is MachCallRuntimeNode::ret_addr_offset() computing the offset incorrectly for CallLeafNoFP: it does not include FP stack cleaning.
[1] : https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/output.cpp#L1530
[2]:
diff --git a/src/hotspot/share/opto/output.cpp b/src/hotspot/share/opto/output.cpp
index 8e78481a491..681cd205044 100644
--- a/src/hotspot/share/opto/output.cpp
+++ b/src/hotspot/share/opto/output.cpp
@@ -1683,6 +1683,8 @@ void PhaseOutput::fill_buffer(CodeBuffer* cb, uint* blk_starts) {
n->emit(*cb, C->regalloc());
current_offset = cb->insts_size();
+ assert(!is_mcall || (call_returns[block->_pre_order] <= (uint) current_offset), "ret_addr_offset() not within emitted code");
+
// Above we only verified that there is enough space in the instruction section.
// However, the instruction may emit stubs that cause code buffer expansion.
// Bail out here if expansion failed due to a lack of code cache space.
- backported by
-
JDK-8259471 Incorrect MachCallRuntimeNode::ret_addr_offset() for CallLeafNoFP on x86_32
-
- Resolved
-
- duplicates
-
JDK-8257139 compiler/intrinsics/string/TestStringLatin1IndexOfChar.java fails with -XX:UseSSE<2 on x86_32
-
- Closed
-
- relates to
-
JDK-8173585 Intrinsify StringLatin1.indexOf(char)
-
- Resolved
-
-
JDK-8254231 Implementation of Foreign Linker API (Incubator)
-
- Resolved
-
(1 links to)