RFR: JDK-8279397: Update --release 18 symbol information for JDK 18 build 32
Jan Lahoda
jlahoda at openjdk.java.net
Fri Jan 21 18:42:51 UTC 2022
On Thu, 20 Jan 2022 19:03:36 GMT, Joe Darcy <darcy at openjdk.org> wrote:
> Update of JDK 18 symbol information for build 32.
>
> @lahodaj , can you take a look at the diff? Given the code changes for JDK-8270416: "Enhance construction of Identity maps" (https://github.com/openjdk/jdk/commit/5832a3440489d0967dc3b0542c1ace51eed292d6), I didn't see why the symbol update was triggered.
I believe this is an artifact of limited optimization of the InnerClasses attribute: if the InnerClasses attribute refers to a class that is not part of `ct.sym`, then it is stripped, but if the class is part of ct.sym, the code does not check if it is used from the headers. So some InnerClass entries may sadly be produced for classes that were only used inside method bodies. Possibly an improvement for the future to do more aggressive cleaning. (In general, recording more/unnecessary classes in the InnerClasses shouldn't be harmful besides wasting space, I believe.)
-------------
Marked as reviewed by jlahoda (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/7165
More information about the build-dev
mailing list