Hendiadyoin1
1341f4438d
LibJS: Save scheduled jumps when entering unwind contexts
...
These are then restored upon `ContinuePendingUnwind`.
This stops us from forgetting where we needed to jump when we do extra
try-catches in finally blocks.
Co-Authored-By: Jesús "gsus" Lapastora <cyber.gsuscode@gmail.com>
2023-10-30 13:10:08 +01:00
Hendiadyoin1
4da5b8ec67
LibJS: Reset scheduled-jump flag when throwing an exception
...
Otherwise we might attempt to follow the scheduled jump later
2023-10-30 13:10:08 +01:00
Hendiadyoin1
f5645e3c9c
LibJS: Use static unwind mappings for unwind related functions
2023-10-30 13:10:08 +01:00
Hendiadyoin1
73f347b75c
LibJS: Create static unwind mappings for BasicBlock
s
...
This is currently only used in the bytecode dump to annotate to where
unwinds lead per block, but will be hooked up to the virtual machine in
the next commit.
2023-10-30 13:10:08 +01:00
Simon Wanner
a2b0154661
LibJS/JIT: Compile the AsyncIteratorClose instruction
2023-10-30 07:10:24 +01:00
Simon Wanner
ac59e982a9
LibJS/JIT: Compile the CopyObjectExcludingProperties instruction
2023-10-30 07:10:24 +01:00
Simon Wanner
9494fbe670
LibJS/JIT: Compile the PutByValueWithThis instruction
2023-10-30 07:10:24 +01:00
Simon Wanner
847889343f
LibJS/JIT: Compile the New##ErrorName instructions
2023-10-30 07:10:24 +01:00
Simon Wanner
a16082c6a5
LibJS/JIT: Compile the HasPrivateId instruction
2023-10-30 07:10:24 +01:00
Simon Wanner
19045d6431
LibJS/JIT: Compile the GetMethod instruction
2023-10-30 07:10:24 +01:00
Simon Wanner
c0c40110c1
LibJS/JIT: Compile the ImportCall instruction
2023-10-30 07:10:24 +01:00
Simon Wanner
ac43d3f6db
LibJS/JIT: Compile the PutPrivateById instruction
2023-10-29 22:57:19 +01:00
Simon Wanner
81697549b7
LibJS/JIT: Compile the PutByIdWithThis instruction
2023-10-29 22:57:19 +01:00
Simon Wanner
38d5d7979b
LibJS/JIT: Compile the DeleteByIdWithThis instruction
2023-10-29 22:57:19 +01:00
Simon Wanner
b53277110e
LibJS/JIT: Compile the GetByValueWithThis instruction
2023-10-29 22:57:19 +01:00
Simon Wanner
569ca57e22
LibJS/JIT: Compile the GetByIdWithThis instruction
2023-10-29 22:57:19 +01:00
Simon Wanner
4e9edb8c53
LibJS/JIT: Compile the GetPrivateById instruction
2023-10-29 22:57:19 +01:00
Simon Wanner
ad81bf47bb
LibJS: Move GetObjectPropertyIterator impl to CommonImplementations
2023-10-29 22:57:19 +01:00
Jakub Berkop
6a7b9b85a4
LibJS/JIT: Compile the DeleteByValueWithThis instruction
2023-10-29 21:51:46 +01:00
Jakub Berkop
0776404e03
LibJS/JIT: Compile the DeleteByValue instruction
2023-10-29 21:51:46 +01:00
Jakub Berkop
f5fcd4596c
LibJS/JIT: Compile the DeleteById instruction
2023-10-29 21:51:46 +01:00
Simon Wanner
40064d872f
LibJS/JIT: Compile the Append instruction
2023-10-29 17:36:09 +01:00
Simon Wanner
516bb01082
LibJS/Bytecode: Move Append impl to CommonImplementations
2023-10-29 17:36:09 +01:00
Simon Wanner
5179ff5fc9
LibJS/Bytecode: Move IteratorToArray impl to CommonImplementations
2023-10-29 17:36:09 +01:00
Simon Wanner
c697ff61f6
LibJS/JIT: Compile the IteratorClose instruction
2023-10-29 17:36:09 +01:00
Simon Wanner
661dbbc83d
LibJS/Bytecode: Move object_to_iterator to CommonImplementations
2023-10-29 17:36:09 +01:00
Simon Wanner
4f8f8b7792
LibJS/JIT: Compile the GetIterator instruction
2023-10-29 17:36:09 +01:00
Simon Wanner
d416cef9bb
LibJS/Bytecode: Move iterator_to_object to CommonImplementations
2023-10-29 17:36:09 +01:00
Simon Wanner
d247744a3e
LibJS/JIT: Compile the SuperCallWithArgumentArray instruction
2023-10-29 17:36:09 +01:00
Simon Wanner
1eee110575
LibJS: Move SuperCallWithArgumentArray impl to CommonImplementations
2023-10-29 17:36:09 +01:00
Simon Wanner
09dce5f1bd
LibJS/JIT: Compile the BlockDeclarationInstantiation instruction
2023-10-29 17:36:09 +01:00
Simon Wanner
4b23a7dfb4
LibJS/JIT: Compile the NewClass bytecode instruction
2023-10-29 07:44:11 +01:00
Simon Wanner
f9fbb8cff2
LibJS/Bytecode: Move NewClass impl to CommonImplementations
2023-10-29 07:44:11 +01:00
Simon Wanner
224f92f6e4
LibJS/JIT: Compile the CreateVariable bytecode instruction
2023-10-29 07:44:11 +01:00
Simon Wanner
54f1f7a51b
LibJS/Bytecode: Move CreateVariable impl to CommonImplementations
2023-10-29 07:44:11 +01:00
Simon Wanner
1d3062de9e
LibJS/JIT: Compile the ConcatString bytecode instruction
2023-10-29 07:44:11 +01:00
Idan Horowitz
b2d8d0c270
LibJS: Compile the CallWithArgumentArray bytecode instruction
2023-10-28 20:27:16 +02:00
Idan Horowitz
2b65a80ecb
LibJS: Compile the NewBigInt bytecode instruction
2023-10-28 20:27:16 +02:00
Andreas Kling
c1551a64dc
LibJS/JIT: Compile the NewRegExp bytecode instruction
2023-10-27 19:07:22 +02:00
Andreas Kling
17b2c7d965
LibJS/JIT: Compile the TypeofLocal bytecode instruction
2023-10-27 19:07:22 +02:00
Andreas Kling
935d67cfcf
LibJS/JIT: Compile the GetCalleeAndThisFromEnvironment instruction
2023-10-27 19:07:22 +02:00
Andreas Kling
dabaaabfc0
LibJS/JIT: Support the GetVariable bytecode instruction
2023-10-27 19:07:22 +02:00
Andreas Kling
bcf7cdb679
LibJS/Bytecode: Un-templatize throw_if_needed_for_call()
2023-10-27 19:07:22 +02:00
Andreas Kling
72c31fdd01
LibJS: Remove all interactions between Assembler and BasicBlock
...
With this change, Assembler is now free from LibJS concepts and could
move out to its own apartment. :^)
2023-10-27 19:07:22 +02:00
Andreas Kling
7097169967
LibJS/JIT: Compile the PutByValue bytecode instruction
2023-10-27 19:07:22 +02:00
Andreas Kling
c2aad0f573
LibJS/Bytecode: Move PutByValue impl to CommonImplementations
2023-10-27 19:07:22 +02:00
Andreas Kling
9c93d100d1
LibJS/JIT: Compile the NewFunction bytecode instruction
2023-10-27 19:07:22 +02:00
Andreas Kling
9f61cda27e
LibJS/Bytecode: Move NewFunction impl into CommonImplementations
2023-10-27 19:07:22 +02:00
Andreas Kling
393d90abe1
LibJS/Bytecode: Move SetVariable implementation to CommonImplementations
2023-10-27 19:07:22 +02:00
Andreas Kling
e946440ed3
LibJS/JIT: Compile the TypeofVariable bytecode instruction
2023-10-27 19:07:22 +02:00