-
-
Notifications
You must be signed in to change notification settings - Fork 413
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
Simplify/Refactor exception handling and last statement value #3053
Conversation
Test262 conformance changes
|
Codecov Report
@@ Coverage Diff @@
## main #3053 +/- ##
==========================================
- Coverage 50.55% 50.39% -0.16%
==========================================
Files 446 445 -1
Lines 46071 45909 -162
==========================================
- Hits 23292 23138 -154
+ Misses 22779 22771 -8
|
bcb7631
to
fed05d7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice clean-up!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great refactor!
This PR simplifies some vm/bytecompiler logic which should make it easier to implement optimizations (since the optimizer has to account for all this complexity).
It changes the following:
PopIfThrown
,PopOnReturnAdd
,PopOnReturnSub
,CatchStart
,CatchEnd
andCatchEnd2
,BreakLabel
SetReturnValue
andGetReturnValue
opcodes (return value is currently stored on the call frame, which is not optimal will change that once we refactor function calling in the vm).EnvEntry
use_expr
if needed.EnvEntry
to truncate the stack instead ofpop_on_return
on call frame (which was removed).break
andcontinue
opcodes