Andreas Kling
|
507f83a615
LibJS/Bytecode: Always resolve `this` binding into dedicated register
|
1 年之前 |
Andreas Kling
|
9d57b55f24
LibJS/Bytecode: Make Generator aware of the function it's compiling
|
1 年之前 |
Andreas Kling
|
59c2637fdc
LibJS/Bytecode: Rename emit_function_body_bytecode() -> compile()
|
1 年之前 |
Aliaksandr Kalenik
|
210a5d77dc
LibJS: Use a local variable for arguments object when possible
|
1 年之前 |
Andreas Kling
|
448b7ca87b
LibJS/Bytecode: Add dedicated instruction for getting `length` property
|
1 年之前 |
Hendiadyoin1
|
d79347dd4a
LibJS: Remove an old VERIFY from break handling in try-finally blocks
|
1 年之前 |
Hendiadyoin1
|
c8e4499b08
LibJS: Make return control flow more static
|
1 年之前 |
Andreas Kling
|
6ca94bd0b1
LibJS/Bytecode: Rename GetVariable => GetBinding
|
1 年之前 |
Andreas Kling
|
b7c04f999a
LibJS/Bytecode: Split SetVariable into four separate instructions
|
1 年之前 |
Andreas Kling
|
9265385807
LibJS/Bytecode: Don't bother propagating completion values in functions
|
1 年之前 |
Aliaksandr Kalenik
|
caffd485b8
LibJS: Replace SetLocal instruction usage with Mov
|
1 年之前 |
Aliaksandr Kalenik
|
d79438a2a6
LibJS: Join locals, constants and registers into single vector
|
1 年之前 |
Andreas Kling
|
d79353a477
LibJS/Bytecode: Add fast paths for compare-and-jump with 2 numbers
|
1 年之前 |
Andreas Kling
|
855f6417df
LibJS/Bytecode: Move environment variable caches into instructions
|
1 年之前 |
Andreas Kling
|
b5a070e8ce
LibJS/Bytecode: Don't create empty lexical environments
|
1 年之前 |
Aliaksandr Kalenik
|
3d4b13a01c
LibJS: Ensure capacity for created lexical and variable environments
|
1 年之前 |
Aliaksandr Kalenik
|
a4f70986a0
LibJS: Emit bytecode for function declaration instantiation
|
1 年之前 |
Andreas Kling
|
01ec56f1ed
LibJS/Bytecode: Fix register being freed too early in `delete` codegen
|
1 年之前 |
Andreas Kling
|
ca8dc8f61f
LibJS/Bytecode: Turn `JumpIf true/false` into unconditional `Jump`
|
1 年之前 |
Andreas Kling
|
7654da3851
LibJS/Bytecode: Do basic compare-and-jump peephole optimization
|
1 年之前 |
Andreas Kling
|
6873628317
LibJS/Bytecode: Make NewArray a variable-length instruction
|
1 年之前 |
Andreas Kling
|
cea59b6642
LibJS/Bytecode: Reuse bytecode registers
|
1 年之前 |
Andreas Kling
|
f537d0b3cf
LibJS/Bytecode: Allow all basic blocks to use cached `this` from block 0
|
1 年之前 |
Andreas Kling
|
0f70ff9a67
LibJS/Bytecode: Only emit ResolveThisBinding once per basic block
|
1 年之前 |
Andreas Kling
|
fae1527a18
LibJS/Bytecode: Turn JumpIf condition,@a,@next into JumpTrue/JumpFalse
|
1 年之前 |
Andreas Kling
|
24d8b056c7
LibJS/Bytecode: Elide jumps that land in the very next block
|
1 年之前 |
Andreas Kling
|
3a73eb99ac
LibJS/Bytecode: Store labels as basic block index during compilation
|
1 年之前 |
Andreas Kling
|
5a08544138
LibJS/Bytecode: Keep instruction source mappings in Executable
|
1 年之前 |
Andreas Kling
|
f6aee2b9e8
LibJS/Bytecode: Flatten bytecode to a contiguous representation
|
1 年之前 |
Hendiadyoin1
|
ada5027163
LibJS: Cleanup unwind state when transferring control out of a finalizer
|
1 年之前 |