mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 01:47:34 +00:00
LibJS: More properly implement scoping rules in bytecode codegen
Now we emit CreateVariable and SetVariable with the appropriate initialization/environment modes, much closer to the spec. This makes a whole lot of things like let/const variables, function and variable hoisting and some other things work :^)
This commit is contained in:
parent
c7e6b65fd2
commit
1bbfaf8627
12 changed files with 503 additions and 38 deletions
|
@ -20,6 +20,8 @@
|
|||
O(ConcatString) \
|
||||
O(ContinuePendingUnwind) \
|
||||
O(CopyObjectExcludingProperties) \
|
||||
O(CreateEnvironment) \
|
||||
O(CreateVariable) \
|
||||
O(Decrement) \
|
||||
O(Div) \
|
||||
O(EnterUnwindContext) \
|
||||
|
@ -42,6 +44,7 @@
|
|||
O(JumpConditional) \
|
||||
O(JumpNullish) \
|
||||
O(JumpUndefined) \
|
||||
O(LeaveEnvironment) \
|
||||
O(LeaveUnwindContext) \
|
||||
O(LeftShift) \
|
||||
O(LessThan) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue