From b095aedd386e076d1f5a56b7384b836e653387d1 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 17 Sep 2019 01:28:55 +0200 Subject: Add support for r8-r15 registers, pass args to registers directly (sys-v) --- executor/executor.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'executor/executor.h') diff --git a/executor/executor.h b/executor/executor.h index 743500c..7f9793e 100644 --- a/executor/executor.h +++ b/executor/executor.h @@ -39,10 +39,11 @@ CHECK_RESULT int amal_exec_div(amal_executor *self, i8 dst_reg, i8 src_reg1, i8 CHECK_RESULT int amal_exec_push(amal_executor *self, i8 reg); CHECK_RESULT int amal_exec_pushi(amal_executor *self, i64 imm); CHECK_RESULT int amal_exec_pushd(amal_executor *self, BufferView data); -CHECK_RESULT int amal_exec_call(amal_executor *self, u32 code_offset, u8 num_args, i8 dst_reg); +CHECK_RESULT int amal_exec_call_start(amal_executor *self, u8 num_args); +CHECK_RESULT int amal_exec_call(amal_executor *self, u32 code_offset, i8 dst_reg); void amal_exec_call_overwrite(amal_executor *self, u32 call_code_offset, i32 new_target_rel32); /*CHECK_RESULT int amal_exec_callr(i8 dst_reg, BufferView data);*/ -CHECK_RESULT int amal_exec_calle(amal_executor *self, void *func, u8 num_args, i8 dst_reg); +CHECK_RESULT int amal_exec_calle(amal_executor *self, void *func, i8 dst_reg); CHECK_RESULT int amal_exec_cmp(amal_executor *self, i8 dst_reg, i8 src_reg1, i8 src_reg2); CHECK_RESULT int amal_exec_jz(amal_executor *self, i8 reg, u16 target_label); CHECK_RESULT int amal_exec_jmp(amal_executor *self, u16 target_label); -- cgit v1.2.3