Lines Matching refs:compiler

29 static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm)  in load_immediate()  argument
32 return push_inst(compiler, ORI | SA(0) | TA(dst_ar) | IMM(imm), dst_ar); in load_immediate()
35 return push_inst(compiler, ADDIU | SA(0) | TA(dst_ar) | IMM(imm), dst_ar); in load_immediate()
37 FAIL_IF(push_inst(compiler, LUI | TA(dst_ar) | IMM(imm >> 16), dst_ar)); in load_immediate()
38 …return (imm & 0xffff) ? push_inst(compiler, ORI | SA(dst_ar) | TA(dst_ar) | IMM(imm), dst_ar) : SL… in load_immediate()
41 static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw i… in emit_const() argument
43 FAIL_IF(push_inst(compiler, LUI | T(dst) | IMM(init_value >> 16), DR(dst))); in emit_const()
44 return push_inst(compiler, ORI | S(dst) | T(dst) | IMM(init_value), DR(dst)); in emit_const()
66 static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s32 arg_types, sljit_ins *in… in call_with_args() argument
121 if (offset > 4 * sizeof(sljit_sw) && (!is_tail_call || offset > compiler->args_size)) { in call_with_args()
124 FAIL_IF(emit_stack_frame_release(compiler, (sljit_s32)offset, &prev_ins)); in call_with_args()
127 FAIL_IF(push_inst(compiler, ADDIU | S(SLJIT_SP) | T(SLJIT_SP) | IMM(-16), DR(SLJIT_SP))); in call_with_args()
132 FAIL_IF(emit_stack_frame_release(compiler, 0, &prev_ins)); in call_with_args()
143 FAIL_IF(push_inst(compiler, prev_ins, MOVABLE_INS)); in call_with_args()
182 FAIL_IF(push_inst(compiler, prev_ins, MOVABLE_INS)); in call_with_args()
195 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_… in sljit_emit_call() argument
203 CHECK_PTR(check_sljit_emit_call(compiler, type, arg_types)); in sljit_emit_call()
205 jump = (struct sljit_jump*)ensure_abuf(compiler, sizeof(struct sljit_jump)); in sljit_emit_call()
207 set_jump(jump, compiler, type & SLJIT_REWRITABLE_JUMP); in sljit_emit_call()
211 PTR_FAIL_IF(call_with_args(compiler, arg_types, &ins, &extra_space)); in sljit_emit_call()
213 PTR_FAIL_IF(emit_stack_frame_release(compiler, 0, &ins)); in sljit_emit_call()
217 if (ins == NOP && compiler->delay_slot != UNMOVABLE_INS) in sljit_emit_call()
226 PTR_FAIL_IF(push_inst(compiler, JALR | S(PIC_ADDR_REG) | DA(RETURN_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_call()
228 PTR_FAIL_IF(push_inst(compiler, JR | S(PIC_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_call()
230 jump->addr = compiler->size; in sljit_emit_call()
231 PTR_FAIL_IF(push_inst(compiler, ins, UNMOVABLE_INS)); in sljit_emit_call()
234 compiler->size += 2; in sljit_emit_call()
240 PTR_FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RETURN_ADDR_REG, in sljit_emit_call()
244 PTR_FAIL_IF(push_inst(compiler, JR | SA(RETURN_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_call()
246 PTR_FAIL_IF(push_inst(compiler, ADDIU | S(SLJIT_SP) | T(SLJIT_SP) | IMM(extra_space), in sljit_emit_call()
251 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_icall() argument
259 CHECK(check_sljit_emit_icall(compiler, type, arg_types, src, srcw)); in sljit_emit_icall()
263 FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, DR(PIC_ADDR_REG), src, srcw)); in sljit_emit_icall()
270 …if (src >= SLJIT_FIRST_SAVED_REG && src <= (SLJIT_S0 - SLJIT_KEPT_SAVEDS_COUNT(compiler->options))… in sljit_emit_icall()
271 FAIL_IF(push_inst(compiler, ADDU | S(src) | TA(0) | D(PIC_ADDR_REG), DR(PIC_ADDR_REG))); in sljit_emit_icall()
276 FAIL_IF(emit_stack_frame_release(compiler, 0, &ins)); in sljit_emit_icall()
279 FAIL_IF(push_inst(compiler, ins, MOVABLE_INS)); in sljit_emit_icall()
282 SLJIT_SKIP_CHECKS(compiler); in sljit_emit_icall()
283 return sljit_emit_ijump(compiler, type, src, srcw); in sljit_emit_icall()
289 FAIL_IF(load_immediate(compiler, DR(PIC_ADDR_REG), srcw)); in sljit_emit_icall()
291 FAIL_IF(push_inst(compiler, ADDU | S(src) | TA(0) | D(PIC_ADDR_REG), DR(PIC_ADDR_REG))); in sljit_emit_icall()
293 FAIL_IF(call_with_args(compiler, arg_types, &ins, &extra_space)); in sljit_emit_icall()
297 FAIL_IF(push_inst(compiler, JALR | S(PIC_ADDR_REG) | DA(RETURN_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_icall()
299 FAIL_IF(push_inst(compiler, JR | S(PIC_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_icall()
300 FAIL_IF(push_inst(compiler, ins, UNMOVABLE_INS)); in sljit_emit_icall()
306 FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RETURN_ADDR_REG, in sljit_emit_icall()
310 FAIL_IF(push_inst(compiler, JR | SA(RETURN_ADDR_REG), UNMOVABLE_INS)); in sljit_emit_icall()
312 return push_inst(compiler, ADDIU | S(SLJIT_SP) | T(SLJIT_SP) | IMM(extra_space), in sljit_emit_icall()