On Thu, 20 Jan 2022 19:03:36 GMT, Joe Darcy <da...@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

Reply via email to