[Compiler] Improve VM stack operations #3745
Merged
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.
Work towards #3742
Description
The VM has some helper functions for the operand stack, e.g.
pop2
andpop3
, which pop 2 and 3 values from the stack respectively. These functions currently return the values in reverse order, which is a bit confusing and error prone. For example, the implementation of theSetIndex
instruction invm.opSetIndex
gets the values in reverse order.Change the order of the return valuesto reflect the order on the stack.
Also, add tests and add a
peekN
helper, as well as tests.master
branchFiles changed
in the Github PR explorer