-
Bug
-
Resolution: Fixed
-
P4
-
24, 25
-
b09
-
aarch64
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8349253 | 24.0.1 | Daniel Lunden | P4 | Resolved | Fixed | b05 |
JDK-8349240 | 24 | Daniel Lunden | P4 | Resolved | Fixed | b36 |
# Failure analysis
On some aarch64 machines, the node limit in compiler/codegen/TestMatcherClone.java is too strict.
# Original description
The test added byJDK-8331295 reliably fails on my Graviton 3 instance. This is not a new failure, I can see it fails at 7d4c3fd0915cfa8b279f42494625ec6afda338af (JDK-8331295) as well, so it was there from the beginning.
% CONF=linux-aarch64-server-fastdebug make test TEST=compiler/codegen/TestMatcherClone.java
1) Method "public void compiler.codegen.TestMatcherClone.test()" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={MATCHING}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#C#ADD_P_OF#_", "reg_imm", "<200"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "After matching":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\d+(\s){2}(addP_reg_imm.*)+(\s){2}===.*.*)"
- Failed comparison: [found] 350 < 200 [given]
- Matched nodes (350):
* 3506 addP_reg_imm === _ 0 3507 [[ 3502 3528 10313 10312 10311 ]] #24/0x0000000000000018rawptr:BotPTR
* 3519 addP_reg_imm === _ 3507 3507 [[ 3518 ]] #16/0x0000000000000010rawptr:BotPTR
On some aarch64 machines, the node limit in compiler/codegen/TestMatcherClone.java is too strict.
# Original description
The test added by
% CONF=linux-aarch64-server-fastdebug make test TEST=compiler/codegen/TestMatcherClone.java
1) Method "public void compiler.codegen.TestMatcherClone.test()" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={MATCHING}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#C#ADD_P_OF#_", "reg_imm", "<200"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "After matching":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\d+(\s){2}(addP_reg_imm.*)+(\s){2}===.*.*)"
- Failed comparison: [found] 350 < 200 [given]
- Matched nodes (350):
* 3506 addP_reg_imm === _ 0 3507 [[ 3502 3528 10313 10312 10311 ]] #24/0x0000000000000018rawptr:BotPTR
* 3519 addP_reg_imm === _ 3507 3507 [[ 3518 ]] #16/0x0000000000000010rawptr:BotPTR
- backported by
-
JDK-8349240 [AArch64] The node limit in compiler/codegen/TestMatcherClone.java is too strict
-
- Resolved
-
-
JDK-8349253 [AArch64] The node limit in compiler/codegen/TestMatcherClone.java is too strict
-
- Resolved
-
- relates to
-
JDK-8331295 C2: Do not clone address computations that are indirect memory input to at least one load/store
-
- Closed
-
- links to
-
Commit(jdk24) openjdk/jdk/47c15b5f
-
Commit(master) openjdk/jdk/ee87d187
-
Review(jdk24) openjdk/jdk/23390
-
Review(master) openjdk/jdk/23349
(2 links to)