[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    RFR: 8311102: Write annotations in the classfile dumped by SA
From:       Ashutosh Mehra <duke () openjdk ! org>
Date:       2023-06-30 14:40:26
Message-ID: bvzObppvdVSvHJHH4xfB_A5M6ZJRyXMF-YzCiAbkL6w=.be64a402-949a-4790-a975-8d37cf4496b7 () github ! com
[Download RAW message or body]

Please review this PR that enables ClassWriter to write annotations to the class file \
being dumped.

The fields annotations are stored in `Annotations::_fields_annotations` which is of \
type `Array<Array<u1>*>`. There is no class in SA that can represent it. I have added \
ArrayOfU1Array to correspond to the type `Array<Array<u1>*>` and it works. I believe \
there are better approaches but that would require a bit more refactoring of the \
classes representing Array types. I will leave that for future work for now.

Testing: `test/hotspot/jtreg/serviceability/sa` and `test/jdk/sun/tools/jhsdb`
Tested it manually by dumping j.l.String class and comparing the annotations with the \
original class using javap. The test case mentioned in \
[JDK-8311101](https://bugs.openjdk.org/browse/JDK-8311101) would provide better \
coverage.

-------------

Commit messages:
 - 8311102: Write annotations in the classfile dumped by SA

Changes: https://git.openjdk.org/jdk/pull/14735/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14735&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8311102
  Stats: 379 lines in 9 files changed: 376 ins; 1 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/14735.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14735/head:pull/14735

PR: https://git.openjdk.org/jdk/pull/14735


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic