Lines Matching refs:compiler

45 		if (SLJIT_UNLIKELY(compiler->error)) \
46 return compiler->error; \
51 if (SLJIT_UNLIKELY(compiler->error)) \
58 return compiler->error; \
70 compiler->error = SLJIT_ERR_ALLOC_FAILED; \
78 compiler->error = SLJIT_ERR_ALLOC_FAILED; \
86 compiler->error = SLJIT_ERR_EX_ALLOC_FAILED; \
304 compiler->error = SLJIT_ERR_BAD_ARGUMENT; \
312 compiler->error = SLJIT_ERR_BAD_ARGUMENT; \
368 …struct sljit_compiler *compiler = (struct sljit_compiler*)SLJIT_MALLOC(sizeof(struct sljit_compile… in sljit_create_compiler() local
369 if (!compiler) in sljit_create_compiler()
371 SLJIT_ZEROMEM(compiler, sizeof(struct sljit_compiler)); in sljit_create_compiler()
390 compiler->error = SLJIT_SUCCESS; in sljit_create_compiler()
392 compiler->allocator_data = allocator_data; in sljit_create_compiler()
393 compiler->exec_allocator_data = exec_allocator_data; in sljit_create_compiler()
394 compiler->buf = (struct sljit_memory_fragment*)SLJIT_MALLOC(BUF_SIZE, allocator_data); in sljit_create_compiler()
395 compiler->abuf = (struct sljit_memory_fragment*)SLJIT_MALLOC(ABUF_SIZE, allocator_data); in sljit_create_compiler()
397 if (!compiler->buf || !compiler->abuf) { in sljit_create_compiler()
398 if (compiler->buf) in sljit_create_compiler()
399 SLJIT_FREE(compiler->buf, allocator_data); in sljit_create_compiler()
400 if (compiler->abuf) in sljit_create_compiler()
401 SLJIT_FREE(compiler->abuf, allocator_data); in sljit_create_compiler()
402 SLJIT_FREE(compiler, allocator_data); in sljit_create_compiler()
406 compiler->buf->next = NULL; in sljit_create_compiler()
407 compiler->buf->used_size = 0; in sljit_create_compiler()
408 compiler->abuf->next = NULL; in sljit_create_compiler()
409 compiler->abuf->used_size = 0; in sljit_create_compiler()
411 compiler->scratches = -1; in sljit_create_compiler()
412 compiler->saveds = -1; in sljit_create_compiler()
413 compiler->fscratches = -1; in sljit_create_compiler()
414 compiler->fsaveds = -1; in sljit_create_compiler()
415 compiler->local_size = -1; in sljit_create_compiler()
418 compiler->args = -1; in sljit_create_compiler()
422 compiler->cpool = (sljit_uw*)SLJIT_MALLOC(CPOOL_SIZE * sizeof(sljit_uw) in sljit_create_compiler()
424 if (!compiler->cpool) { in sljit_create_compiler()
425 SLJIT_FREE(compiler->buf, allocator_data); in sljit_create_compiler()
426 SLJIT_FREE(compiler->abuf, allocator_data); in sljit_create_compiler()
427 SLJIT_FREE(compiler, allocator_data); in sljit_create_compiler()
430 compiler->cpool_unique = (sljit_u8*)(compiler->cpool + CPOOL_SIZE); in sljit_create_compiler()
431 compiler->cpool_diff = 0xffffffff; in sljit_create_compiler()
435 compiler->delay_slot = UNMOVABLE_INS; in sljit_create_compiler()
439 compiler->delay_slot = UNMOVABLE_INS; in sljit_create_compiler()
449 return compiler; in sljit_create_compiler()
452 SLJIT_API_FUNC_ATTRIBUTE void sljit_free_compiler(struct sljit_compiler *compiler) in sljit_free_compiler() argument
456 void *allocator_data = compiler->allocator_data; in sljit_free_compiler()
459 buf = compiler->buf; in sljit_free_compiler()
466 buf = compiler->abuf; in sljit_free_compiler()
474 SLJIT_FREE(compiler->cpool, allocator_data); in sljit_free_compiler()
476 SLJIT_FREE(compiler, allocator_data); in sljit_free_compiler()
479 SLJIT_API_FUNC_ATTRIBUTE void sljit_set_compiler_memory_error(struct sljit_compiler *compiler) in sljit_set_compiler_memory_error() argument
481 if (compiler->error == SLJIT_SUCCESS) in sljit_set_compiler_memory_error()
482 compiler->error = SLJIT_ERR_ALLOC_FAILED; in sljit_set_compiler_memory_error()
538 SLJIT_API_FUNC_ATTRIBUTE void sljit_set_current_flags(struct sljit_compiler *compiler, sljit_s32 cu… in sljit_set_current_flags() argument
540 SLJIT_UNUSED_ARG(compiler); in sljit_set_current_flags()
544 compiler->status_flags_state = current_flags; in sljit_set_current_flags()
548 compiler->last_flags = 0; in sljit_set_current_flags()
550compiler->last_flags = GET_FLAG_TYPE(current_flags) | (current_flags & (SLJIT_I32_OP | SLJIT_SET_Z… in sljit_set_current_flags()
559 static void* ensure_buf(struct sljit_compiler *compiler, sljit_uw size) in ensure_buf() argument
565 …if (compiler->buf->used_size + size <= (BUF_SIZE - (sljit_uw)SLJIT_OFFSETOF(struct sljit_memory_fr… in ensure_buf()
566 ret = compiler->buf->memory + compiler->buf->used_size; in ensure_buf()
567 compiler->buf->used_size += size; in ensure_buf()
570 new_frag = (struct sljit_memory_fragment*)SLJIT_MALLOC(BUF_SIZE, compiler->allocator_data); in ensure_buf()
572 new_frag->next = compiler->buf; in ensure_buf()
573 compiler->buf = new_frag; in ensure_buf()
578 static void* ensure_abuf(struct sljit_compiler *compiler, sljit_uw size) in ensure_abuf() argument
584 …if (compiler->abuf->used_size + size <= (ABUF_SIZE - (sljit_uw)SLJIT_OFFSETOF(struct sljit_memory_… in ensure_abuf()
585 ret = compiler->abuf->memory + compiler->abuf->used_size; in ensure_abuf()
586 compiler->abuf->used_size += size; in ensure_abuf()
589 new_frag = (struct sljit_memory_fragment*)SLJIT_MALLOC(ABUF_SIZE, compiler->allocator_data); in ensure_abuf()
591 new_frag->next = compiler->abuf; in ensure_abuf()
592 compiler->abuf = new_frag; in ensure_abuf()
597 SLJIT_API_FUNC_ATTRIBUTE void* sljit_alloc_memory(struct sljit_compiler *compiler, sljit_s32 size) in sljit_alloc_memory() argument
610 return ensure_abuf(compiler, size); in sljit_alloc_memory()
613 static SLJIT_INLINE void reverse_buf(struct sljit_compiler *compiler) in reverse_buf() argument
615 struct sljit_memory_fragment *buf = compiler->buf; in reverse_buf()
626 compiler->buf = prev; in reverse_buf()
669 static SLJIT_INLINE void set_emit_enter(struct sljit_compiler *compiler, in set_emit_enter() argument
676 compiler->options = options; in set_emit_enter()
677 compiler->scratches = scratches; in set_emit_enter()
678 compiler->saveds = saveds; in set_emit_enter()
679 compiler->fscratches = fscratches; in set_emit_enter()
680 compiler->fsaveds = fsaveds; in set_emit_enter()
682 compiler->logical_local_size = local_size; in set_emit_enter()
686 static SLJIT_INLINE void set_set_context(struct sljit_compiler *compiler, in set_set_context() argument
693 compiler->options = options; in set_set_context()
694 compiler->scratches = scratches; in set_set_context()
695 compiler->saveds = saveds; in set_set_context()
696 compiler->fscratches = fscratches; in set_set_context()
697 compiler->fsaveds = fsaveds; in set_set_context()
699 compiler->logical_local_size = local_size; in set_set_context()
703 static SLJIT_INLINE void set_label(struct sljit_label *label, struct sljit_compiler *compiler) in set_label() argument
706 label->size = compiler->size; in set_label()
707 if (compiler->last_label) in set_label()
708 compiler->last_label->next = label; in set_label()
710 compiler->labels = label; in set_label()
711 compiler->last_label = label; in set_label()
714 static SLJIT_INLINE void set_jump(struct sljit_jump *jump, struct sljit_compiler *compiler, sljit_s… in set_jump() argument
718 if (compiler->last_jump) in set_jump()
719 compiler->last_jump->next = jump; in set_jump()
721 compiler->jumps = jump; in set_jump()
722 compiler->last_jump = jump; in set_jump()
725 static SLJIT_INLINE void set_const(struct sljit_const *const_, struct sljit_compiler *compiler) in set_const() argument
728 const_->addr = compiler->size; in set_const()
729 if (compiler->last_const) in set_const()
730 compiler->last_const->next = const_; in set_const()
732 compiler->consts = const_; in set_const()
733 compiler->last_const = const_; in set_const()
736 … set_put_label(struct sljit_put_label *put_label, struct sljit_compiler *compiler, sljit_uw offset) in set_put_label() argument
740 put_label->addr = compiler->size - offset; in set_put_label()
742 if (compiler->last_put_label) in set_put_label()
743 compiler->last_put_label->next = put_label; in set_put_label()
745 compiler->put_labels = put_label; in set_put_label()
746 compiler->last_put_label = put_label; in set_put_label()
755 (((r) >= SLJIT_R0 && (r) < (SLJIT_R0 + compiler->scratches)) \
756 || ((r) > (SLJIT_S0 - compiler->saveds) && (r) <= SLJIT_S0))
759 (((fr) >= SLJIT_FR0 && (fr) < (SLJIT_FR0 + compiler->fscratches)) \
760 || ((fr) > (SLJIT_FS0 - compiler->fsaveds) && (fr) <= SLJIT_FS0))
768 static sljit_s32 function_check_src_mem(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in function_check_src_mem() argument
770 if (compiler->scratches == -1 || compiler->saveds == -1) in function_check_src_mem()
800 CHECK_ARGUMENT(function_check_src_mem(compiler, p, i));
802 static sljit_s32 function_check_src(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in function_check_src() argument
804 if (compiler->scratches == -1 || compiler->saveds == -1) in function_check_src()
814 return (i >= 0 && i < compiler->logical_local_size); in function_check_src()
816 return function_check_src_mem(compiler, p, i); in function_check_src()
820 CHECK_ARGUMENT(function_check_src(compiler, p, i));
822 static sljit_s32 function_check_dst(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i, sljit… in function_check_dst() argument
824 if (compiler->scratches == -1 || compiler->saveds == -1) in function_check_dst()
831 return (i >= 0 && i < compiler->logical_local_size); in function_check_dst()
833 return function_check_src_mem(compiler, p, i); in function_check_dst()
837 CHECK_ARGUMENT(function_check_dst(compiler, p, i, unused));
839 static sljit_s32 function_fcheck(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in function_fcheck() argument
841 if (compiler->scratches == -1 || compiler->saveds == -1) in function_fcheck()
848 return (i >= 0 && i < compiler->logical_local_size); in function_fcheck()
850 return function_check_src_mem(compiler, p, i); in function_fcheck()
854 CHECK_ARGUMENT(function_fcheck(compiler, p, i));
860 SLJIT_API_FUNC_ATTRIBUTE void sljit_compiler_verbose(struct sljit_compiler *compiler, FILE* verbose) in sljit_compiler_verbose() argument
862 compiler->verbose = verbose; in sljit_compiler_verbose()
875 static void sljit_verbose_reg(struct sljit_compiler *compiler, sljit_s32 r) in sljit_verbose_reg() argument
877 if (r < (SLJIT_R0 + compiler->scratches)) in sljit_verbose_reg()
878 fprintf(compiler->verbose, "r%d", r - SLJIT_R0); in sljit_verbose_reg()
880 fprintf(compiler->verbose, "s%d", SLJIT_NUMBER_OF_REGISTERS - r); in sljit_verbose_reg()
882 fprintf(compiler->verbose, "sp"); in sljit_verbose_reg()
885 static void sljit_verbose_freg(struct sljit_compiler *compiler, sljit_s32 r) in sljit_verbose_freg() argument
887 if (r < (SLJIT_FR0 + compiler->fscratches)) in sljit_verbose_freg()
888 fprintf(compiler->verbose, "fr%d", r - SLJIT_FR0); in sljit_verbose_freg()
890 fprintf(compiler->verbose, "fs%d", SLJIT_NUMBER_OF_FLOAT_REGISTERS - r); in sljit_verbose_freg()
893 static void sljit_verbose_param(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in sljit_verbose_param() argument
896 fprintf(compiler->verbose, "#%" SLJIT_PRINT_D "d", (i)); in sljit_verbose_param()
899 fputc('[', compiler->verbose); in sljit_verbose_param()
900 sljit_verbose_reg(compiler, (p) & REG_MASK); in sljit_verbose_param()
902 fprintf(compiler->verbose, " + "); in sljit_verbose_param()
903 sljit_verbose_reg(compiler, OFFS_REG(p)); in sljit_verbose_param()
905 fprintf(compiler->verbose, " * %d", 1 << (i)); in sljit_verbose_param()
908 fprintf(compiler->verbose, " + %" SLJIT_PRINT_D "d", (i)); in sljit_verbose_param()
909 fputc(']', compiler->verbose); in sljit_verbose_param()
912 fprintf(compiler->verbose, "[#%" SLJIT_PRINT_D "d]", (i)); in sljit_verbose_param()
914 sljit_verbose_reg(compiler, p); in sljit_verbose_param()
916 fprintf(compiler->verbose, "unused"); in sljit_verbose_param()
919 static void sljit_verbose_fparam(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in sljit_verbose_fparam() argument
923 fputc('[', compiler->verbose); in sljit_verbose_fparam()
924 sljit_verbose_reg(compiler, (p) & REG_MASK); in sljit_verbose_fparam()
926 fprintf(compiler->verbose, " + "); in sljit_verbose_fparam()
927 sljit_verbose_reg(compiler, OFFS_REG(p)); in sljit_verbose_fparam()
929 fprintf(compiler->verbose, "%d", 1 << (i)); in sljit_verbose_fparam()
932 fprintf(compiler->verbose, " + %" SLJIT_PRINT_D "d", (i)); in sljit_verbose_fparam()
933 fputc(']', compiler->verbose); in sljit_verbose_fparam()
936 fprintf(compiler->verbose, "[#%" SLJIT_PRINT_D "d]", (i)); in sljit_verbose_fparam()
939 sljit_verbose_freg(compiler, p); in sljit_verbose_fparam()
1011 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_generate_code(struct sljit_compiler *compiler) in check_sljit_generate_code() argument
1017 SLJIT_UNUSED_ARG(compiler); in check_sljit_generate_code()
1020 CHECK_ARGUMENT(compiler->size > 0); in check_sljit_generate_code()
1021 jump = compiler->jumps; in check_sljit_generate_code()
1031 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_enter(struct sljit_compiler *compiler, in check_sljit_emit_enter() argument
1039 SLJIT_UNUSED_ARG(compiler); in check_sljit_emit_enter()
1062 compiler->last_flags = 0; in check_sljit_emit_enter()
1065 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_enter()
1066 …fprintf(compiler->verbose, " enter options:%s args[", (options & SLJIT_F64_ALIGNMENT) ? "f64_alig… in check_sljit_emit_enter()
1070 fprintf(compiler->verbose, "%s", call_arg_names[arg_types & SLJIT_DEF_MASK]); in check_sljit_emit_enter()
1073 fprintf(compiler->verbose, ","); in check_sljit_emit_enter()
1076 fprintf(compiler->verbose, "] scratches:%d saveds:%d fscratches:%d fsaveds:%d local_size:%d\n", in check_sljit_emit_enter()
1083 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_set_context(struct sljit_compiler *compiler, in check_sljit_set_context() argument
1091 SLJIT_UNUSED_ARG(compiler); in check_sljit_set_context()
1113 compiler->last_flags = 0; in check_sljit_set_context()
1116 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_set_context()
1117 …fprintf(compiler->verbose, " set_context options:%s args[", (options & SLJIT_F64_ALIGNMENT) ? "f6… in check_sljit_set_context()
1121 fprintf(compiler->verbose, "%s", call_arg_names[arg_types & SLJIT_DEF_MASK]); in check_sljit_set_context()
1124 fprintf(compiler->verbose, ","); in check_sljit_set_context()
1127 fprintf(compiler->verbose, "] scratches:%d saveds:%d fscratches:%d fsaveds:%d local_size:%d\n", in check_sljit_set_context()
1134 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_return(struct sljit_compiler *compiler, slji… in check_sljit_emit_return() argument
1137 CHECK_ARGUMENT(compiler->scratches >= 0); in check_sljit_emit_return()
1144 compiler->last_flags = 0; in check_sljit_emit_return()
1147 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_return()
1149 fprintf(compiler->verbose, " return\n"); in check_sljit_emit_return()
1151 fprintf(compiler->verbose, " return%s ", op1_names[op - SLJIT_OP1_BASE]); in check_sljit_emit_return()
1152 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_return()
1153 fprintf(compiler->verbose, "\n"); in check_sljit_emit_return()
1160 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fast_enter(struct sljit_compiler *compiler, … in check_sljit_emit_fast_enter() argument
1164 compiler->last_flags = 0; in check_sljit_emit_fast_enter()
1167 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fast_enter()
1168 fprintf(compiler->verbose, " fast_enter "); in check_sljit_emit_fast_enter()
1169 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_fast_enter()
1170 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fast_enter()
1176 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op0(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_op0() argument
1182 …CHECK_ARGUMENT(GET_OPCODE(op) < SLJIT_LMUL_UW || GET_OPCODE(op) >= SLJIT_ENDBR || compiler->scratc… in check_sljit_emit_op0()
1184 compiler->last_flags = 0; in check_sljit_emit_op0()
1187 if (SLJIT_UNLIKELY(!!compiler->verbose)) in check_sljit_emit_op0()
1189 fprintf(compiler->verbose, " %s", op0_names[GET_OPCODE(op) - SLJIT_OP0_BASE]); in check_sljit_emit_op0()
1191 fprintf(compiler->verbose, (op & SLJIT_I32_OP) ? "32" : "w"); in check_sljit_emit_op0()
1193 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op0()
1199 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op1(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_op1() argument
1203 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_op1()
1204 compiler->skip_checks = 0; in check_sljit_emit_op1()
1237 compiler->last_flags = GET_FLAG_TYPE(op) | (op & (SLJIT_I32_OP | SLJIT_SET_Z)); in check_sljit_emit_op1()
1241 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op1()
1244 fprintf(compiler->verbose, " mov%s%s ", !(op & SLJIT_I32_OP) ? "" : "32", in check_sljit_emit_op1()
1249 …fprintf(compiler->verbose, " %s%s%s%s%s ", op1_names[GET_OPCODE(op) - SLJIT_OP1_BASE], !(op & SLJ… in check_sljit_emit_op1()
1254 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_op1()
1255 fprintf(compiler->verbose, ", "); in check_sljit_emit_op1()
1256 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_op1()
1257 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op1()
1263 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op2(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_op2() argument
1268 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_op2()
1269 compiler->skip_checks = 0; in check_sljit_emit_op2()
1304 CHECK_ARGUMENT((compiler->last_flags & 0xff) == GET_FLAG_TYPE(SLJIT_SET_CARRY)); in check_sljit_emit_op2()
1305 CHECK_ARGUMENT((op & SLJIT_I32_OP) == (compiler->last_flags & SLJIT_I32_OP)); in check_sljit_emit_op2()
1315 compiler->last_flags = GET_FLAG_TYPE(op) | (op & (SLJIT_I32_OP | SLJIT_SET_Z)); in check_sljit_emit_op2()
1318 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op2()
1319 …fprintf(compiler->verbose, " %s%s%s%s%s ", op2_names[GET_OPCODE(op) - SLJIT_OP2_BASE], !(op & SLJ… in check_sljit_emit_op2()
1322 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_op2()
1323 fprintf(compiler->verbose, ", "); in check_sljit_emit_op2()
1324 sljit_verbose_param(compiler, src1, src1w); in check_sljit_emit_op2()
1325 fprintf(compiler->verbose, ", "); in check_sljit_emit_op2()
1326 sljit_verbose_param(compiler, src2, src2w); in check_sljit_emit_op2()
1327 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op2()
1333 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_src(struct sljit_compiler *compiler, slji… in check_sljit_emit_op_src() argument
1343 compiler->last_flags = 0; in check_sljit_emit_op_src()
1351 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op_src()
1352 fprintf(compiler->verbose, " %s ", op_src_names[op - SLJIT_OP_SRC_BASE]); in check_sljit_emit_op_src()
1353 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_op_src()
1354 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op_src()
1378 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_custom(struct sljit_compiler *compiler, in check_sljit_emit_op_custom() argument
1385 SLJIT_UNUSED_ARG(compiler); in check_sljit_emit_op_custom()
1401 compiler->last_flags = 0; in check_sljit_emit_op_custom()
1404 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op_custom()
1405 fprintf(compiler->verbose, " op_custom"); in check_sljit_emit_op_custom()
1407 fprintf(compiler->verbose, " 0x%x", ((sljit_u8*)instruction)[i]); in check_sljit_emit_op_custom()
1408 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op_custom()
1414 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop1(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_fop1() argument
1418 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_fop1()
1419 compiler->skip_checks = 0; in check_sljit_emit_fop1()
1431 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop1()
1433 fprintf(compiler->verbose, " %s%s ", fop1_names[SLJIT_CONV_F64_FROM_F32 - SLJIT_FOP1_BASE], in check_sljit_emit_fop1()
1436 fprintf(compiler->verbose, " %s%s ", fop1_names[GET_OPCODE(op) - SLJIT_FOP1_BASE], in check_sljit_emit_fop1()
1439 sljit_verbose_fparam(compiler, dst, dstw); in check_sljit_emit_fop1()
1440 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop1()
1441 sljit_verbose_fparam(compiler, src, srcw); in check_sljit_emit_fop1()
1442 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop1()
1448 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop1_cmp(struct sljit_compiler *compiler, sl… in check_sljit_emit_fop1_cmp() argument
1453 compiler->last_flags = GET_FLAG_TYPE(op) | (op & (SLJIT_I32_OP | SLJIT_SET_Z)); in check_sljit_emit_fop1_cmp()
1456 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_fop1_cmp()
1457 compiler->skip_checks = 0; in check_sljit_emit_fop1_cmp()
1471 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop1_cmp()
1472 …fprintf(compiler->verbose, " %s%s", fop1_names[SLJIT_CMP_F64 - SLJIT_FOP1_BASE], (op & SLJIT_F32_… in check_sljit_emit_fop1_cmp()
1474 fprintf(compiler->verbose, ".%s_f", jump_names[GET_FLAG_TYPE(op)]); in check_sljit_emit_fop1_cmp()
1476 fprintf(compiler->verbose, " "); in check_sljit_emit_fop1_cmp()
1477 sljit_verbose_fparam(compiler, src1, src1w); in check_sljit_emit_fop1_cmp()
1478 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop1_cmp()
1479 sljit_verbose_fparam(compiler, src2, src2w); in check_sljit_emit_fop1_cmp()
1480 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop1_cmp()
1486 …K_RETURN_TYPE check_sljit_emit_fop1_conv_sw_from_f64(struct sljit_compiler *compiler, sljit_s32 op, in check_sljit_emit_fop1_conv_sw_from_f64() argument
1490 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_fop1_conv_sw_from_f64()
1491 compiler->skip_checks = 0; in check_sljit_emit_fop1_conv_sw_from_f64()
1503 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop1_conv_sw_from_f64()
1504 fprintf(compiler->verbose, " %s%s.from%s ", fop1_names[GET_OPCODE(op) - SLJIT_FOP1_BASE], in check_sljit_emit_fop1_conv_sw_from_f64()
1507 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_fop1_conv_sw_from_f64()
1508 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop1_conv_sw_from_f64()
1509 sljit_verbose_fparam(compiler, src, srcw); in check_sljit_emit_fop1_conv_sw_from_f64()
1510 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop1_conv_sw_from_f64()
1516 …K_RETURN_TYPE check_sljit_emit_fop1_conv_f64_from_sw(struct sljit_compiler *compiler, sljit_s32 op, in check_sljit_emit_fop1_conv_f64_from_sw() argument
1520 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_fop1_conv_f64_from_sw()
1521 compiler->skip_checks = 0; in check_sljit_emit_fop1_conv_f64_from_sw()
1533 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop1_conv_f64_from_sw()
1534 fprintf(compiler->verbose, " %s%s.from%s ", fop1_names[GET_OPCODE(op) - SLJIT_FOP1_BASE], in check_sljit_emit_fop1_conv_f64_from_sw()
1537 sljit_verbose_fparam(compiler, dst, dstw); in check_sljit_emit_fop1_conv_f64_from_sw()
1538 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop1_conv_f64_from_sw()
1539 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_fop1_conv_f64_from_sw()
1540 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop1_conv_f64_from_sw()
1546 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop2(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_fop2() argument
1560 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop2()
1561 …fprintf(compiler->verbose, " %s%s ", fop2_names[GET_OPCODE(op) - SLJIT_FOP2_BASE], (op & SLJIT_F3… in check_sljit_emit_fop2()
1562 sljit_verbose_fparam(compiler, dst, dstw); in check_sljit_emit_fop2()
1563 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop2()
1564 sljit_verbose_fparam(compiler, src1, src1w); in check_sljit_emit_fop2()
1565 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop2()
1566 sljit_verbose_fparam(compiler, src2, src2w); in check_sljit_emit_fop2()
1567 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop2()
1573 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_label(struct sljit_compiler *compiler) in check_sljit_emit_label() argument
1575 SLJIT_UNUSED_ARG(compiler); in check_sljit_emit_label()
1577 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_label()
1578 compiler->skip_checks = 0; in check_sljit_emit_label()
1583 compiler->last_flags = 0; in check_sljit_emit_label()
1587 if (SLJIT_UNLIKELY(!!compiler->verbose)) in check_sljit_emit_label()
1588 fprintf(compiler->verbose, "label:\n"); in check_sljit_emit_label()
1593 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_jump(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_jump() argument
1595 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_jump()
1596 compiler->skip_checks = 0; in check_sljit_emit_jump()
1608 CHECK_ARGUMENT(compiler->last_flags & SLJIT_SET_Z); in check_sljit_emit_jump()
1610 CHECK_ARGUMENT((type & 0xff) == (compiler->last_flags & 0xff) in check_sljit_emit_jump()
1611 || ((type & 0xff) == SLJIT_NOT_OVERFLOW && (compiler->last_flags & 0xff) == SLJIT_OVERFLOW)); in check_sljit_emit_jump()
1615 if (SLJIT_UNLIKELY(!!compiler->verbose)) in check_sljit_emit_jump()
1616 fprintf(compiler->verbose, " jump%s %s%s\n", !(type & SLJIT_REWRITABLE_JUMP) ? "" : ".r", in check_sljit_emit_jump()
1622 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_call(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_call() argument
1647 CHECK_ARGUMENT(compiler->fscratches > 0); in check_sljit_emit_call()
1649 CHECK_ARGUMENT(compiler->scratches > 0); in check_sljit_emit_call()
1654 CHECK_ARGUMENT(compiler->scratches >= scratches); in check_sljit_emit_call()
1655 CHECK_ARGUMENT(compiler->fscratches >= fscratches); in check_sljit_emit_call()
1659 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_call()
1660 fprintf(compiler->verbose, " %s%s ret[%s", jump_names[type & 0xff], in check_sljit_emit_call()
1665 fprintf(compiler->verbose, "], args["); in check_sljit_emit_call()
1667 fprintf(compiler->verbose, "%s", call_arg_names[arg_types & SLJIT_DEF_MASK]); in check_sljit_emit_call()
1670 fprintf(compiler->verbose, ","); in check_sljit_emit_call()
1673 fprintf(compiler->verbose, "]\n"); in check_sljit_emit_call()
1679 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_cmp() argument
1688 compiler->last_flags = 0; in check_sljit_emit_cmp()
1691 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_cmp()
1692 fprintf(compiler->verbose, " cmp%s %s%s, ", !(type & SLJIT_REWRITABLE_JUMP) ? "" : ".r", in check_sljit_emit_cmp()
1694 sljit_verbose_param(compiler, src1, src1w); in check_sljit_emit_cmp()
1695 fprintf(compiler->verbose, ", "); in check_sljit_emit_cmp()
1696 sljit_verbose_param(compiler, src2, src2w); in check_sljit_emit_cmp()
1697 fprintf(compiler->verbose, "\n"); in check_sljit_emit_cmp()
1703 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fcmp(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_fcmp() argument
1713 compiler->last_flags = 0; in check_sljit_emit_fcmp()
1716 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fcmp()
1717 fprintf(compiler->verbose, " fcmp%s %s%s, ", !(type & SLJIT_REWRITABLE_JUMP) ? "" : ".r", in check_sljit_emit_fcmp()
1719 sljit_verbose_fparam(compiler, src1, src1w); in check_sljit_emit_fcmp()
1720 fprintf(compiler->verbose, ", "); in check_sljit_emit_fcmp()
1721 sljit_verbose_fparam(compiler, src2, src2w); in check_sljit_emit_fcmp()
1722 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fcmp()
1728 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_ijump(struct sljit_compiler *compiler, sljit… in check_sljit_emit_ijump() argument
1731 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_ijump()
1732 compiler->skip_checks = 0; in check_sljit_emit_ijump()
1741 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_ijump()
1742 fprintf(compiler->verbose, " ijump.%s ", jump_names[type]); in check_sljit_emit_ijump()
1743 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_ijump()
1744 fprintf(compiler->verbose, "\n"); in check_sljit_emit_ijump()
1750 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_icall(struct sljit_compiler *compiler, sljit… in check_sljit_emit_icall() argument
1776 CHECK_ARGUMENT(compiler->fscratches > 0); in check_sljit_emit_icall()
1778 CHECK_ARGUMENT(compiler->scratches > 0); in check_sljit_emit_icall()
1783 CHECK_ARGUMENT(compiler->scratches >= scratches); in check_sljit_emit_icall()
1784 CHECK_ARGUMENT(compiler->fscratches >= fscratches); in check_sljit_emit_icall()
1788 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_icall()
1789 fprintf(compiler->verbose, " i%s%s ret[%s", jump_names[type & 0xff], in check_sljit_emit_icall()
1794 fprintf(compiler->verbose, "], args["); in check_sljit_emit_icall()
1796 fprintf(compiler->verbose, "%s", call_arg_names[arg_types & SLJIT_DEF_MASK]); in check_sljit_emit_icall()
1799 fprintf(compiler->verbose, ","); in check_sljit_emit_icall()
1802 fprintf(compiler->verbose, "], "); in check_sljit_emit_icall()
1803 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_icall()
1804 fprintf(compiler->verbose, "\n"); in check_sljit_emit_icall()
1810 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_flags(struct sljit_compiler *compiler, sl… in check_sljit_emit_op_flags() argument
1823 CHECK_ARGUMENT(compiler->last_flags & SLJIT_SET_Z); in check_sljit_emit_op_flags()
1825 CHECK_ARGUMENT((type & 0xff) == (compiler->last_flags & 0xff) in check_sljit_emit_op_flags()
1826 || ((type & 0xff) == SLJIT_NOT_OVERFLOW && (compiler->last_flags & 0xff) == SLJIT_OVERFLOW)); in check_sljit_emit_op_flags()
1831 compiler->last_flags = GET_FLAG_TYPE(op) | (op & (SLJIT_I32_OP | SLJIT_SET_Z)); in check_sljit_emit_op_flags()
1834 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op_flags()
1835 fprintf(compiler->verbose, " flags%s %s%s, ", in check_sljit_emit_op_flags()
1839 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_op_flags()
1840 fprintf(compiler->verbose, ", %s%s\n", jump_names[type & 0xff], JUMP_POSTFIX(type)); in check_sljit_emit_op_flags()
1846 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_cmov(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_cmov() argument
1854 CHECK_ARGUMENT(compiler->scratches != -1 && compiler->saveds != -1); in check_sljit_emit_cmov()
1862 CHECK_ARGUMENT(compiler->last_flags & SLJIT_SET_Z); in check_sljit_emit_cmov()
1864 CHECK_ARGUMENT((type & 0xff) == (compiler->last_flags & 0xff) in check_sljit_emit_cmov()
1865 || ((type & 0xff) == SLJIT_NOT_OVERFLOW && (compiler->last_flags & 0xff) == SLJIT_OVERFLOW)); in check_sljit_emit_cmov()
1868 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_cmov()
1869 fprintf(compiler->verbose, " cmov%s %s%s, ", in check_sljit_emit_cmov()
1872 sljit_verbose_reg(compiler, dst_reg & ~SLJIT_I32_OP); in check_sljit_emit_cmov()
1873 fprintf(compiler->verbose, ", "); in check_sljit_emit_cmov()
1874 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_cmov()
1875 fprintf(compiler->verbose, "\n"); in check_sljit_emit_cmov()
1881 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_mem(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_mem() argument
1898 if (!(type & SLJIT_MEM_SUPP) && SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_mem()
1899 if (sljit_emit_mem(compiler, type | SLJIT_MEM_SUPP, reg, mem, memw) == SLJIT_ERR_UNSUPPORTED) in check_sljit_emit_mem()
1900 fprintf(compiler->verbose, " //"); in check_sljit_emit_mem()
1902 fprintf(compiler->verbose, " mem%s.%s%s%s ", in check_sljit_emit_mem()
1907 sljit_verbose_reg(compiler, reg); in check_sljit_emit_mem()
1908 fprintf(compiler->verbose, ", "); in check_sljit_emit_mem()
1909 sljit_verbose_param(compiler, mem, memw); in check_sljit_emit_mem()
1910 fprintf(compiler->verbose, "\n"); in check_sljit_emit_mem()
1916 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fmem(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_fmem() argument
1930 if (!(type & SLJIT_MEM_SUPP) && SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fmem()
1931 if (sljit_emit_fmem(compiler, type | SLJIT_MEM_SUPP, freg, mem, memw) == SLJIT_ERR_UNSUPPORTED) in check_sljit_emit_fmem()
1932 fprintf(compiler->verbose, " //"); in check_sljit_emit_fmem()
1934 fprintf(compiler->verbose, " fmem.%s%s%s ", in check_sljit_emit_fmem()
1938 sljit_verbose_freg(compiler, freg); in check_sljit_emit_fmem()
1939 fprintf(compiler->verbose, ", "); in check_sljit_emit_fmem()
1940 sljit_verbose_param(compiler, mem, memw); in check_sljit_emit_fmem()
1941 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fmem()
1947 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_get_local_base(struct sljit_compiler *compiler, s… in check_sljit_get_local_base() argument
1956 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_get_local_base()
1957 fprintf(compiler->verbose, " local_base "); in check_sljit_get_local_base()
1958 sljit_verbose_param(compiler, dst, dstw); in check_sljit_get_local_base()
1959 fprintf(compiler->verbose, ", #%" SLJIT_PRINT_D "d\n", offset); in check_sljit_get_local_base()
1965 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_const(struct sljit_compiler *compiler, sljit… in check_sljit_emit_const() argument
1973 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_const()
1974 fprintf(compiler->verbose, " const "); in check_sljit_emit_const()
1975 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_const()
1976 fprintf(compiler->verbose, ", #%" SLJIT_PRINT_D "d\n", init_value); in check_sljit_emit_const()
1982 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_put_label(struct sljit_compiler *compiler, s… in check_sljit_emit_put_label() argument
1988 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_put_label()
1989 fprintf(compiler->verbose, " put_label "); in check_sljit_emit_put_label()
1990 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_put_label()
1991 fprintf(compiler->verbose, "\n"); in check_sljit_emit_put_label()
1999 #define SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw) \ argument
2004 CHECK(check_sljit_emit_fop1_cmp(compiler, op, dst, dstw, src, srcw)); \
2007 return sljit_emit_fop1_cmp(compiler, op, dst, dstw, src, srcw); \
2010 CHECK(check_sljit_emit_fop1_conv_sw_from_f64(compiler, op, dst, dstw, src, srcw)); \
2013 return sljit_emit_fop1_conv_sw_from_f64(compiler, op, dst, dstw, src, srcw); \
2015 CHECK(check_sljit_emit_fop1_conv_f64_from_sw(compiler, op, dst, dstw, src, srcw)); \
2018 return sljit_emit_fop1_conv_f64_from_sw(compiler, op, dst, dstw, src, srcw); \
2020 CHECK(check_sljit_emit_fop1(compiler, op, dst, dstw, src, srcw)); \
2024 static SLJIT_INLINE sljit_s32 emit_mov_before_return(struct sljit_compiler *compiler, sljit_s32 op,… in emit_mov_before_return() argument
2041 compiler->skip_checks = 1; in emit_mov_before_return()
2043 return sljit_emit_op1(compiler, op, SLJIT_RETURN_REG, 0, src, srcw); in emit_mov_before_return()
2051 static SLJIT_INLINE sljit_s32 sljit_emit_cmov_generic(struct sljit_compiler *compiler, sljit_s32 ty… in sljit_emit_cmov_generic() argument
2061 compiler->skip_checks = 1; in sljit_emit_cmov_generic()
2063 jump = sljit_emit_jump(compiler, type ^ 0x1); in sljit_emit_cmov_generic()
2068 compiler->skip_checks = 1; in sljit_emit_cmov_generic()
2070 FAIL_IF(sljit_emit_op1(compiler, op, dst_reg & ~SLJIT_I32_OP, 0, src, srcw)); in sljit_emit_cmov_generic()
2074 compiler->skip_checks = 1; in sljit_emit_cmov_generic()
2076 label = sljit_emit_label(compiler); in sljit_emit_cmov_generic()
2132 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s… in sljit_emit_cmp() argument
2141 CHECK_PTR(check_sljit_emit_cmp(compiler, type, src1, src1w, src2, src2w)); in sljit_emit_cmp()
2153 return emit_cmp_to0(compiler, type, src1, src1w); in sljit_emit_cmp()
2202 compiler->skip_checks = 1; in sljit_emit_cmp()
2204 PTR_FAIL_IF(sljit_emit_op2(compiler, SLJIT_SUB | flags | (type & SLJIT_I32_OP), in sljit_emit_cmp()
2208 compiler->skip_checks = 1; in sljit_emit_cmp()
2210 return sljit_emit_jump(compiler, condition | (type & (SLJIT_REWRITABLE_JUMP | SLJIT_I32_OP))); in sljit_emit_cmp()
2215 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_fcmp(struct sljit_compiler *compiler, sljit_… in sljit_emit_fcmp() argument
2220 CHECK_PTR(check_sljit_emit_fcmp(compiler, type, src1, src1w, src2, src2w)); in sljit_emit_fcmp()
2224 compiler->skip_checks = 1; in sljit_emit_fcmp()
2226 …sljit_emit_fop1(compiler, SLJIT_CMP_F64 | ((type & 0xff) << VARIABLE_FLAG_SHIFT) | (type & SLJIT_I… in sljit_emit_fcmp()
2230 compiler->skip_checks = 1; in sljit_emit_fcmp()
2232 return sljit_emit_jump(compiler, type); in sljit_emit_fcmp()
2239 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_mem() argument
2243 SLJIT_UNUSED_ARG(compiler); in sljit_emit_mem()
2250 CHECK(check_sljit_emit_mem(compiler, type, reg, mem, memw)); in sljit_emit_mem()
2260 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_fmem() argument
2264 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fmem()
2271 CHECK(check_sljit_emit_fmem(compiler, type, freg, mem, memw)); in sljit_emit_fmem()
2281 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 … in sljit_get_local_base() argument
2284 CHECK(check_sljit_get_local_base(compiler, dst, dstw, offset)); in sljit_get_local_base()
2289 compiler->skip_checks = 1; in sljit_get_local_base()
2292 return sljit_emit_op2(compiler, SLJIT_ADD, dst, dstw, SLJIT_SP, 0, SLJIT_IMM, offset); in sljit_get_local_base()
2293 return sljit_emit_op1(compiler, SLJIT_MOV, dst, dstw, SLJIT_SP, 0); in sljit_get_local_base()
2315 SLJIT_API_FUNC_ATTRIBUTE void sljit_free_compiler(struct sljit_compiler *compiler) in sljit_free_compiler() argument
2317 SLJIT_UNUSED_ARG(compiler); in sljit_free_compiler()
2321 SLJIT_API_FUNC_ATTRIBUTE void sljit_set_compiler_memory_error(struct sljit_compiler *compiler) in sljit_set_compiler_memory_error() argument
2323 SLJIT_UNUSED_ARG(compiler); in sljit_set_compiler_memory_error()
2327 SLJIT_API_FUNC_ATTRIBUTE void* sljit_alloc_memory(struct sljit_compiler *compiler, sljit_s32 size) in sljit_alloc_memory() argument
2329 SLJIT_UNUSED_ARG(compiler); in sljit_alloc_memory()
2336 SLJIT_API_FUNC_ATTRIBUTE void sljit_compiler_verbose(struct sljit_compiler *compiler, FILE* verbose) in sljit_compiler_verbose() argument
2338 SLJIT_UNUSED_ARG(compiler); in sljit_compiler_verbose()
2344 SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compiler) in sljit_generate_code() argument
2346 SLJIT_UNUSED_ARG(compiler); in sljit_generate_code()
2365 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compiler *compiler, in sljit_emit_enter() argument
2369 SLJIT_UNUSED_ARG(compiler); in sljit_emit_enter()
2381 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compiler *compiler, in sljit_set_context() argument
2385 SLJIT_UNUSED_ARG(compiler); in sljit_set_context()
2397 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compiler *compiler, sljit_s32 op,… in sljit_emit_return() argument
2399 SLJIT_UNUSED_ARG(compiler); in sljit_emit_return()
2407 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler *compiler, sljit_s32… in sljit_emit_fast_enter() argument
2409 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fast_enter()
2416 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op) in sljit_emit_op0() argument
2418 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op0()
2424 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_op1() argument
2428 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op1()
2438 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_op2() argument
2443 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op2()
2455 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_op_src() argument
2458 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op_src()
2472 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_compiler *compiler, in sljit_emit_op_custom() argument
2475 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op_custom()
2482 SLJIT_API_FUNC_ATTRIBUTE void sljit_set_current_flags(struct sljit_compiler *compiler, sljit_s32 cu… in sljit_set_current_flags() argument
2484 SLJIT_UNUSED_ARG(compiler); in sljit_set_current_flags()
2488 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_fop1() argument
2492 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fop1()
2502 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_fop2() argument
2507 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fop2()
2519 SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label(struct sljit_compiler *compiler) in sljit_emit_label() argument
2521 SLJIT_UNUSED_ARG(compiler); in sljit_emit_label()
2526 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_… in sljit_emit_jump() argument
2528 SLJIT_UNUSED_ARG(compiler); in sljit_emit_jump()
2534 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_… in sljit_emit_call() argument
2537 SLJIT_UNUSED_ARG(compiler); in sljit_emit_call()
2544 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s… in sljit_emit_cmp() argument
2548 SLJIT_UNUSED_ARG(compiler); in sljit_emit_cmp()
2558 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_fcmp(struct sljit_compiler *compiler, sljit_… in sljit_emit_fcmp() argument
2562 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fcmp()
2593 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compiler *compiler, sljit_s32 type… in sljit_emit_ijump() argument
2595 SLJIT_UNUSED_ARG(compiler); in sljit_emit_ijump()
2603 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_icall() argument
2607 SLJIT_UNUSED_ARG(compiler); in sljit_emit_icall()
2616 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_s32 o… in sljit_emit_op_flags() argument
2620 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op_flags()
2629 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_cmov() argument
2633 SLJIT_UNUSED_ARG(compiler); in sljit_emit_cmov()
2642 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler *compiler, sljit_s32 type, … in sljit_emit_mem() argument
2644 SLJIT_UNUSED_ARG(compiler); in sljit_emit_mem()
2653 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem(struct sljit_compiler *compiler, sljit_s32 type,… in sljit_emit_fmem() argument
2655 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fmem()
2664 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 … in sljit_get_local_base() argument
2666 SLJIT_UNUSED_ARG(compiler); in sljit_get_local_base()
2674 SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, slji… in sljit_emit_const() argument
2676 SLJIT_UNUSED_ARG(compiler); in sljit_emit_const()
2684 …UTE struct sljit_put_label* sljit_emit_put_label(struct sljit_compiler *compiler, sljit_s32 dst, s… in sljit_emit_put_label() argument
2686 SLJIT_UNUSED_ARG(compiler); in sljit_emit_put_label()