chore: study bumping the Java baseline from 17 to 21 - #6890
Draft
monperrus wants to merge 1 commit into
Draft
Conversation
Study PR, not intended for merge as-is: measure the impact of requiring Java 21, notably to evaluate whether virtual threads (JEP 444, stable in 21) become a viable alternative for running the Spoon pipeline on a growable stack (see INRIA#6804, INRIA#6882). - spoon-pom: maven.compiler.release/testRelease 17 -> 21 - CI: drop Java 17 from the test matrix, Windows tests on 21 - flake.nix: default dev shell is now jdk21 Co-Authored-By: agentknit+k3 <agentknit+k3@monperrus.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Study PR — opened to measure impact, not necessarily to merge.
Bumps Spoon's Java baseline from 17 to 21 and lets CI show the consequences. Motivation: Java 21 makes virtual threads final (JEP 444), which would give the Spoon pipeline a heap-grown stack for free — a candidate alternative to #6882's sized platform thread for fixing #6804 (stack overflow on legal deeply nested expressions, e.g. OpenJDK's
DeepStringConcat.javawith ~32,000 binary operators). See also @SirYwell's comment on #6882.Changes
spoon-pom/pom.xml:maven.compiler.release/testRelease17 → 21.github/workflows/tests.yml: drop Java 17 from the matrix, Windows tests on 21flake.nix: default dev shelljdk17→jdk21(thejdk17shell definition stays available)Refs #6804, #6882
🤖 Generated with agentknit