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