On Wed, 12 Jul 2023 19:48:52 GMT, Ashutosh Mehra <d...@openjdk.org> wrote:
> Please review this fix to correctly read a long value in the runtime constant > pool. Details are mentioned in the issue [0]. > As an example, 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`. > > Testing: tests under `serviceability/sa` and `sun/tools/jhsdb` are passing. > > [0] https://bugs.openjdk.org/browse/JDK-8311971 This pull request has now been integrated. Changeset: c1190375 Author: Ashutosh Mehra <asme...@redhat.com> Committer: Thomas Stuefe <stu...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/c1190375fc6def8a5520549157389f615161d7d7 Stats: 5 lines in 1 file changed: 0 ins; 4 del; 1 mod 8311971: SA's ConstantPool.java uses incorrect computation to read long value in the constant pool Reviewed-by: cjplummer, dholmes, stuefe ------------- PR: https://git.openjdk.org/jdk/pull/14855