ladybird/Userland/Libraries/LibJS/Bytecode
Andreas Kling 448f837d38 LibJS/Bytecode: Round constant operands of bitwise binary expressions
This helps some of the Cloudflare Turnstile stuff run faster, since they
are deliberately screwing with JS engines by asking us to do a bunch of
bitwise operations on e.g 65535.56

By rounding such values in bytecode generation, the interpreter can stay
on the happy path while executing, and finish quite a bit faster.
2024-05-10 15:03:24 +00:00
..
ASTCodegen.cpp LibJS/Bytecode: Round constant operands of bitwise binary expressions 2024-05-10 15:03:24 +00:00
BasicBlock.cpp LibJS/Bytecode: Store labels as basic block index during compilation 2024-05-07 09:15:40 +02:00
BasicBlock.h LibJS/Bytecode: Do basic compare-and-jump peephole optimization 2024-05-10 15:03:24 +00:00
Builtins.cpp LibJS: Introduce Builtins 2023-11-17 19:06:25 +01:00
Builtins.h LibJS/JIT: Add builtin for Math.exp() 2023-11-24 12:49:15 +01:00
CodeGenerationError.cpp
CodeGenerationError.h
CommonImplementations.h LibJS/Bytecode: Inline indexed property access in GetByVal better 2024-05-09 09:12:13 +02:00
Executable.cpp LibJS/Bytecode: Keep instruction source mappings in Executable 2024-05-07 09:15:40 +02:00
Executable.h LibJS/Bytecode: Keep instruction source mappings in Executable 2024-05-07 09:15:40 +02:00
Generator.cpp LibJS/Bytecode: Turn JumpIf true/false into unconditional Jump 2024-05-10 15:03:24 +00:00
Generator.h LibJS/Bytecode: Do basic compare-and-jump peephole optimization 2024-05-10 15:03:24 +00:00
IdentifierTable.cpp LibJS/Bytecode: Make IdentifierTableIndex a 32-bit index 2024-05-07 09:15:40 +02:00
IdentifierTable.h LibJS/Bytecode: Make IdentifierTableIndex a 32-bit index 2024-05-07 09:15:40 +02:00
Instruction.cpp LibJS/Bytecode: Remove Instruction::m_length field 2024-05-07 09:15:40 +02:00
Instruction.h LibJS/Bytecode: Do basic compare-and-jump peephole optimization 2024-05-10 15:03:24 +00:00
Interpreter.cpp LibJS/Bytecode: Do basic compare-and-jump peephole optimization 2024-05-10 15:03:24 +00:00
Interpreter.h LibJS/Bytecode: Flatten bytecode to a contiguous representation 2024-05-07 09:15:40 +02:00
Label.cpp LibJS/Bytecode: Store labels as basic block index during compilation 2024-05-07 09:15:40 +02:00
Label.h LibJS/Bytecode: Store labels as basic block index during compilation 2024-05-07 09:15:40 +02:00
Op.h LibJS/Bytecode: Do basic compare-and-jump peephole optimization 2024-05-10 15:03:24 +00:00
Operand.h LibJS/Bytecode: Reuse bytecode registers 2024-05-09 09:12:13 +02:00
RegexTable.cpp
RegexTable.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Register.h LibJS: Stash thrown exception in a register before executing finalizer 2023-11-03 20:27:45 +01:00
ScopedOperand.cpp LibJS/Bytecode: Reuse bytecode registers 2024-05-09 09:12:13 +02:00
ScopedOperand.h LibJS/Bytecode: Do basic compare-and-jump peephole optimization 2024-05-10 15:03:24 +00:00
StringTable.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
StringTable.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30