Skip to content

Partially undo kwarg optz from #8095#8207

Merged
headius merged 1 commit intojruby:masterfrom
headius:ruby2_keywords_jitted_blocks
Apr 24, 2024
Merged

Partially undo kwarg optz from #8095#8207
headius merged 1 commit intojruby:masterfrom
headius:ruby2_keywords_jitted_blocks

Conversation

@headius
Copy link
Member

@headius headius commented Apr 23, 2024

In #8095 (121c60fb) I optimized the JIT to statically compile in the logic for ruby2_keywords at the time of JIT. Unfortunately there turned out to be too many cases where this flag can change at runtime, leading to bugs like #8119 where a previously-jitted scope gets flipped to ruby2_keywords later on.

This patch partially reverts that optimization and resumes passing in the live ruby2_keywords value from the scope. We can revisit this in the future when it is possible to throw out and re-compile scopes that get this flag set later on.

Fixes #8119

In jruby#8095 (jruby/jruby@121c60fb) I optimized the JIT to
statically compile in the logic for ruby2_keywords at the time of
JIT. Unfortunately there turned out to be too many cases where
this flag can change at runtime, leading to bugs like jruby#8119
where a previously-jitted scope gets flipped to ruby2_keywords
later on.

This patch partially reverts that optimization and resumes passing
in the live ruby2_keywords value from the scope. We can revisit
this in the future when it is possible to throw out and re-compile
scopes that get this flag set later on.

Fixes jruby#8119
@headius headius added this to the JRuby 9.4.7.0 milestone Apr 23, 2024
@headius headius merged commit 977f98a into jruby:master Apr 24, 2024
@headius headius deleted the ruby2_keywords_jitted_blocks branch April 24, 2024 02:44
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.

Possible Keyword Argument Regression in 9.4.6.0

1 participant