mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 09:08:10 +00:00
LibJS/JIT: Add more equality fast paths
This commit is contained in:
parent
671cbf6a5b
commit
ad98834b50
2 changed files with 330 additions and 27 deletions
|
@ -49,10 +49,7 @@ private:
|
|||
O(Exp, exp) \
|
||||
O(Mod, mod) \
|
||||
O(In, in) \
|
||||
O(InstanceOf, instance_of) \
|
||||
O(LooselyInequals, loosely_inequals) \
|
||||
O(StrictlyInequals, strict_inequals) \
|
||||
O(StrictlyEquals, strict_equals)
|
||||
O(InstanceOf, instance_of)
|
||||
|
||||
# define JS_ENUMERATE_COMPARISON_OPS(O) \
|
||||
O(LessThan, less_than, SignedLessThan) \
|
||||
|
@ -164,6 +161,10 @@ private:
|
|||
void compile_to_boolean(Assembler::Reg dst, Assembler::Reg src);
|
||||
void compile_continuation(Optional<Bytecode::Label>, bool is_await);
|
||||
|
||||
template<typename Codegen>
|
||||
void branch_if_same_type_for_equality(Assembler::Reg, Assembler::Reg, Codegen);
|
||||
void compile_is_strictly_equal(Assembler::Reg, Assembler::Reg, Assembler::Label& slow_case);
|
||||
|
||||
void check_exception();
|
||||
void handle_exception();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue