py/asmthumb: Remove unused fun_ptr arg from asm_thumb_bl_ind function.
This commit is contained in:
parent
5f1dd5b86b
commit
25571800fc
@ -381,7 +381,7 @@ void asm_thumb_bcc_label(asm_thumb_t *as, int cond, uint label) {
|
|||||||
#define OP_BLX(reg) (0x4780 | ((reg) << 3))
|
#define OP_BLX(reg) (0x4780 | ((reg) << 3))
|
||||||
#define OP_SVC(arg) (0xdf00 | (arg))
|
#define OP_SVC(arg) (0xdf00 | (arg))
|
||||||
|
|
||||||
void asm_thumb_bl_ind(asm_thumb_t *as, void *fun_ptr, uint fun_id, uint reg_temp) {
|
void asm_thumb_bl_ind(asm_thumb_t *as, uint fun_id, uint reg_temp) {
|
||||||
// Load ptr to function from table, indexed by fun_id, then call it
|
// Load ptr to function from table, indexed by fun_id, then call it
|
||||||
asm_thumb_ldr_reg_reg_i12_optimised(as, reg_temp, ASM_THUMB_REG_FUN_TABLE, fun_id);
|
asm_thumb_ldr_reg_reg_i12_optimised(as, reg_temp, ASM_THUMB_REG_FUN_TABLE, fun_id);
|
||||||
asm_thumb_op16(as, OP_BLX(reg_temp));
|
asm_thumb_op16(as, OP_BLX(reg_temp));
|
||||||
|
@ -259,7 +259,7 @@ void asm_thumb_ldr_reg_reg_i12_optimised(asm_thumb_t *as, uint reg_dest, uint re
|
|||||||
|
|
||||||
void asm_thumb_b_label(asm_thumb_t *as, uint label); // convenience: picks narrow or wide branch
|
void asm_thumb_b_label(asm_thumb_t *as, uint label); // convenience: picks narrow or wide branch
|
||||||
void asm_thumb_bcc_label(asm_thumb_t *as, int cc, uint label); // convenience: picks narrow or wide branch
|
void asm_thumb_bcc_label(asm_thumb_t *as, int cc, uint label); // convenience: picks narrow or wide branch
|
||||||
void asm_thumb_bl_ind(asm_thumb_t *as, void *fun_ptr, uint fun_id, uint reg_temp); // convenience
|
void asm_thumb_bl_ind(asm_thumb_t *as, uint fun_id, uint reg_temp); // convenience
|
||||||
|
|
||||||
// Holds a pointer to mp_fun_table
|
// Holds a pointer to mp_fun_table
|
||||||
#define ASM_THUMB_REG_FUN_TABLE ASM_THUMB_REG_R7
|
#define ASM_THUMB_REG_FUN_TABLE ASM_THUMB_REG_R7
|
||||||
@ -311,7 +311,7 @@ void asm_thumb_bl_ind(asm_thumb_t *as, void *fun_ptr, uint fun_id, uint reg_temp
|
|||||||
asm_thumb_bcc_label(as, ASM_THUMB_CC_EQ, label); \
|
asm_thumb_bcc_label(as, ASM_THUMB_CC_EQ, label); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#define ASM_JUMP_REG(as, reg) asm_thumb_bx_reg((as), (reg))
|
#define ASM_JUMP_REG(as, reg) asm_thumb_bx_reg((as), (reg))
|
||||||
#define ASM_CALL_IND(as, ptr, idx) asm_thumb_bl_ind(as, ptr, idx, ASM_THUMB_REG_R3)
|
#define ASM_CALL_IND(as, ptr, idx) asm_thumb_bl_ind(as, idx, ASM_THUMB_REG_R3)
|
||||||
|
|
||||||
#define ASM_MOV_LOCAL_REG(as, local_num, reg) asm_thumb_mov_local_reg((as), (local_num), (reg))
|
#define ASM_MOV_LOCAL_REG(as, local_num, reg) asm_thumb_mov_local_reg((as), (local_num), (reg))
|
||||||
#define ASM_MOV_REG_IMM(as, reg_dest, imm) asm_thumb_mov_reg_i32_optimised((as), (reg_dest), (imm))
|
#define ASM_MOV_REG_IMM(as, reg_dest, imm) asm_thumb_mov_reg_i32_optimised((as), (reg_dest), (imm))
|
||||||
|
@ -487,7 +487,7 @@ STATIC void emit_native_start_pass(emit_t *emit, pass_kind_t pass, scope_t *scop
|
|||||||
|
|
||||||
// Call mp_setup_code_state to prepare code_state structure
|
// Call mp_setup_code_state to prepare code_state structure
|
||||||
#if N_THUMB
|
#if N_THUMB
|
||||||
asm_thumb_bl_ind(emit->as, mp_fun_table[MP_F_SETUP_CODE_STATE], MP_F_SETUP_CODE_STATE, ASM_THUMB_REG_R4);
|
asm_thumb_bl_ind(emit->as, MP_F_SETUP_CODE_STATE, ASM_THUMB_REG_R4);
|
||||||
#elif N_ARM
|
#elif N_ARM
|
||||||
asm_arm_bl_ind(emit->as, MP_F_SETUP_CODE_STATE, ASM_ARM_REG_R4);
|
asm_arm_bl_ind(emit->as, MP_F_SETUP_CODE_STATE, ASM_ARM_REG_R4);
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user