Skip to content

Merge tag 'jdk-21-ga' of https://github.com/openjdk/jdk into jdk-20 - #101

Open
wmdietl wants to merge 2681 commits into
jdk-20from
jdk-21
Open

wmdietl wants to merge 2681 commits into
jdk-20from
jdk-21

Conversation

@wmdietl

@wmdietl wmdietl commented Dec 12, 2024 •

Copy link
Copy Markdown
Member

DO NOT MERGE.
Branch jdk-21 contains the JDK 21 version of the EISOP CF annotated JDK.
This PR exists if we need to review changes between versions.

David Holmes and others added 30 commits June 20, 2023 12:10
Reviewed-by: honkar, prr
Backport-of: d6c2ee3
…ils on AIX

Reviewed-by: lucy, alanb
Backport-of: 4d66d97
…cond failure on AIX

Reviewed-by: alanb
Backport-of: 6a63bad
…lignment check

Reviewed-by: mcimadamore
Backport-of: e022e87
…nueTest.java failed: java.net.BindException: Address already in use

Reviewed-by: dfuchs
Backport-of: a48bcf3
…ilter/filter001/TestDescription.java failed: VMDisconnectedException

Reviewed-by: kevinw, sspitsyn
Backport-of: 79ff72a
…turn STATE_WAITING

Reviewed-by: cjplummer
Backport-of: f91e9ba
…ing variables from the same case

Reviewed-by: vromero
Backport-of: 01623f6
…atching condition

Reviewed-by: vromero
Backport-of: a15db1a
…e should be integer

Reviewed-by: chagedorn, dlong
Backport-of: 4a9cc8a
Reviewed-by: chagedorn, dlong
Backport-of: 266f983
Reviewed-by: chagedorn, dlong
Backport-of: bb96682
Reviewed-by: eosterlund
Backport-of: a059576
…ing" dynamic JavaAgent

Reviewed-by: mgronlun
Backport-of: 658c337
Reviewed-by: djelinski, michaelm
Backport-of: bdd81b3
….java on generic-x64

Reviewed-by: iris, lmesnik
Reviewed-by: xuelei, hchao
Backport-of: 5ca4cdd
8310907: Add missing file

Reviewed-by: jlahoda
Backport-of: 289f218
mernst and others added 15 commits October 1, 2026 20:48
…dk-21

Take the changes of typetools/jdk up to the Checker Framework 3.53.0 release.
typetools/jdk is based on JDK 21 since 2025-12-17.  Resolution of the conflicts:

* @AnnotatedFor lists contain the union of the checker names, keeping the
  "initialization" that this repository adds.
* Annotations that only this repository has are kept; code and annotations
  that conflict with typetools' newer OpenJDK 21 sources take typetools' side.
* The qualifier copies are those of the EISOP Checker Framework, including
  EnsuresInitialized, ParametricTypeVariableUseQualifier,
  ProgrammaticDefaultLocations and UnannotatedFor, which this branch lacked.
* checker-qual.jar stays removed, and azure-pipelines.yml lives in .azure/.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
The Checker Framework does not have the @SideEffectsOnly qualifier (it comes
from typetools' Side Effects Only Checker work), and the master branch of this
repository does not use it.  An annotated JDK file that uses an unknown
annotation is ignored in its entirety, and the binary stub generator cannot read
the qualifier, so remove the qualifier and its 94 uses, as in master.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Bring the changes of master since the creation of jdk-21 (the Checker Framework
annotations of this repository and the typetools changes that master took)
into jdk-21.  Conflicts take the JDK 21 text of this branch and the
annotations of master:

* The JDK 21 code of ClassDesc, MethodTypeDesc, MethodHandle, VarHandle,
  Collections, Optional, ProcessEnvironment, RequestPublishers and the BCEL
  files stays, with master's @AnnotatedFor({"nullness"}) on MethodHandle and
  VarHandle and its @nonnull type argument on Optional#stream.
* Map, Queue, ArrayBlockingQueue, LinkedTransferQueue and SynchronousQueue take
  master's annotations (they differ only in annotations).
* The Azure pipeline, the Makefile and the README keep the JDK 21 versions.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Resolving the merge of master kept both the @pure that this branch has and the
one that master has on three methods, separated by a comment, so javac rejects
them ("Pure is not a repeatable annotation interface").

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
The Checker Framework master formatted its Javadoc with google-java-format
1.36.1, which removes two blank comment lines here; the JDK consistency check
requires identical qualifier files.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Files.java imported Nullable twice instead of CFComment, and Objects.requireNonNull
had @ForceInline twice ("ForceInline is not a repeatable annotation interface").
Both came from resolving the merge of master.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Copilot AI balanced review requested due to automatic review settings October 3, 2026 00:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

wmdietl and others added 13 commits October 2, 2026 23:40
Checker Framework 3.53.1 renamed the index qualifiers Shrinkable and
UncheckedShrinkable to CanShrink and UncheckedCanShrink (typetools/jdk commit
a40bbefdcdb).  Apply the rename here as on master (#161), and align
UncheckedCanShrink.java and Prefix.java with the Checker Framework for the JDK
consistency check.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
(cherry picked from commit 363610bb063fdff9fc558f739efa964eba19fdd7)
(cherry picked from commit 03d12f315444de037422e557e5ac1710ad4b4734)
(cherry picked from commit 9f4904f5f397053729bdecdebf6c8f7dcb2ef454)
(cherry picked from commit 330952f3082d88b0eb857cba9a8daa02080ace9f)
(cherry picked from commit cb73e18027c9e31d3f089f5693f1afd1e22e35b4)
(cherry picked from commit 26442c476c5f97a8734dd54687d4199ba04e33df)
The JDK consistency check requires identical qualifier files.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…ntains

The cherry-pick of typetools/jdk ef188caeb09 conflicted with this branch's
@PolyRegex annotations, which are the stronger form; keep them.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.