Andreas Kling
|
2e23f00a2f
LibJS/Bytecode: Move environment coordinate caches to Executable
|
hai 1 ano |
Andreas Kling
|
6a3f27509f
LibJS: Avoid IdentifierTable lookup in cached GetGlobal op
|
hai 1 ano |
Andreas Kling
|
ae4e46a037
LibJS: Do less work in successfully cached GetByValue* ops
|
hai 1 ano |
Andreas Kling
|
65717e3b75
LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive}
|
hai 1 ano |
Andreas Kling
|
021a141b53
LibJS: Make array-like Put access on ordinary objects much faster
|
hai 1 ano |
Andreas Kling
|
27a83f7e5e
LibJS: Make array-like Get access on ordinary objects much faster
|
hai 1 ano |
Andreas Kling
|
c14db6ab12
LibJS: Make Executable ref-counted and let instruction iterator co-own it
|
hai 1 ano |
Andreas Kling
|
feedbd6a01
LibJS: Put __builtin_unreachable() in unused bytecode opcode handlers
|
hai 1 ano |
Andreas Kling
|
f3606adc58
LibJS: Inline bytecode ops for direct local/register access
|
hai 1 ano |
Andreas Kling
|
ae1ac9871b
LibJS: Move all bytecode instruction implementations to Interpreter.cpp
|
hai 1 ano |
Andreas Kling
|
e5474c384d
LibJS: Inline flow control ops in the bytecode interpreter loop
|
hai 1 ano |
Andreas Kling
|
39cfb64269
LibJS: Return early from Interpreter on unhandled exception
|
hai 1 ano |
Andreas Kling
|
c9eff35b96
LibJS: Use `goto` instead of `bool will_jump` in interpreter loop
|
hai 1 ano |
Andreas Kling
|
9fe38245b2
LibJS: Move bytecode interpreter's inner loop to its own function
|
hai 1 ano |
Andreas Kling
|
951a85992b
LibJS: Mark the exception path as [[unlikely]] in the interpreter loop
|
hai 1 ano |
Andreas Kling
|
213b835b57
LibJS: Remove Bytecode::Interpreter::debug_position()
|
hai 1 ano |
Andreas Kling
|
0c746366cc
LibJS: Keep return value in a call frame register
|
hai 1 ano |
Andreas Kling
|
c833885fb5
LibJS: Keep cached `this` value in a call frame register
|
hai 1 ano |
Andreas Kling
|
3887b840a3
LibJS: Keep current exception in a call frame register
|
hai 1 ano |
Andreas Kling
|
3ccac0cf6e
LibJS: Remove unused realm parameter from run_and_return_frame()
|
hai 1 ano |
Andreas Kling
|
d6e959686d
LibJS: Remove automatic ExecutionContext creation in BC interpreter
|
hai 1 ano |
Andreas Kling
|
c78506d79b
LibJS: Only update EC instruction pointer when pushing to EC stack
|
hai 1 ano |
Andreas Kling
|
1c06111cbd
LibJS: Add file & line number to bytecode VM stack traces :^)
|
hai 1 ano |
Andreas Kling
|
97ebfd9f0f
LibJS: Make Value::to_string_without_side_effects() infallible
|
hai 1 ano |
Andreas Kling
|
2eaa528a0e
LibJS: Rip out the AST interpreter :^)
|
hai 1 ano |
Andreas Kling
|
e2c8d5859e
LibJS: Remove ability to disable bytecode VM
|
hai 1 ano |
Andreas Kling
|
d1d24569f8
LibJS/Bytecode: Remove unused AST interpreter hacks from bytecode VM
|
hai 1 ano |
Andreas Kling
|
34344120f2
AK: Make "foo"_string infallible
|
hai 1 ano |
Aliaksandr Kalenik
|
2bdc69c42c
LibJS: Add caching of this value in ResolveThisBinding instruction
|
hai 1 ano |
Andreas Kling
|
9f06e130a2
LibJS/Bytecode: Keep saved return value in call frame register
|
hai 1 ano |