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

Register VM #3798

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Register VM #3798

wants to merge 1 commit into from

Conversation

HalidOdat
Copy link
Member

@HalidOdat HalidOdat commented Apr 9, 2024

This a WIP PR that transitions the current stack based VM to a register based VM.

Changes

  • Implement mechanism for allocation registers
  • Transition all opcodes to the register based
  • Fix printing of instructions
  • Remove all stack manipulation opcodes (pop, push, swap, etc...)
  • Remove temporary opcodes and functions used for the transition.

@HalidOdat HalidOdat added execution Issues or PRs related to code execution Internal Category for changelog labels Apr 9, 2024
Copy link

github-actions bot commented Apr 9, 2024

Test262 conformance changes

Test result main count PR count difference
Total 48,212 48,212 0
Passed 43,264 43,264 0
Ignored 1,413 1,413 0
Failed 3,535 3,535 0
Panics 0 0 0
Conformance 89.74% 89.74% 0.00%

@HalidOdat
Copy link
Member Author

The failing test is due to #3907 , in any case I'll work on always returning i32 for increment.

- Add todo for storing fp in CallFrame
- Start on moving to register VM
- Add more binary ops
- Add helpter transition methods
- Register based logical ops
- Register InPrivate
- Register GetFunction
- Some class opcodes
- Register post and pre increment and decrement
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
execution Issues or PRs related to code execution Internal Category for changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant