Skip to content
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

Handle the StringConcatFactory invocation with 200+ arguments #1164 #1172

Merged
merged 1 commit into from
Jul 19, 2023

Conversation

jarthana
Copy link
Member

@jarthana jarthana commented Jun 21, 2023

What it does

Fixes issue #1164

How to test

Author checklist

@jarthana
Copy link
Member Author

This needs to be applied on top or PR #1139. We only need the last commit from here. Rest of them are already on the said PR.

@jarthana
Copy link
Member Author

@srikanth-sankaran In the interest of getting this tested enough, I will release this change (also expecting the new fail-fast approach help me here).

You are welcome to review this whenever you find time.

@jarthana
Copy link
Member Author

This needs to wait. I see that the stack size goes up for all aload of the operands, but never removed when we consume them by a makeConcatWithConstants. Working on a fix.

@jarthana jarthana merged commit 53f4f35 into eclipse-jdt:master Jul 19, 2023
@jarthana jarthana deleted the issue1164 branch October 5, 2023 08:32
robstryker pushed a commit to robstryker/eclipse.jdt.core that referenced this pull request Jul 18, 2024
…e-jdt#1172)

When we have too many operands in a String concat expression, the StringConcatFactory hits the 200 arguments limit and crashes. To avoid this, we wrap every 190 arguments into a StringConcatFactory#makeConcatWithConstants() instead of keeping them in the stack. This way, we can accommodate thousands of operands (to be precise 190x199) before hitting the limit.
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.

1 participant