Details
-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
b23
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8329366 | 17.0.12-oracle | Shivangi Gupta | P4 | Resolved | Fixed | b02 |
JDK-8329575 | 17.0.12 | Goetz Lindenmaier | P4 | Resolved | Fixed | b01 |
Description
Both TestMD5Intrinsics and TestMD5MultiBlockIntrinsics get the expected hash in the first iteration of computing MD5, and this iteration is run by the interpreter.
The tests later run some warm-up iterations and get the hash for comparison. The hash is supposed to be obtained from the intrinsics. However, WARMUP_ITERATIONS is set to 1 in DigestSanityTestBase, and the hash is not obtained from the intrinsics.
Reproduction:
1. Introduce a bug in MacroAssembler::fast_md5 (x86)
#define FF(r1, r2, r3, r4, k, s, t) \
/*movl(rsi, r3); remove an instruction*/ \
...
2. TestMD5Intrinsics still passes.
3. Change WARMUP_ITERATIONS in DigestSanityTestBase to 600.
4. TestMD5Intrinsics fails.
The tests later run some warm-up iterations and get the hash for comparison. The hash is supposed to be obtained from the intrinsics. However, WARMUP_ITERATIONS is set to 1 in DigestSanityTestBase, and the hash is not obtained from the intrinsics.
Reproduction:
1. Introduce a bug in MacroAssembler::fast_md5 (x86)
#define FF(r1, r2, r3, r4, k, s, t) \
/*movl(rsi, r3); remove an instruction*/ \
...
2. TestMD5Intrinsics still passes.
3. Change WARMUP_ITERATIONS in DigestSanityTestBase to 600.
4. TestMD5Intrinsics fails.
Attachments
Issue Links
- backported by
-
JDK-8329366 TestMD5Intrinsics and TestMD5MultiBlockIntrinsics don't test the intrinsics
- Resolved
-
JDK-8329575 TestMD5Intrinsics and TestMD5MultiBlockIntrinsics don't test the intrinsics
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/4cdf296f
-
Commit openjdk/jdk/f43bb9fe
-
Review openjdk/jdk17u-dev/2357
-
Review openjdk/jdk/10954
(1 links to)