Andreas Kling
c92954db36
LibJS/JIT: Resolve the GetById property name at JIT time
...
We can resolve the IdentifierTableIndex to a DeprecatedFlyString& once
when jitting the code, instead of every time GetById executes.
2023-11-06 13:06:10 +01:00
Simon Wanner
eaf8c2e398
LibJS: Improve error messages for primitive strict mode property access
...
Using ErrorType::ReferencePrimitiveSetProperty the errors for primitives
now look like "Cannot set property 'foo' of number '123'".
The strict-mode-errors test has been adjusted and re-enabled.
2023-11-05 18:44:48 +01:00
Idan Horowitz
38f3b78a1d
LibJS: Store the bytecode accumulator in a dedicated physical register
...
We now use a dedicated physical register to store the bytecode
accumulator, instead of loading and storing it to the memory everytime.
2023-11-02 22:35:35 +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
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
661dbbc83d
LibJS/Bytecode: Move object_to_iterator to CommonImplementations
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
1eee110575
LibJS: Move SuperCallWithArgumentArray impl to CommonImplementations
2023-10-29 17:36:09 +01:00
Simon Wanner
f9fbb8cff2
LibJS/Bytecode: Move NewClass impl to CommonImplementations
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
Idan Horowitz
b2d8d0c270
LibJS: Compile the CallWithArgumentArray 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
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
c2aad0f573
LibJS/Bytecode: Move PutByValue impl to CommonImplementations
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
d368dc5d25
LibJS/Bytecode: Move TypeofVariable impl to CommonImplementations
2023-10-27 19:07:22 +02:00
Andreas Kling
640455b1d2
LibJS/JIT: Compile the Call bytecode instruction
...
I've left a FIXME about dealing with some throwsy cases.
2023-10-27 19:07:22 +02:00
Andreas Kling
7fc35fde09
LibJS/Bytecode: Move throw_if_needed_for_call to CommonImplementations
2023-10-27 19:07:22 +02:00
Andreas Kling
b56ecc7e34
LibJS/Bytecode: Move perform_call helper to CommonImplementations
2023-10-27 19:07:22 +02:00
Andreas Kling
580249d650
LibJS/JIT: Compile the PutById bytecode instruction
2023-10-27 19:07:22 +02:00
Andreas Kling
3974ce2069
LibJS/JIT: Compile the GetGlobal bytecode instruction
2023-10-27 19:07:22 +02:00
Andreas Kling
e8190105db
LibJS/Bytecode: Move GetByValue implementation to CommonImplementations
2023-10-27 19:07:22 +02:00
Andreas Kling
8905682a16
LibJS/Bytecode: Begin moving shareable (JIT+Interpreter) stuff somewhere
...
There are a lot of native C++ functions that will be used by both the
bytecode interpreter and jitted code. Let's put them in their own file
instead of having them in Interpreter.cpp.
2023-10-27 19:07:22 +02:00