RFR: 8300590: [JVMCI] BytecodeFrame.equals is broken
Doug Simon
dnsimon at openjdk.org
Thu Jan 19 21:55:36 UTC 2023
`BytecodeFrame.equals` returns true even when the frames are found to be not equal: https://github.com/openjdk/jdk/blob/7bf0d1465e73d83aae30f1cd9fd318af9e9c1b70/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/BytecodeFrame.java#L375
This PR fixes that, adds a test and improves both `BytecodeFrame.hashCode` and `BytecodeFrame.equals` to take all fields into account.
Given the nature of the bug in `BytecodeFrame.equals` that this PR fixes, it's pretty clear that `BytecodeFrame` has never been (reliably) used as a key in a map.
-------------
Commit messages:
- fix bug in BytecodeFrame.equals
Changes: https://git.openjdk.org/jdk/pull/12084/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12084&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8300590
Stats: 148 lines in 2 files changed: 131 ins; 8 del; 9 mod
Patch: https://git.openjdk.org/jdk/pull/12084.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/12084/head:pull/12084
PR: https://git.openjdk.org/jdk/pull/12084
More information about the hotspot-compiler-dev
mailing list