-
-
Notifications
You must be signed in to change notification settings - Fork 478
Simplify/Refactor exception handling and last statement value #3053
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
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
jedel1043
left a comment
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!
raskad
left a comment
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,CatchEndandCatchEnd2,BreakLabelSetReturnValueandGetReturnValueopcodes (return value is currently stored on the call frame, which is not optimal will change that once we refactor function calling in the vm).EnvEntryuse_exprif needed.EnvEntryto truncate the stack instead ofpop_on_returnon call frame (which was removed).breakandcontinueopcodes