Fix dropal inline - #257
Merged
Merged
Conversation
…r inlines + merge states)
guillep
previously approved these changes
Aug 3, 2026
| self dependencies do: [ :op | | ||
| (op hasUser: self) ifFalse: [ | ||
| DRError signal: | ||
| Error signal: |
Contributor
Author
There was a problem hiding this comment.
DRError does not exist 🤷 I checked the other validations and use Error. It looks like we didn't hit this problem for a long time
| self class enabled ifFalse: [ ^ self ]. | ||
|
|
||
| (cfg messageSends takeFirst: 5) do: [ :messageSend | | ||
| (cfg messageSends takeFirst: 3) do: [ :messageSend | |
Comment on lines
+1721
to
+1724
| "Sends with blocks must keep the context (temporaries in the stack) | ||
| That is having all outer temporaries in the dependency-user chain. | ||
| If not, we don't need them, and the state is clear from previous context | ||
| This simplify the inlinings, the reason why the send has a inlineGenerator |
Member
There was a problem hiding this comment.
Really? even in the presence of temp vectors?
Contributor
Author
There was a problem hiding this comment.
Yes, but during the compilation we need to track the def-use chain in the SSA. If not, variables used inside a block could be "dead-coded" before inlining.
The problem was that the implementation kept track a lot of trash (values that were not used), adding noise to the debugging.
Anyway, we need to revisit and re-think these decisions when optimizing temp vectors
#231
#251
Co-authored-by: Guille Polito <guillermopolito@gmail.com> Co-authored-by: Nahuel Palumbo <nahuel.palumbo@gmail.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.

Fix #256
Fix #230
Now the compilation of
BGMeteorBoardfinish on all (possible) cases:
and give these results:
We should profile the causes of:
what could be related to: