Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
160861d
8383601: RISC-V: ShenandoahBarrierSetAssembler::load_reference_barrie…
RealFYang May 6, 2026
16ab2a9
8352431: java/net/httpclient/EmptyAuthenticate.java uses "localhost"
May 6, 2026
a1f1e6f
8377167: javax/imageio/ReadAbortTest.java throw NPE when x11 unavailable
May 7, 2026
ae39d80
8354900: javax/swing/AbstractButton/bug4133768.java failing on macosx…
May 8, 2026
b72b3a5
8349084: Update vectors used in several PQC benchmarks
May 8, 2026
60726d5
8341436: containers/docker/TestJcmdWithSideCar.java takes needlessly …
May 8, 2026
ba65d96
8352147: G1: TestEagerReclaimHumongousRegionsClearMarkBits test takes…
GoeLin May 8, 2026
51afc20
8349192: jvmti/scenarios/contention/TC05/tc05t001 fails: ERROR: tc05t…
GoeLin May 8, 2026
1bd5e91
8377347: jdk/jfr/event/gc/detailed/TestZAllocationStallEvent.java int…
GoeLin May 8, 2026
78ca905
8383630: Fix iteration in tests doing class redefinition
GoeLin May 10, 2026
18f797f
8377727: Ghost caret and focus appear in non‑editable text fields
GoeLin May 11, 2026
09a3468
Abstract job list into separate file `jobs.m4`
mernst May 17, 2026
f4275d5
Add safe directory, move plume-scripts
mernst May 17, 2026
e16b2f7
Set up GitHub Actions CI
YukiYang31 May 17, 2026
a992761
Add `@DoesNotUnrefineReceiver("modifiability")` annotations
mernst May 19, 2026
f750435
Add more annotations
mernst May 19, 2026
696ba57
Add annotations, fix imports
mernst May 19, 2026
f7ef3b0
Comment out uses of `SideEffectsOnly`
mernst May 19, 2026
cf6c94d
Checkpoint
mernst May 19, 2026
2a4dea3
More annotations
mernst May 19, 2026
8a697fa
More annotations
mernst May 19, 2026
2f3d5ae
Comment out `@SideEffectsOnly` annotations
mernst May 19, 2026
0829cc2
Merge ../jdk-branch-master into dnur
mernst May 19, 2026
1d08f20
Remove incorrect `@SideEffectsOnly` annotations
mernst May 19, 2026
59902fc
Methods that take a function as an argument
mernst May 19, 2026
beda6f1
Checkpoint
mernst May 19, 2026
5a4edbe
Checkpoint
mernst May 20, 2026
faaac60
Merge branch 'dnur' of github.com:mernst/jdk into dnur
mernst May 20, 2026
d412733
`@SideEffectFree` annotations
mernst May 20, 2026
27f4b4a
Add imports
mernst May 20, 2026
a9ab6b0
Merge ../jdk into dnur
mernst May 20, 2026
cb4ef18
Merge https://github.com/openjdk/jdk21u into dnur
mernst May 20, 2026
18105c3
Merge ../jdk21u-branch-master into dnur
mernst May 20, 2026
b495e68
Run `build_jdk21u` only for the `jdk` repository, not `jdk21u`
mernst May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .azure/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ jobs:
git config --global core.protectNTFS false
cd ../jdk21u
git diff --exit-code
echo $?
displayName: clone-related-jdk21u
- bash: |
git config --global --add safe.directory $(cd ../jdk21u && pwd)
Expand Down
1 change: 0 additions & 1 deletion .azure/azure-pipelines.yml.m4
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ jobs:
git config --global core.protectNTFS false
cd ../jdk21u
git diff --exit-code
echo $?
displayName: clone-related-jdk21u
- bash: |
git config --global --add safe.directory $(cd ../jdk21u && pwd)
Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
run: make jdk

build_jdk21u:
if: endsWith(github.repository, '/jdk')
needs:
- check_generated_ci
runs-on: ubuntu-latest
Expand Down Expand Up @@ -90,10 +91,13 @@ jobs:
git config --global pull.rebase false
git config --global core.longpaths true
git config --global core.protectNTFS false
git config --global --add safe.directory /__w/jdk/jdk
# This creates ../jdk21u .
# Run `git-clone-related` without a limit on depth, because if the depth is
# too small, the merge will fail. Don't use "--filter=blob:none" because that
# leads to "fatal: remote error: filter 'combine' not supported".
- name: ci-info
run: /tmp/$USER/plume-scripts/ci-info --debug
- name: clone-related-jdk21u
run: |
set -ex
Expand All @@ -107,15 +111,21 @@ jobs:
/tmp/$USER/git-scripts/git-clone-related typetools jdk21u ../jdk21u --single-branch
cd ../jdk21u
git diff --exit-code
echo $?
- name: git merge
run: |
set -ex
cd ../jdk21u
git status
eval $(/tmp/$USER/plume-scripts/ci-info typetools)
echo "About to run: git pull --no-edit https://github.com/${CI_ORGANIZATION}/jdk ${CI_BRANCH_NAME}"
cd ../jdk21u && git pull --no-edit "https://github.com/${CI_ORGANIZATION}/jdk" "${CI_BRANCH_NAME}" || (git --version && git show | head -100 && git status && git diff | head -1000 && echo "Merge failed; see 'Pull request merge conflicts' at https://github.com/typetools/jdk/blob/master/README.md " && false)
if ! git pull --no-edit "https://github.com/${CI_ORGANIZATION}/jdk" "${CI_BRANCH_NAME}"; then
git --version
git show | head -100
git status && git diff | head -1000
echo "Merge failed; see 'Pull request merge conflicts' at https://github.com/typetools/jdk/blob/master/README.md"
false
fi
shell: bash --noprofile --norc -e {0}
- name: configure
run: |
cd ../jdk21u
Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/ci.yml.m4
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ jobs:
run: make jdk

build_jdk21u:
if: endsWith(github.repository, '/jdk')
needs:
- check_generated_ci
runs-on: ubuntu-latest
Expand Down Expand Up @@ -94,10 +95,13 @@ jobs:
git config --global pull.rebase false
git config --global core.longpaths true
git config --global core.protectNTFS false
git config --global --add safe.directory /__w/jdk/jdk
# This creates ../jdk21u .
# Run `git-clone-related` without a limit on depth, because if the depth is
# too small, the merge will fail. Don't use "--filter=blob:none" because that
# leads to "fatal: remote error: filter 'combine' not supported".
- name: ci-info
run: /tmp/$USER/plume-scripts/ci-info --debug
- name: clone-related-jdk21u
run: |
set -ex
Expand All @@ -111,15 +115,21 @@ jobs:
/tmp/$USER/git-scripts/git-clone-related typetools jdk21u ../jdk21u --single-branch
cd ../jdk21u
git diff --exit-code
echo $?
- name: git merge
run: |
set -ex
cd ../jdk21u
git status
eval $(/tmp/$USER/plume-scripts/ci-info typetools)
echo "About to run: git pull --no-edit https://github.com/${CI_ORGANIZATION}/jdk ${CI_BRANCH_NAME}"
cd ../jdk21u && git pull --no-edit "https://github.com/${CI_ORGANIZATION}/jdk" "${CI_BRANCH_NAME}" || (git --version && git show | head -100 && git status && git diff | head -1000 && echo "Merge failed; see 'Pull request merge conflicts' at https://github.com/typetools/jdk/blob/master/README.md " && false)
if ! git pull --no-edit "https://github.com/${CI_ORGANIZATION}/jdk" "${CI_BRANCH_NAME}"; then
git --version
git show | head -100
git status && git diff | head -1000
echo "Merge failed; see 'Pull request merge conflicts' at https://github.com/typetools/jdk/blob/master/README.md"
false
fi
shell: bash --noprofile --norc -e {0}
- name: configure
run: |
cd ../jdk21u
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/defs.m4
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
changequote
define(`LBRACKET',`[')dnl
define(`RBRACKET',`]')dnl
changequote(`[',`]')dnl

ifelse([The built-in "dnl" m4 macro means "discard to next line",])dnl
define([canary_os], [ubuntu])dnl
define([canary_version], [25])dnl
define([latest_version], [25])dnl
define([latest_version], [26])dnl
define([canary_test], [canary_os[]canary_version])dnl
define([docker_testing], [])dnl
ifelse([uncomment the next line to use the "testing" Docker images])dnl
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ NashornProfile.txt
/.cproject
/compile_commands.json
/.cache
.plume-scripts/
.plume-scripts
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler* masm,
} else {
assert(is_phantom, "only remaining strength");
assert(!is_narrow, "phantom access cannot be narrow");
target = CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_weak);
target = CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_phantom);
}
__ call(target);
__ mv(t0, x10);
Expand Down
8 changes: 5 additions & 3 deletions src/java.base/share/classes/java/io/BufferedReader.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,9 @@
import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.dataflow.qual.SideEffectsOnly;
// import org.checkerframework.dataflow.qual.SideEffectsOnly;
import org.checkerframework.framework.qual.AnnotatedFor;
import org.checkerframework.framework.qual.DoesNotUnrefineReceiver;

import java.util.Iterator;
import java.util.NoSuchElementException;
Expand Down Expand Up @@ -510,8 +511,8 @@ private long implSkip(long n) throws IOException {
*
* @throws IOException If an I/O error occurs
*/
@EnsuresNonNullIf(expression={"readLine()"}, result=true)
@Pure
@EnsuresNonNullIf(expression={"readLine()"}, result=true)
public boolean ready(@GuardSatisfied BufferedReader this) throws IOException {
Object lock = this.lock;
if (lock instanceof InternalLock locker) {
Expand Down Expand Up @@ -708,7 +709,8 @@ public boolean hasNext() {
}

@Override
@SideEffectsOnly("this")
// @SideEffectsOnly("this")
@DoesNotUnrefineReceiver("modifiability")
public String next(/*@NonEmpty Iterator<String> this*/) {
if (nextLine != null || hasNext()) {
String line = nextLine;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.dataflow.qual.SideEffectFree;
import org.checkerframework.dataflow.qual.SideEffectsOnly;
// import org.checkerframework.dataflow.qual.SideEffectsOnly;
import org.checkerframework.framework.qual.AnnotatedFor;

import jdk.internal.math.DoubleToDecimal;
Expand Down Expand Up @@ -527,7 +527,7 @@ public int codePointBefore(@Positive int index) {
* {@code dst.length}
* </ul>
*/
@SideEffectsOnly("#3")
// @SideEffectsOnly("#3")
public void getChars(@NonNegative int srcBegin, @NonNegative int srcEnd, char[] dst, @IndexOrHigh({"#3"}) int dstBegin)
{
Preconditions.checkFromToIndex(srcBegin, srcEnd, count, Preconditions.SIOOBE_FORMATTER); // compatible to old version
Expand Down
9 changes: 6 additions & 3 deletions src/java.base/share/classes/java/lang/CharSequence.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,9 @@
import org.checkerframework.checker.nonempty.qual.NonEmpty;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.dataflow.qual.SideEffectFree;
import org.checkerframework.dataflow.qual.SideEffectsOnly;
// import org.checkerframework.dataflow.qual.SideEffectsOnly;
import org.checkerframework.framework.qual.AnnotatedFor;
import org.checkerframework.framework.qual.DoesNotUnrefineReceiver;

import java.util.NoSuchElementException;
import java.util.Objects;
Expand Down Expand Up @@ -174,7 +175,8 @@ public boolean hasNext() {
return cur < length();
}

@SideEffectsOnly("this")
// @SideEffectsOnly("this")
@DoesNotUnrefineReceiver("modifiability")
public int nextInt(@NonEmpty CharIterator this) {
if (hasNext()) {
return charAt(cur++);
Expand Down Expand Up @@ -251,7 +253,8 @@ public boolean hasNext() {
return cur < length();
}

@SideEffectsOnly("this")
// @SideEffectsOnly("this")
@DoesNotUnrefineReceiver("modifiability")
public int nextInt(@NonEmpty CodePointIterator this) {
final int length = length();

Expand Down
2 changes: 1 addition & 1 deletion src/java.base/share/classes/java/lang/Class.java
Original file line number Diff line number Diff line change
Expand Up @@ -853,8 +853,8 @@ public Void run() {
* {@code false} otherwise.
* @since 1.1
*/
@EnsuresNonNullIf(expression={"getComponentType()"}, result=true)
@Pure
@EnsuresNonNullIf(expression={"getComponentType()"}, result=true)
@IntrinsicCandidate
public native boolean isArray(@GuardSatisfied Class<T> this);

Expand Down
4 changes: 2 additions & 2 deletions src/java.base/share/classes/java/lang/StackStreamFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

import org.checkerframework.checker.nonempty.qual.EnsuresNonEmptyIf;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.dataflow.qual.SideEffectsOnly;
// import org.checkerframework.dataflow.qual.SideEffectsOnly;
import jdk.internal.reflect.MethodAccessor;
import jdk.internal.reflect.ConstructorAccessor;
import java.lang.StackWalker.Option;
Expand Down Expand Up @@ -375,7 +375,7 @@ private void setContinuation(Continuation cont) {
*
* @see #tryNextFrame
*/
@SideEffectsOnly("this")
// @SideEffectsOnly("this")
final Class<?> nextFrame() {
if (!hasNext()) {
return null;
Expand Down
8 changes: 4 additions & 4 deletions src/java.base/share/classes/java/lang/String.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
import org.checkerframework.common.value.qual.StringVal;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.dataflow.qual.SideEffectFree;
import org.checkerframework.dataflow.qual.SideEffectsOnly;
// import org.checkerframework.dataflow.qual.SideEffectsOnly;
import org.checkerframework.framework.qual.AnnotatedFor;
import org.checkerframework.framework.qual.CFComment;

Expand Down Expand Up @@ -1777,7 +1777,7 @@ public int codePointBefore(@LTEqLengthOf({"this"}) @Positive int index) {
* <li>{@code dstBegin+(srcEnd-srcBegin)} is larger than
* {@code dst.length}</ul>
*/
@SideEffectsOnly("#3")
// @SideEffectsOnly("#3")
public void getChars(@IndexOrHigh({"this"}) int srcBegin, @IndexOrHigh({"this"}) int srcEnd, char @GuardSatisfied [] dst, @IndexOrHigh({"#3"}) int dstBegin) {
checkBoundsBeginEnd(srcBegin, srcEnd, length());
checkBoundsOffCount(dstBegin, srcEnd - srcBegin, dst.length);
Expand Down Expand Up @@ -1934,8 +1934,8 @@ public void getBytes(@IndexOrHigh({"this"}) int srcBegin, @IndexOrHigh({"this"})
* @see #compareTo(String)
* @see #equalsIgnoreCase(String)
*/
@EnsuresNonNullIf(expression={"#1"}, result=true)
@Pure
@EnsuresNonNullIf(expression={"#1"}, result=true)
@StaticallyExecutable
public boolean equals(@GuardSatisfied @Nullable Object anObject) {
if (this == anObject) {
Expand Down Expand Up @@ -2073,8 +2073,8 @@ public boolean contentEquals(@GuardSatisfied CharSequence cs) {
* @see #equals(Object)
* @see #codePoints()
*/
@EnsuresNonNullIf(expression={"#1"}, result=true)
@Pure
@EnsuresNonNullIf(expression={"#1"}, result=true)
@StaticallyExecutable
public boolean equalsIgnoreCase(@Nullable String anotherString) {
return (this == anotherString) ? true
Expand Down
4 changes: 2 additions & 2 deletions src/java.base/share/classes/java/lang/StringBuffer.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
import org.checkerframework.common.aliasing.qual.Unique;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.dataflow.qual.SideEffectFree;
import org.checkerframework.dataflow.qual.SideEffectsOnly;
// import org.checkerframework.dataflow.qual.SideEffectsOnly;
import org.checkerframework.framework.qual.AnnotatedFor;

import java.io.IOException;
Expand Down Expand Up @@ -304,7 +304,7 @@ public synchronized int offsetByCodePoints(int index, int codePointOffset) {
/**
* @throws IndexOutOfBoundsException {@inheritDoc}
*/
@SideEffectsOnly("#3")
// @SideEffectsOnly("#3")
@Override
public synchronized void getChars(int srcBegin, int srcEnd, char[] dst,
@IndexOrHigh({"#3"}) int dstBegin)
Expand Down
Loading