RFR: 8365060: Historical data for JDK 8 should include the jdk.net package

Aleksey Shipilev shade at openjdk.org
Thu Aug 28 11:49:46 UTC 2025


On Mon, 18 Aug 2025 08:18:04 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:

> In JDK 8, the package `jdk.net` was exported and part of `rt.jar`, and hence should have been part of the historical data for `--release`, but it is not. The primary goal of this PR is to add historical data for `jdk.net` for JDK 8.
> 
> The changes herein are based on JDK 8u462. I used the Probe running on JDK 8 to dump the classfiles, along these lines:
> 
> $ java -classpath .../make/langtools/src/classes/ build.tools.symbolgenerator.Probe /tmp/jdk8-classfiles
> 
> 
> and then the up-to-date `CreateSymbols` to generate the `sym.txt` files, along these lines:
> 
> java --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED  CreateSymbols.java build-description-incremental-file .../src/jdk.compiler/share/data/symbols/symbols .../src/jdk.compiler/share/data/symbols/include.list 8 /tmp/jdk8-classfiles '<none>' --normalize-method-flags
> 
> 
> There are a few APIs that have been added for this release, and a few representational changes.
> 
> Most notably - the ordering of "removal" entries (i.e. those that start with `-`) and "add" entries is much more strict in the current `CreateSymbols`, and so there are some changes where the removal entries are moved to the front. I went through those, and they seem OK to me.
> 
> I'll add specific comments to the other updates to the files.

(not an expert in this area at all, drive-by review)

Feels a bit awkward that lines jump within the single file, looks like the order is not stable? Can it be stabilized, or would it incur even more change in the symbol files?

test/langtools/tools/javac/sym/ElementStructureTest.java line 518:

> 516:                 out.write(Float.toHexString((Float) value));
> 517:             } else {
> 518:                 if (value instanceof Character ch && Character.isSurrogate(ch)) {

Looks like one would want to match the style, and of `else if`, joining the if-chain above?

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

PR Review: https://git.openjdk.org/jdk/pull/26817#pullrequestreview-3164479947
PR Review Comment: https://git.openjdk.org/jdk/pull/26817#discussion_r2307129846


More information about the compiler-dev mailing list