1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 20:17:44 +00:00

LibJS/JIT: Support all the binary bytecode ops :^)

(And use the X macro to avoid repeating ourselves!)
This commit is contained in:
Andreas Kling 2023-10-18 13:03:49 +02:00
parent c2fe7af095
commit b923ca392d
2 changed files with 39 additions and 76 deletions

View file

@ -36,15 +36,17 @@ private:
void compile_set_local(Bytecode::Op::SetLocal const&);
void compile_jump(Bytecode::Op::Jump const&);
void compile_jump_conditional(Bytecode::Op::JumpConditional const&);
void compile_less_than(Bytecode::Op::LessThan const&);
void compile_increment(Bytecode::Op::Increment const&);
void compile_enter_unwind_context(Bytecode::Op::EnterUnwindContext const&);
void compile_leave_unwind_context(Bytecode::Op::LeaveUnwindContext const&);
void compile_throw(Bytecode::Op::Throw const&);
void compile_add(Bytecode::Op::Add const&);
void compile_sub(Bytecode::Op::Sub const&);
void compile_mul(Bytecode::Op::Mul const&);
void compile_div(Bytecode::Op::Div const&);
#define DO_COMPILE_COMMON_BINARY_OP(OpTitleCase, op_snake_case) \
void compile_##op_snake_case(Bytecode::Op::OpTitleCase const&);
JS_ENUMERATE_COMMON_BINARY_OPS(DO_COMPILE_COMMON_BINARY_OP)
#undef DO_COMPILE_COMMON_BINARY_OP
void compile_return(Bytecode::Op::Return const&);
void compile_new_string(Bytecode::Op::NewString const&);