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

Fix vm #161

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open

Fix vm #161

wants to merge 11 commits into from

Conversation

PalumboN
Copy link
Contributor

@PalumboN PalumboN commented Dec 3, 2024

Fixing many bugs found running the generated VMs.

  • Fix special register allocation for closure creation
  • Fix druidExitPoint does not work for meta-compilation of bytecodes #157 (we should keep only one)
  • Fix generation of annotateBytecode:
    • Now this logic is only during code generation (no instruction in the CFG), I am not sure about what's better.
      • It adds it after any isMapped trampoline
      • Of if the bytecode is annotated (in the table) there is a check when the generator arrives to the return (for the cases of staged branches)
  • There where some problems about IMMUTABILITY and write barrier checks
    • The meta-compilation was generating 2 checks (one for Old Space and other for Perm Space), but both call to the same trampoline. For now I ignored permi from Druid, but we should re-write the interpreter to support both but only call the trampoline once (or maye not.. I'm not sure).
    • I force a IMMUTABILITY := true during code generation, because the code is different and it is a global variable that can have any value.
    • I also changed the order of pops and deoptimization points in the interpreter for better code in Druid

We need to merge the PR in the VM before this pharo-project/pharo-vm#880

@guillep
Copy link
Member

guillep commented Dec 4, 2024

Loading?

@PalumboN
Copy link
Contributor Author

PalumboN commented Dec 4, 2024

Yes, github was slow 👀 Now it is ok.

@guillep guillep enabled auto-merge December 23, 2024 13:50
@PalumboN PalumboN requested a review from guillep January 27, 2025 13:30
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.

druidExitPoint does not work for meta-compilation of bytecodes
2 participants