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

Bug fixes + adding possibility to switch from bytecode interpreter to DAST interpreter and vice-versa #29

Open
wants to merge 50 commits into
base: master
Choose a base branch
from

Conversation

adri09070
Copy link
Contributor

Partially fixes #24

The "only" thing left to do is to be able to switch from optimized code in bytecode to non optimized code in DAST (and vice-versa)

adri09070 and others added 30 commits August 18, 2022 16:17
updating ASTInterpreter and ASTPostOrderTreeVisitor according to new AST visitor API
removing deprecated spec-debugger dependency + adding espell dependen…
…same result when resumed. It works but raises an exception "CannotReturn" afterwards and I don't know why
…k context itself.

Just like with DASTMethodContext, it works but it raises a Context>>#cannotReturn:
- the stack remains the same
- current node is last executed node
- dast context chain is correct (the root is at the right place): this test is not green for now
- adding bc -> DAST interpreter switch test about being able to find bindings of variables inside closures that are defined in a context outside of these closures but that doesn't have an equivalent DAST context
- skipping the test about receivers remaining the same before and after switch, because I'm not sure of what should be the receiver of a DASTBlockContext
…s (stack unchanged, receiver state unchanged, correct stepping, termination of process, running process with new context...)

The test that checks bindings recursively and stack recursively are yellow for now
…kClosure in DASTBlock

Vectors of temps need to be handled for DAST -> bc switch

mapping indexes to right temps
Handling vectors of temps for DAST -> bc and bc -> DAST switches + tests
…n-DAST-and-bytecode-interpreters

merging temp vectors handling to the experimental branch
…ion so that it becomes an exception that is only used to open a DASTDebugger
@adri09070 adri09070 closed this Jun 16, 2023
@adri09070 adri09070 reopened this Jun 16, 2023
@adri09070
Copy link
Contributor Author

Looks like I forgot to commit an extension method there

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.

We need an equivalence between DAST and bytecode interpreters
1 participant