-
Notifications
You must be signed in to change notification settings - Fork 236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8273914: Indy string concat changes order of operations #2933
Conversation
👋 Welcome back cushon! A progress list of the required criteria for merging this PR into |
@cushon This change now passes all automated pre-integration checks. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been no new commits pushed to the As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@gnu-andrew) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
This backport pull request has now been updated with issue from the original commit. |
At least one of the issues associated with this backport has a resolved CSR for a different version. As this means that this backport may also need a CSR, the |
|
Webrevs
|
/approval request Backporting this change fixes a bug with invokedynamic-based string concatenation. The fix has received real-world testing since 2022, including in JDK 21. The backport applies cleanly. Langtools tier1 tests pass. |
@cushon This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
@cushon This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Let's keep this open for now |
/integrate |
@cushon This pull request has not yet been marked as ready for integration. |
@cushon This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Let's keep this open |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Backport looks good (near clean) and issue is fixed:
$ cat T.java
class T {
static String test() {
StringBuilder builder = new StringBuilder("foo");
return "" + builder + builder.append("bar");
}
public static void main(String[] args) {
System.err.println(test());
}
}
$ $HOME/build/openjdk11/bin/javac -version
javac 11.0.18-internal
$ $HOME/build/openjdk11/bin/javac T.java
$ $HOME/build/openjdk11/bin/java T
foobarfoobar
$ $HOME/builder/11u-dev/images/jdk/bin/javac -version
javac 11.0.26-internal
$ $HOME/builder/11u-dev/images/jdk/bin/javac T.java
$ $HOME/build/openjdk11/bin/java T
foofoobar
jtreg tests in test/langtools/tools/javac/StringConcat
and test/hotspot/jtreg/runtime/modules/AccessCheck
pass
/integrate |
/sponsor |
Going to push as commit be6956b. |
@gnu-andrew @cushon Pushed as commit be6956b. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
This is a backport of JDK-8273914: Indy string concat changes order of operations.
The patch applied cleanly. I downgrade the class file major version in the
.jasm
test inputs for compatibility with JDK 11.Testing: tier1 langtools tests
Progress
Issues
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk11u-dev.git pull/2933/head:pull/2933
$ git checkout pull/2933
Update a local copy of the PR:
$ git checkout pull/2933
$ git pull https://git.openjdk.org/jdk11u-dev.git pull/2933/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 2933
View PR using the GUI difftool:
$ git pr show -t 2933
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk11u-dev/pull/2933.diff
Using Webrev
Link to Webrev Comment