Simon Wanner
6c8ab1ca0d
LibJS/JIT: Add a builtin for Math.abs
2023-11-17 19:06:25 +01:00
Stephan Vedder
32352aa729
LibJS/JIT: Add a fast path for floating point comparisons
2023-11-16 11:43:44 +01:00
Bastiaan van der Plaat
d3b3e49e19
LibJS/JIT: Use the x86_64 setcc instruction to remove a branch
2023-11-14 09:54:48 +01:00
Simon Wanner
a3399fa13a
LibJS/JIT: Expand Mul
fast path to double & i32 combinations
...
Co-authored-by: Stephan Vedder <vedder@mbits.info>
2023-11-10 11:01:59 +01:00
Simon Wanner
867b8146cf
LibJS/JIT: Expand Sub
fast path to double & i32 combinations
...
Co-authored-by: Stephan Vedder <vedder@mbits.info>
2023-11-10 11:01:59 +01:00
Simon Wanner
5edab2679c
LibJS/JIT: Expand Add
fast path to double & i32 combinations
...
Co-authored-by: Stephan Vedder <vedder@mbits.info>
2023-11-10 11:01:59 +01:00
Simon Wanner
d91b376393
LibJS/JIT: Add helper for generating combined i32 & double fastpaths
...
Co-authored-by: Stephan Vedder <vedder@mbits.info>
2023-11-10 11:01:59 +01:00
Simon Wanner
578912aa6c
LibJIT: Support unordered double comparison
2023-11-10 11:01:59 +01:00
Simon Wanner
a698c51a5b
LibJIT: Add floating-point registers
...
Co-authored-by: Stephan Vedder <vedder@mbits.info>
2023-11-10 11:01:59 +01:00
Andreas Kling
55e467c359
LibJS/JIT: Add fast path for cached PutById
2023-11-09 16:02:14 +01:00
Stephan Vedder
13726fd3b7
LibJS/JIT: Add fast path for decrement
...
Generate jitted code for the decrement opcode.
2023-11-08 21:09:44 +01:00
Stephan Vedder
0e69f744df
LibJS/JIT: Add increment instruction
...
Instead of using `Add` with an immediate of 1 use the `Inc` instruction
2023-11-08 21:09:44 +01:00
Simon Wanner
ff63222425
LibJIT: Add mov8/mov16/mov32 with zero- or sign-extension
2023-11-07 14:39:13 +01:00
Andreas Kling
5479bb6ac9
LibJIT/X86_64: Allow mul32() with immediate operand
2023-11-07 11:33:04 +01:00
iliadsh
24d5070520
LibJS/JIT: Add fast path for UnsignedRightShift
2023-11-07 10:17:04 +01:00
iliadsh
c956316c98
LibJS/JIT: Add fast path for RightShift
2023-11-07 10:17:04 +01:00
iliadsh
1244e91481
LibJS/JIT: Add fast path for LeftShift
2023-11-07 10:17:04 +01:00
Nikodem Rabuliński
bacbd830fe
LibJIT: Make X86_64Assembler::native_call take u64 instead of void*
...
Now that x86-specific Assembler will be compiled on every architecture
we can't rely on void* being the right width.
It also fixes compilation on targets which have void*
be different length from u64 (WASM in particular).
2023-11-06 10:05:42 +01:00
Nikodem Rabuliński
8aa35f4fab
LibJIT+LibJS: Rename Assembler to X86_64Assembler
...
This is in preparation for making LibJIT support multiple architectures.
Assembler will now be typedefed to the specific assembler
for a particular architecture.
Additionally, there's now JIT_ARCH_SUPPORTED which is defined on
architectures which LibJIT supports.
2023-11-06 10:05:42 +01:00