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

Add stack coallescing #150

Merged
merged 35 commits into from
Jul 5, 2024
Merged

Add stack coallescing #150

merged 35 commits into from
Jul 5, 2024

Conversation

guillep
Copy link
Member

@guillep guillep commented Apr 23, 2024

Coalesce staged stack effects in different branches to allow compilation of static type predictions

  • Add stack coalesce transformation
  • review flush stack hoisting to hoist existing flush instructions too
  • simplify management of exit basic blocks in CFG
  • Add support to unspill stack slots

guillep added 30 commits April 18, 2024 09:01
 - bytecode compilation should use the default CFG and not the primitive one
 -  refactor IRGenerators to move bytecodeIRGenerator as a sibbling of primitiveIRGenerator
Push instructions extend register lifes until pops or end of code.
Update flush hoisting to use new exitBlock implementation
@guillep guillep marked this pull request as ready for review June 27, 2024 12:01
PalumboN
PalumboN previously approved these changes Jul 1, 2024
Copy link
Contributor

@PalumboN PalumboN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coooollllllllll 😳 🎉

Many tests failing 🚨

I left also many comments .... but it's a +3K lines PR, so they are not so many in perspective :P

@guillep
Copy link
Member Author

guillep commented Jul 4, 2024

Ok, I finished the integration of the VM branch improvements.
I'll now focus on integrating these and going over all your comments.

@guillep guillep merged commit 742b6c9 into Alamvic:main Jul 5, 2024
1 of 2 checks passed
@guillep guillep deleted the stackcoallescing branch July 5, 2024 09:50
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.

2 participants