Please review this fix to correctly read a long value in the runtime constant
pool. Details are mentioned in the issue [0].
Before this fix the long value generated by SA's dumpclass for
java.lang.String.serialVersionUID was:
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: long 2050732866l
After this fix value of java.lang.String.serialVersionUID is:
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: long -6849794470754667710l
Correct value as obtained from original java.lang.String is
-6849794470754667710l.
[0] https://bugs.openjdk.org/browse/JDK-8311971
-------------
Commit messages:
- 8311971: SA's ConstantPool.java uses incorrect computation to read long
value in the constant pool
Changes: https://git.openjdk.org/jdk/pull/14855/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14855&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8311971
Stats: 5 lines in 1 file changed: 0 ins; 4 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/14855.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14855/head:pull/14855
PR: https://git.openjdk.org/jdk/pull/14855