Lines Matching refs:compiler

46 		if (SLJIT_UNLIKELY(compiler->error)) \
47 return compiler->error; \
52 if (SLJIT_UNLIKELY(compiler->error)) \
59 return compiler->error; \
71 compiler->error = SLJIT_ERR_ALLOC_FAILED; \
79 compiler->error = SLJIT_ERR_ALLOC_FAILED; \
87 compiler->error = SLJIT_ERR_EX_ALLOC_FAILED; \
307 compiler->error = SLJIT_ERR_BAD_ARGUMENT; \
315 compiler->error = SLJIT_ERR_BAD_ARGUMENT; \
371 …struct sljit_compiler *compiler = (struct sljit_compiler*)SLJIT_MALLOC(sizeof(struct sljit_compile… in sljit_create_compiler() local
372 if (!compiler) in sljit_create_compiler()
374 SLJIT_ZEROMEM(compiler, sizeof(struct sljit_compiler)); in sljit_create_compiler()
393 compiler->error = SLJIT_SUCCESS; in sljit_create_compiler()
395 compiler->allocator_data = allocator_data; in sljit_create_compiler()
396 compiler->buf = (struct sljit_memory_fragment*)SLJIT_MALLOC(BUF_SIZE, allocator_data); in sljit_create_compiler()
397 compiler->abuf = (struct sljit_memory_fragment*)SLJIT_MALLOC(ABUF_SIZE, allocator_data); in sljit_create_compiler()
399 if (!compiler->buf || !compiler->abuf) { in sljit_create_compiler()
400 if (compiler->buf) in sljit_create_compiler()
401 SLJIT_FREE(compiler->buf, allocator_data); in sljit_create_compiler()
402 if (compiler->abuf) in sljit_create_compiler()
403 SLJIT_FREE(compiler->abuf, allocator_data); in sljit_create_compiler()
404 SLJIT_FREE(compiler, allocator_data); in sljit_create_compiler()
408 compiler->buf->next = NULL; in sljit_create_compiler()
409 compiler->buf->used_size = 0; in sljit_create_compiler()
410 compiler->abuf->next = NULL; in sljit_create_compiler()
411 compiler->abuf->used_size = 0; in sljit_create_compiler()
413 compiler->scratches = -1; in sljit_create_compiler()
414 compiler->saveds = -1; in sljit_create_compiler()
415 compiler->fscratches = -1; in sljit_create_compiler()
416 compiler->fsaveds = -1; in sljit_create_compiler()
417 compiler->local_size = -1; in sljit_create_compiler()
420 compiler->args = -1; in sljit_create_compiler()
424 compiler->cpool = (sljit_uw*)SLJIT_MALLOC(CPOOL_SIZE * sizeof(sljit_uw) in sljit_create_compiler()
426 if (!compiler->cpool) { in sljit_create_compiler()
427 SLJIT_FREE(compiler->buf, allocator_data); in sljit_create_compiler()
428 SLJIT_FREE(compiler->abuf, allocator_data); in sljit_create_compiler()
429 SLJIT_FREE(compiler, allocator_data); in sljit_create_compiler()
432 compiler->cpool_unique = (sljit_u8*)(compiler->cpool + CPOOL_SIZE); in sljit_create_compiler()
433 compiler->cpool_diff = 0xffffffff; in sljit_create_compiler()
437 compiler->delay_slot = UNMOVABLE_INS; in sljit_create_compiler()
441 compiler->delay_slot = UNMOVABLE_INS; in sljit_create_compiler()
451 return compiler; in sljit_create_compiler()
454 SLJIT_API_FUNC_ATTRIBUTE void sljit_free_compiler(struct sljit_compiler *compiler) in sljit_free_compiler() argument
458 void *allocator_data = compiler->allocator_data; in sljit_free_compiler()
461 buf = compiler->buf; in sljit_free_compiler()
468 buf = compiler->abuf; in sljit_free_compiler()
476 SLJIT_FREE(compiler->cpool, allocator_data); in sljit_free_compiler()
478 SLJIT_FREE(compiler, allocator_data); in sljit_free_compiler()
481 SLJIT_API_FUNC_ATTRIBUTE void sljit_set_compiler_memory_error(struct sljit_compiler *compiler) in sljit_set_compiler_memory_error() argument
483 if (compiler->error == SLJIT_SUCCESS) in sljit_set_compiler_memory_error()
484 compiler->error = SLJIT_ERR_ALLOC_FAILED; in sljit_set_compiler_memory_error()
531 SLJIT_API_FUNC_ATTRIBUTE void sljit_set_current_flags(struct sljit_compiler *compiler, sljit_s32 cu… in sljit_set_current_flags() argument
533 SLJIT_UNUSED_ARG(compiler); in sljit_set_current_flags()
538compiler->last_flags = GET_FLAG_TYPE(current_flags) | (current_flags & (SLJIT_I32_OP | SLJIT_SET_Z… in sljit_set_current_flags()
547 static void* ensure_buf(struct sljit_compiler *compiler, sljit_uw size) in ensure_buf() argument
553 …if (compiler->buf->used_size + size <= (BUF_SIZE - (sljit_uw)SLJIT_OFFSETOF(struct sljit_memory_fr… in ensure_buf()
554 ret = compiler->buf->memory + compiler->buf->used_size; in ensure_buf()
555 compiler->buf->used_size += size; in ensure_buf()
558 new_frag = (struct sljit_memory_fragment*)SLJIT_MALLOC(BUF_SIZE, compiler->allocator_data); in ensure_buf()
560 new_frag->next = compiler->buf; in ensure_buf()
561 compiler->buf = new_frag; in ensure_buf()
566 static void* ensure_abuf(struct sljit_compiler *compiler, sljit_uw size) in ensure_abuf() argument
572 …if (compiler->abuf->used_size + size <= (ABUF_SIZE - (sljit_uw)SLJIT_OFFSETOF(struct sljit_memory_… in ensure_abuf()
573 ret = compiler->abuf->memory + compiler->abuf->used_size; in ensure_abuf()
574 compiler->abuf->used_size += size; in ensure_abuf()
577 new_frag = (struct sljit_memory_fragment*)SLJIT_MALLOC(ABUF_SIZE, compiler->allocator_data); in ensure_abuf()
579 new_frag->next = compiler->abuf; in ensure_abuf()
580 compiler->abuf = new_frag; in ensure_abuf()
585 SLJIT_API_FUNC_ATTRIBUTE void* sljit_alloc_memory(struct sljit_compiler *compiler, sljit_s32 size) in sljit_alloc_memory() argument
598 return ensure_abuf(compiler, size); in sljit_alloc_memory()
601 static SLJIT_INLINE void reverse_buf(struct sljit_compiler *compiler) in reverse_buf() argument
603 struct sljit_memory_fragment *buf = compiler->buf; in reverse_buf()
614 compiler->buf = prev; in reverse_buf()
654 static SLJIT_INLINE void set_emit_enter(struct sljit_compiler *compiler, in set_emit_enter() argument
661 compiler->options = options; in set_emit_enter()
662 compiler->scratches = scratches; in set_emit_enter()
663 compiler->saveds = saveds; in set_emit_enter()
664 compiler->fscratches = fscratches; in set_emit_enter()
665 compiler->fsaveds = fsaveds; in set_emit_enter()
667 compiler->logical_local_size = local_size; in set_emit_enter()
671 static SLJIT_INLINE void set_set_context(struct sljit_compiler *compiler, in set_set_context() argument
678 compiler->options = options; in set_set_context()
679 compiler->scratches = scratches; in set_set_context()
680 compiler->saveds = saveds; in set_set_context()
681 compiler->fscratches = fscratches; in set_set_context()
682 compiler->fsaveds = fsaveds; in set_set_context()
684 compiler->logical_local_size = local_size; in set_set_context()
688 static SLJIT_INLINE void set_label(struct sljit_label *label, struct sljit_compiler *compiler) in set_label() argument
691 label->size = compiler->size; in set_label()
692 if (compiler->last_label) in set_label()
693 compiler->last_label->next = label; in set_label()
695 compiler->labels = label; in set_label()
696 compiler->last_label = label; in set_label()
699 static SLJIT_INLINE void set_jump(struct sljit_jump *jump, struct sljit_compiler *compiler, sljit_s… in set_jump() argument
703 if (compiler->last_jump) in set_jump()
704 compiler->last_jump->next = jump; in set_jump()
706 compiler->jumps = jump; in set_jump()
707 compiler->last_jump = jump; in set_jump()
710 static SLJIT_INLINE void set_const(struct sljit_const *const_, struct sljit_compiler *compiler) in set_const() argument
713 const_->addr = compiler->size; in set_const()
714 if (compiler->last_const) in set_const()
715 compiler->last_const->next = const_; in set_const()
717 compiler->consts = const_; in set_const()
718 compiler->last_const = const_; in set_const()
721 … set_put_label(struct sljit_put_label *put_label, struct sljit_compiler *compiler, sljit_uw offset) in set_put_label() argument
725 put_label->addr = compiler->size - offset; in set_put_label()
727 if (compiler->last_put_label) in set_put_label()
728 compiler->last_put_label->next = put_label; in set_put_label()
730 compiler->put_labels = put_label; in set_put_label()
731 compiler->last_put_label = put_label; in set_put_label()
740 (((r) >= SLJIT_R0 && (r) < (SLJIT_R0 + compiler->scratches)) \
741 || ((r) > (SLJIT_S0 - compiler->saveds) && (r) <= SLJIT_S0))
744 (((fr) >= SLJIT_FR0 && (fr) < (SLJIT_FR0 + compiler->fscratches)) \
745 || ((fr) > (SLJIT_FS0 - compiler->fsaveds) && (fr) <= SLJIT_FS0))
753 static sljit_s32 function_check_src_mem(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in function_check_src_mem() argument
755 if (compiler->scratches == -1 || compiler->saveds == -1) in function_check_src_mem()
785 CHECK_ARGUMENT(function_check_src_mem(compiler, p, i));
787 static sljit_s32 function_check_src(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in function_check_src() argument
789 if (compiler->scratches == -1 || compiler->saveds == -1) in function_check_src()
799 return (i >= 0 && i < compiler->logical_local_size); in function_check_src()
801 return function_check_src_mem(compiler, p, i); in function_check_src()
805 CHECK_ARGUMENT(function_check_src(compiler, p, i));
807 static sljit_s32 function_check_dst(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i, sljit… in function_check_dst() argument
809 if (compiler->scratches == -1 || compiler->saveds == -1) in function_check_dst()
816 return (i >= 0 && i < compiler->logical_local_size); in function_check_dst()
818 return function_check_src_mem(compiler, p, i); in function_check_dst()
822 CHECK_ARGUMENT(function_check_dst(compiler, p, i, unused));
824 static sljit_s32 function_fcheck(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in function_fcheck() argument
826 if (compiler->scratches == -1 || compiler->saveds == -1) in function_fcheck()
833 return (i >= 0 && i < compiler->logical_local_size); in function_fcheck()
835 return function_check_src_mem(compiler, p, i); in function_fcheck()
839 CHECK_ARGUMENT(function_fcheck(compiler, p, i));
845 SLJIT_API_FUNC_ATTRIBUTE void sljit_compiler_verbose(struct sljit_compiler *compiler, FILE* verbose) in sljit_compiler_verbose() argument
847 compiler->verbose = verbose; in sljit_compiler_verbose()
860 static void sljit_verbose_reg(struct sljit_compiler *compiler, sljit_s32 r) in sljit_verbose_reg() argument
862 if (r < (SLJIT_R0 + compiler->scratches)) in sljit_verbose_reg()
863 fprintf(compiler->verbose, "r%d", r - SLJIT_R0); in sljit_verbose_reg()
865 fprintf(compiler->verbose, "s%d", SLJIT_NUMBER_OF_REGISTERS - r); in sljit_verbose_reg()
867 fprintf(compiler->verbose, "sp"); in sljit_verbose_reg()
870 static void sljit_verbose_freg(struct sljit_compiler *compiler, sljit_s32 r) in sljit_verbose_freg() argument
872 if (r < (SLJIT_FR0 + compiler->fscratches)) in sljit_verbose_freg()
873 fprintf(compiler->verbose, "fr%d", r - SLJIT_FR0); in sljit_verbose_freg()
875 fprintf(compiler->verbose, "fs%d", SLJIT_NUMBER_OF_FLOAT_REGISTERS - r); in sljit_verbose_freg()
878 static void sljit_verbose_param(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in sljit_verbose_param() argument
881 fprintf(compiler->verbose, "#%" SLJIT_PRINT_D "d", (i)); in sljit_verbose_param()
884 fputc('[', compiler->verbose); in sljit_verbose_param()
885 sljit_verbose_reg(compiler, (p) & REG_MASK); in sljit_verbose_param()
887 fprintf(compiler->verbose, " + "); in sljit_verbose_param()
888 sljit_verbose_reg(compiler, OFFS_REG(p)); in sljit_verbose_param()
890 fprintf(compiler->verbose, " * %d", 1 << (i)); in sljit_verbose_param()
893 fprintf(compiler->verbose, " + %" SLJIT_PRINT_D "d", (i)); in sljit_verbose_param()
894 fputc(']', compiler->verbose); in sljit_verbose_param()
897 fprintf(compiler->verbose, "[#%" SLJIT_PRINT_D "d]", (i)); in sljit_verbose_param()
899 sljit_verbose_reg(compiler, p); in sljit_verbose_param()
901 fprintf(compiler->verbose, "unused"); in sljit_verbose_param()
904 static void sljit_verbose_fparam(struct sljit_compiler *compiler, sljit_s32 p, sljit_sw i) in sljit_verbose_fparam() argument
908 fputc('[', compiler->verbose); in sljit_verbose_fparam()
909 sljit_verbose_reg(compiler, (p) & REG_MASK); in sljit_verbose_fparam()
911 fprintf(compiler->verbose, " + "); in sljit_verbose_fparam()
912 sljit_verbose_reg(compiler, OFFS_REG(p)); in sljit_verbose_fparam()
914 fprintf(compiler->verbose, "%d", 1 << (i)); in sljit_verbose_fparam()
917 fprintf(compiler->verbose, " + %" SLJIT_PRINT_D "d", (i)); in sljit_verbose_fparam()
918 fputc(']', compiler->verbose); in sljit_verbose_fparam()
921 fprintf(compiler->verbose, "[#%" SLJIT_PRINT_D "d]", (i)); in sljit_verbose_fparam()
924 sljit_verbose_freg(compiler, p); in sljit_verbose_fparam()
997 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_generate_code(struct sljit_compiler *compiler) in check_sljit_generate_code() argument
1003 SLJIT_UNUSED_ARG(compiler); in check_sljit_generate_code()
1006 CHECK_ARGUMENT(compiler->size > 0); in check_sljit_generate_code()
1007 jump = compiler->jumps; in check_sljit_generate_code()
1017 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_enter(struct sljit_compiler *compiler, in check_sljit_emit_enter() argument
1025 SLJIT_UNUSED_ARG(compiler); in check_sljit_emit_enter()
1048 compiler->last_flags = 0; in check_sljit_emit_enter()
1051 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_enter()
1052 …fprintf(compiler->verbose, " enter options:%s args[", (options & SLJIT_F64_ALIGNMENT) ? "f64_alig… in check_sljit_emit_enter()
1056 fprintf(compiler->verbose, "%s", call_arg_names[arg_types & SLJIT_DEF_MASK]); in check_sljit_emit_enter()
1059 fprintf(compiler->verbose, ","); in check_sljit_emit_enter()
1062 fprintf(compiler->verbose, "] scratches:%d saveds:%d fscratches:%d fsaveds:%d local_size:%d\n", in check_sljit_emit_enter()
1069 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_set_context(struct sljit_compiler *compiler, in check_sljit_set_context() argument
1077 SLJIT_UNUSED_ARG(compiler); in check_sljit_set_context()
1099 compiler->last_flags = 0; in check_sljit_set_context()
1102 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_set_context()
1103 …fprintf(compiler->verbose, " set_context options:%s args[", (options & SLJIT_F64_ALIGNMENT) ? "f6… in check_sljit_set_context()
1107 fprintf(compiler->verbose, "%s", call_arg_names[arg_types & SLJIT_DEF_MASK]); in check_sljit_set_context()
1110 fprintf(compiler->verbose, ","); in check_sljit_set_context()
1113 fprintf(compiler->verbose, "] scratches:%d saveds:%d fscratches:%d fsaveds:%d local_size:%d\n", in check_sljit_set_context()
1120 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_return(struct sljit_compiler *compiler, slji… in check_sljit_emit_return() argument
1123 CHECK_ARGUMENT(compiler->scratches >= 0); in check_sljit_emit_return()
1130 compiler->last_flags = 0; in check_sljit_emit_return()
1133 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_return()
1135 fprintf(compiler->verbose, " return\n"); in check_sljit_emit_return()
1137 fprintf(compiler->verbose, " return%s ", op1_names[op - SLJIT_OP1_BASE]); in check_sljit_emit_return()
1138 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_return()
1139 fprintf(compiler->verbose, "\n"); in check_sljit_emit_return()
1146 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fast_enter(struct sljit_compiler *compiler, … in check_sljit_emit_fast_enter() argument
1150 compiler->last_flags = 0; in check_sljit_emit_fast_enter()
1153 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fast_enter()
1154 fprintf(compiler->verbose, " fast_enter "); in check_sljit_emit_fast_enter()
1155 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_fast_enter()
1156 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fast_enter()
1162 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op0(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_op0() argument
1168 …CHECK_ARGUMENT(GET_OPCODE(op) < SLJIT_LMUL_UW || GET_OPCODE(op) >= SLJIT_ENDBR || compiler->scratc… in check_sljit_emit_op0()
1170 compiler->last_flags = 0; in check_sljit_emit_op0()
1173 if (SLJIT_UNLIKELY(!!compiler->verbose)) in check_sljit_emit_op0()
1175 fprintf(compiler->verbose, " %s", op0_names[GET_OPCODE(op) - SLJIT_OP0_BASE]); in check_sljit_emit_op0()
1177 fprintf(compiler->verbose, (op & SLJIT_I32_OP) ? "32" : "w"); in check_sljit_emit_op0()
1179 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op0()
1185 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op1(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_op1() argument
1189 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_op1()
1190 compiler->skip_checks = 0; in check_sljit_emit_op1()
1223 compiler->last_flags = GET_FLAG_TYPE(op) | (op & (SLJIT_I32_OP | SLJIT_SET_Z)); in check_sljit_emit_op1()
1227 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op1()
1230 fprintf(compiler->verbose, " mov%s%s ", !(op & SLJIT_I32_OP) ? "" : "32", in check_sljit_emit_op1()
1235 …fprintf(compiler->verbose, " %s%s%s%s%s ", op1_names[GET_OPCODE(op) - SLJIT_OP1_BASE], !(op & SLJ… in check_sljit_emit_op1()
1240 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_op1()
1241 fprintf(compiler->verbose, ", "); in check_sljit_emit_op1()
1242 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_op1()
1243 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op1()
1249 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op2(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_op2() argument
1254 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_op2()
1255 compiler->skip_checks = 0; in check_sljit_emit_op2()
1290 CHECK_ARGUMENT((compiler->last_flags & 0xff) == GET_FLAG_TYPE(SLJIT_SET_CARRY)); in check_sljit_emit_op2()
1291 CHECK_ARGUMENT((op & SLJIT_I32_OP) == (compiler->last_flags & SLJIT_I32_OP)); in check_sljit_emit_op2()
1301 compiler->last_flags = GET_FLAG_TYPE(op) | (op & (SLJIT_I32_OP | SLJIT_SET_Z)); in check_sljit_emit_op2()
1304 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op2()
1305 …fprintf(compiler->verbose, " %s%s%s%s%s ", op2_names[GET_OPCODE(op) - SLJIT_OP2_BASE], !(op & SLJ… in check_sljit_emit_op2()
1308 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_op2()
1309 fprintf(compiler->verbose, ", "); in check_sljit_emit_op2()
1310 sljit_verbose_param(compiler, src1, src1w); in check_sljit_emit_op2()
1311 fprintf(compiler->verbose, ", "); in check_sljit_emit_op2()
1312 sljit_verbose_param(compiler, src2, src2w); in check_sljit_emit_op2()
1313 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op2()
1319 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_src(struct sljit_compiler *compiler, slji… in check_sljit_emit_op_src() argument
1329 compiler->last_flags = 0; in check_sljit_emit_op_src()
1337 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op_src()
1338 fprintf(compiler->verbose, " %s ", op_src_names[op - SLJIT_OP_SRC_BASE]); in check_sljit_emit_op_src()
1339 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_op_src()
1340 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op_src()
1364 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_custom(struct sljit_compiler *compiler, in check_sljit_emit_op_custom() argument
1371 SLJIT_UNUSED_ARG(compiler); in check_sljit_emit_op_custom()
1385 compiler->last_flags = 0; in check_sljit_emit_op_custom()
1388 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op_custom()
1389 fprintf(compiler->verbose, " op_custom"); in check_sljit_emit_op_custom()
1391 fprintf(compiler->verbose, " 0x%x", ((sljit_u8*)instruction)[i]); in check_sljit_emit_op_custom()
1392 fprintf(compiler->verbose, "\n"); in check_sljit_emit_op_custom()
1398 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop1(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_fop1() argument
1402 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_fop1()
1403 compiler->skip_checks = 0; in check_sljit_emit_fop1()
1415 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop1()
1417 fprintf(compiler->verbose, " %s%s ", fop1_names[SLJIT_CONV_F64_FROM_F32 - SLJIT_FOP1_BASE], in check_sljit_emit_fop1()
1420 fprintf(compiler->verbose, " %s%s ", fop1_names[GET_OPCODE(op) - SLJIT_FOP1_BASE], in check_sljit_emit_fop1()
1423 sljit_verbose_fparam(compiler, dst, dstw); in check_sljit_emit_fop1()
1424 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop1()
1425 sljit_verbose_fparam(compiler, src, srcw); in check_sljit_emit_fop1()
1426 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop1()
1432 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop1_cmp(struct sljit_compiler *compiler, sl… in check_sljit_emit_fop1_cmp() argument
1437 compiler->last_flags = GET_FLAG_TYPE(op) | (op & (SLJIT_I32_OP | SLJIT_SET_Z)); in check_sljit_emit_fop1_cmp()
1440 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_fop1_cmp()
1441 compiler->skip_checks = 0; in check_sljit_emit_fop1_cmp()
1455 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop1_cmp()
1456 …fprintf(compiler->verbose, " %s%s", fop1_names[SLJIT_CMP_F64 - SLJIT_FOP1_BASE], (op & SLJIT_F32_… in check_sljit_emit_fop1_cmp()
1458 fprintf(compiler->verbose, ".%s_f", jump_names[GET_FLAG_TYPE(op)]); in check_sljit_emit_fop1_cmp()
1460 fprintf(compiler->verbose, " "); in check_sljit_emit_fop1_cmp()
1461 sljit_verbose_fparam(compiler, src1, src1w); in check_sljit_emit_fop1_cmp()
1462 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop1_cmp()
1463 sljit_verbose_fparam(compiler, src2, src2w); in check_sljit_emit_fop1_cmp()
1464 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop1_cmp()
1470 …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
1474 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_fop1_conv_sw_from_f64()
1475 compiler->skip_checks = 0; in check_sljit_emit_fop1_conv_sw_from_f64()
1487 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop1_conv_sw_from_f64()
1488 fprintf(compiler->verbose, " %s%s.from%s ", fop1_names[GET_OPCODE(op) - SLJIT_FOP1_BASE], in check_sljit_emit_fop1_conv_sw_from_f64()
1491 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_fop1_conv_sw_from_f64()
1492 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop1_conv_sw_from_f64()
1493 sljit_verbose_fparam(compiler, src, srcw); in check_sljit_emit_fop1_conv_sw_from_f64()
1494 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop1_conv_sw_from_f64()
1500 …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
1504 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_fop1_conv_f64_from_sw()
1505 compiler->skip_checks = 0; in check_sljit_emit_fop1_conv_f64_from_sw()
1517 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop1_conv_f64_from_sw()
1518 fprintf(compiler->verbose, " %s%s.from%s ", fop1_names[GET_OPCODE(op) - SLJIT_FOP1_BASE], in check_sljit_emit_fop1_conv_f64_from_sw()
1521 sljit_verbose_fparam(compiler, dst, dstw); in check_sljit_emit_fop1_conv_f64_from_sw()
1522 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop1_conv_f64_from_sw()
1523 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_fop1_conv_f64_from_sw()
1524 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop1_conv_f64_from_sw()
1530 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop2(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_fop2() argument
1544 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fop2()
1545 …fprintf(compiler->verbose, " %s%s ", fop2_names[GET_OPCODE(op) - SLJIT_FOP2_BASE], (op & SLJIT_F3… in check_sljit_emit_fop2()
1546 sljit_verbose_fparam(compiler, dst, dstw); in check_sljit_emit_fop2()
1547 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop2()
1548 sljit_verbose_fparam(compiler, src1, src1w); in check_sljit_emit_fop2()
1549 fprintf(compiler->verbose, ", "); in check_sljit_emit_fop2()
1550 sljit_verbose_fparam(compiler, src2, src2w); in check_sljit_emit_fop2()
1551 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fop2()
1557 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_label(struct sljit_compiler *compiler) in check_sljit_emit_label() argument
1559 SLJIT_UNUSED_ARG(compiler); in check_sljit_emit_label()
1561 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_label()
1562 compiler->skip_checks = 0; in check_sljit_emit_label()
1567 compiler->last_flags = 0; in check_sljit_emit_label()
1571 if (SLJIT_UNLIKELY(!!compiler->verbose)) in check_sljit_emit_label()
1572 fprintf(compiler->verbose, "label:\n"); in check_sljit_emit_label()
1577 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_jump(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_jump() argument
1579 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_jump()
1580 compiler->skip_checks = 0; in check_sljit_emit_jump()
1592 CHECK_ARGUMENT(compiler->last_flags & SLJIT_SET_Z); in check_sljit_emit_jump()
1594 CHECK_ARGUMENT((type & 0xff) == (compiler->last_flags & 0xff) in check_sljit_emit_jump()
1595 || ((type & 0xff) == SLJIT_NOT_OVERFLOW && (compiler->last_flags & 0xff) == SLJIT_OVERFLOW) in check_sljit_emit_jump()
1596 …|| ((type & 0xff) == SLJIT_MUL_NOT_OVERFLOW && (compiler->last_flags & 0xff) == SLJIT_MUL_OVERFLOW… in check_sljit_emit_jump()
1597 CHECK_ARGUMENT((type & SLJIT_I32_OP) == (compiler->last_flags & SLJIT_I32_OP)); in check_sljit_emit_jump()
1601 if (SLJIT_UNLIKELY(!!compiler->verbose)) in check_sljit_emit_jump()
1602 fprintf(compiler->verbose, " jump%s %s%s\n", !(type & SLJIT_REWRITABLE_JUMP) ? "" : ".r", in check_sljit_emit_jump()
1608 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_call(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_call() argument
1633 CHECK_ARGUMENT(compiler->fscratches > 0); in check_sljit_emit_call()
1635 CHECK_ARGUMENT(compiler->scratches > 0); in check_sljit_emit_call()
1640 CHECK_ARGUMENT(compiler->scratches >= scratches); in check_sljit_emit_call()
1641 CHECK_ARGUMENT(compiler->fscratches >= fscratches); in check_sljit_emit_call()
1645 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_call()
1646 fprintf(compiler->verbose, " %s%s ret[%s", jump_names[type & 0xff], in check_sljit_emit_call()
1651 fprintf(compiler->verbose, "], args["); in check_sljit_emit_call()
1653 fprintf(compiler->verbose, "%s", call_arg_names[arg_types & SLJIT_DEF_MASK]); in check_sljit_emit_call()
1656 fprintf(compiler->verbose, ","); in check_sljit_emit_call()
1659 fprintf(compiler->verbose, "]\n"); in check_sljit_emit_call()
1665 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_cmp() argument
1674 compiler->last_flags = 0; in check_sljit_emit_cmp()
1677 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_cmp()
1678 fprintf(compiler->verbose, " cmp%s %s%s, ", !(type & SLJIT_REWRITABLE_JUMP) ? "" : ".r", in check_sljit_emit_cmp()
1680 sljit_verbose_param(compiler, src1, src1w); in check_sljit_emit_cmp()
1681 fprintf(compiler->verbose, ", "); in check_sljit_emit_cmp()
1682 sljit_verbose_param(compiler, src2, src2w); in check_sljit_emit_cmp()
1683 fprintf(compiler->verbose, "\n"); in check_sljit_emit_cmp()
1689 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fcmp(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_fcmp() argument
1699 compiler->last_flags = 0; in check_sljit_emit_fcmp()
1702 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fcmp()
1703 fprintf(compiler->verbose, " fcmp%s %s%s, ", !(type & SLJIT_REWRITABLE_JUMP) ? "" : ".r", in check_sljit_emit_fcmp()
1705 sljit_verbose_fparam(compiler, src1, src1w); in check_sljit_emit_fcmp()
1706 fprintf(compiler->verbose, ", "); in check_sljit_emit_fcmp()
1707 sljit_verbose_fparam(compiler, src2, src2w); in check_sljit_emit_fcmp()
1708 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fcmp()
1714 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_ijump(struct sljit_compiler *compiler, sljit… in check_sljit_emit_ijump() argument
1717 if (SLJIT_UNLIKELY(compiler->skip_checks)) { in check_sljit_emit_ijump()
1718 compiler->skip_checks = 0; in check_sljit_emit_ijump()
1727 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_ijump()
1728 fprintf(compiler->verbose, " ijump.%s ", jump_names[type]); in check_sljit_emit_ijump()
1729 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_ijump()
1730 fprintf(compiler->verbose, "\n"); in check_sljit_emit_ijump()
1736 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_icall(struct sljit_compiler *compiler, sljit… in check_sljit_emit_icall() argument
1762 CHECK_ARGUMENT(compiler->fscratches > 0); in check_sljit_emit_icall()
1764 CHECK_ARGUMENT(compiler->scratches > 0); in check_sljit_emit_icall()
1769 CHECK_ARGUMENT(compiler->scratches >= scratches); in check_sljit_emit_icall()
1770 CHECK_ARGUMENT(compiler->fscratches >= fscratches); in check_sljit_emit_icall()
1774 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_icall()
1775 fprintf(compiler->verbose, " i%s%s ret[%s", jump_names[type & 0xff], in check_sljit_emit_icall()
1780 fprintf(compiler->verbose, "], args["); in check_sljit_emit_icall()
1782 fprintf(compiler->verbose, "%s", call_arg_names[arg_types & SLJIT_DEF_MASK]); in check_sljit_emit_icall()
1785 fprintf(compiler->verbose, ","); in check_sljit_emit_icall()
1788 fprintf(compiler->verbose, "], "); in check_sljit_emit_icall()
1789 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_icall()
1790 fprintf(compiler->verbose, "\n"); in check_sljit_emit_icall()
1796 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_flags(struct sljit_compiler *compiler, sl… in check_sljit_emit_op_flags() argument
1809 CHECK_ARGUMENT(compiler->last_flags & SLJIT_SET_Z); in check_sljit_emit_op_flags()
1811 CHECK_ARGUMENT((type & 0xff) == (compiler->last_flags & 0xff) in check_sljit_emit_op_flags()
1812 || ((type & 0xff) == SLJIT_NOT_OVERFLOW && (compiler->last_flags & 0xff) == SLJIT_OVERFLOW) in check_sljit_emit_op_flags()
1813 …|| ((type & 0xff) == SLJIT_MUL_NOT_OVERFLOW && (compiler->last_flags & 0xff) == SLJIT_MUL_OVERFLOW… in check_sljit_emit_op_flags()
1818 compiler->last_flags = GET_FLAG_TYPE(op) | (op & (SLJIT_I32_OP | SLJIT_SET_Z)); in check_sljit_emit_op_flags()
1821 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_op_flags()
1822 fprintf(compiler->verbose, " flags%s %s%s, ", in check_sljit_emit_op_flags()
1826 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_op_flags()
1827 fprintf(compiler->verbose, ", %s%s\n", jump_names[type & 0xff], JUMP_POSTFIX(type)); in check_sljit_emit_op_flags()
1833 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_cmov(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_cmov() argument
1841 CHECK_ARGUMENT(compiler->scratches != -1 && compiler->saveds != -1); in check_sljit_emit_cmov()
1849 CHECK_ARGUMENT(compiler->last_flags & SLJIT_SET_Z); in check_sljit_emit_cmov()
1851 CHECK_ARGUMENT((type & 0xff) == (compiler->last_flags & 0xff) in check_sljit_emit_cmov()
1852 || ((type & 0xff) == SLJIT_NOT_OVERFLOW && (compiler->last_flags & 0xff) == SLJIT_OVERFLOW) in check_sljit_emit_cmov()
1853 …|| ((type & 0xff) == SLJIT_MUL_NOT_OVERFLOW && (compiler->last_flags & 0xff) == SLJIT_MUL_OVERFLOW… in check_sljit_emit_cmov()
1856 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_cmov()
1857 fprintf(compiler->verbose, " cmov%s %s%s, ", in check_sljit_emit_cmov()
1860 sljit_verbose_reg(compiler, dst_reg & ~SLJIT_I32_OP); in check_sljit_emit_cmov()
1861 fprintf(compiler->verbose, ", "); in check_sljit_emit_cmov()
1862 sljit_verbose_param(compiler, src, srcw); in check_sljit_emit_cmov()
1863 fprintf(compiler->verbose, "\n"); in check_sljit_emit_cmov()
1869 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_mem(struct sljit_compiler *compiler, sljit_s… in check_sljit_emit_mem() argument
1886 if (!(type & SLJIT_MEM_SUPP) && SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_mem()
1887 if (sljit_emit_mem(compiler, type | SLJIT_MEM_SUPP, reg, mem, memw) == SLJIT_ERR_UNSUPPORTED) in check_sljit_emit_mem()
1888 fprintf(compiler->verbose, " //"); in check_sljit_emit_mem()
1890 fprintf(compiler->verbose, " mem%s.%s%s%s ", in check_sljit_emit_mem()
1895 sljit_verbose_reg(compiler, reg); in check_sljit_emit_mem()
1896 fprintf(compiler->verbose, ", "); in check_sljit_emit_mem()
1897 sljit_verbose_param(compiler, mem, memw); in check_sljit_emit_mem()
1898 fprintf(compiler->verbose, "\n"); in check_sljit_emit_mem()
1904 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fmem(struct sljit_compiler *compiler, sljit_… in check_sljit_emit_fmem() argument
1918 if (!(type & SLJIT_MEM_SUPP) && SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_fmem()
1919 if (sljit_emit_fmem(compiler, type | SLJIT_MEM_SUPP, freg, mem, memw) == SLJIT_ERR_UNSUPPORTED) in check_sljit_emit_fmem()
1920 fprintf(compiler->verbose, " //"); in check_sljit_emit_fmem()
1922 fprintf(compiler->verbose, " fmem.%s%s%s ", in check_sljit_emit_fmem()
1926 sljit_verbose_freg(compiler, freg); in check_sljit_emit_fmem()
1927 fprintf(compiler->verbose, ", "); in check_sljit_emit_fmem()
1928 sljit_verbose_param(compiler, mem, memw); in check_sljit_emit_fmem()
1929 fprintf(compiler->verbose, "\n"); in check_sljit_emit_fmem()
1935 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_get_local_base(struct sljit_compiler *compiler, s… in check_sljit_get_local_base() argument
1944 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_get_local_base()
1945 fprintf(compiler->verbose, " local_base "); in check_sljit_get_local_base()
1946 sljit_verbose_param(compiler, dst, dstw); in check_sljit_get_local_base()
1947 fprintf(compiler->verbose, ", #%" SLJIT_PRINT_D "d\n", offset); in check_sljit_get_local_base()
1953 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_const(struct sljit_compiler *compiler, sljit… in check_sljit_emit_const() argument
1961 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_const()
1962 fprintf(compiler->verbose, " const "); in check_sljit_emit_const()
1963 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_const()
1964 fprintf(compiler->verbose, ", #%" SLJIT_PRINT_D "d\n", init_value); in check_sljit_emit_const()
1970 static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_put_label(struct sljit_compiler *compiler, s… in check_sljit_emit_put_label() argument
1976 if (SLJIT_UNLIKELY(!!compiler->verbose)) { in check_sljit_emit_put_label()
1977 fprintf(compiler->verbose, " put_label "); in check_sljit_emit_put_label()
1978 sljit_verbose_param(compiler, dst, dstw); in check_sljit_emit_put_label()
1979 fprintf(compiler->verbose, "\n"); in check_sljit_emit_put_label()
1987 #define SELECT_FOP1_OPERATION_WITH_CHECKS(compiler, op, dst, dstw, src, srcw) \ argument
1992 CHECK(check_sljit_emit_fop1_cmp(compiler, op, dst, dstw, src, srcw)); \
1995 return sljit_emit_fop1_cmp(compiler, op, dst, dstw, src, srcw); \
1998 CHECK(check_sljit_emit_fop1_conv_sw_from_f64(compiler, op, dst, dstw, src, srcw)); \
2001 return sljit_emit_fop1_conv_sw_from_f64(compiler, op, dst, dstw, src, srcw); \
2003 CHECK(check_sljit_emit_fop1_conv_f64_from_sw(compiler, op, dst, dstw, src, srcw)); \
2006 return sljit_emit_fop1_conv_f64_from_sw(compiler, op, dst, dstw, src, srcw); \
2008 CHECK(check_sljit_emit_fop1(compiler, op, dst, dstw, src, srcw)); \
2012 static SLJIT_INLINE sljit_s32 emit_mov_before_return(struct sljit_compiler *compiler, sljit_s32 op,… in emit_mov_before_return() argument
2029 compiler->skip_checks = 1; in emit_mov_before_return()
2031 return sljit_emit_op1(compiler, op, SLJIT_RETURN_REG, 0, src, srcw); in emit_mov_before_return()
2039 static SLJIT_INLINE sljit_s32 sljit_emit_cmov_generic(struct sljit_compiler *compiler, sljit_s32 ty… in sljit_emit_cmov_generic() argument
2049 compiler->skip_checks = 1; in sljit_emit_cmov_generic()
2051 jump = sljit_emit_jump(compiler, type ^ 0x1); in sljit_emit_cmov_generic()
2056 compiler->skip_checks = 1; in sljit_emit_cmov_generic()
2058 FAIL_IF(sljit_emit_op1(compiler, op, dst_reg & ~SLJIT_I32_OP, 0, src, srcw)); in sljit_emit_cmov_generic()
2062 compiler->skip_checks = 1; in sljit_emit_cmov_generic()
2064 label = sljit_emit_label(compiler); in sljit_emit_cmov_generic()
2120 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s… in sljit_emit_cmp() argument
2129 CHECK_PTR(check_sljit_emit_cmp(compiler, type, src1, src1w, src2, src2w)); in sljit_emit_cmp()
2141 return emit_cmp_to0(compiler, type, src1, src1w); in sljit_emit_cmp()
2190 compiler->skip_checks = 1; in sljit_emit_cmp()
2192 PTR_FAIL_IF(sljit_emit_op2(compiler, SLJIT_SUB | flags | (type & SLJIT_I32_OP), in sljit_emit_cmp()
2196 compiler->skip_checks = 1; in sljit_emit_cmp()
2198 return sljit_emit_jump(compiler, condition | (type & (SLJIT_REWRITABLE_JUMP | SLJIT_I32_OP))); in sljit_emit_cmp()
2203 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_fcmp(struct sljit_compiler *compiler, sljit_… in sljit_emit_fcmp() argument
2208 CHECK_PTR(check_sljit_emit_fcmp(compiler, type, src1, src1w, src2, src2w)); in sljit_emit_fcmp()
2212 compiler->skip_checks = 1; in sljit_emit_fcmp()
2214 …sljit_emit_fop1(compiler, SLJIT_CMP_F64 | ((type & 0xff) << VARIABLE_FLAG_SHIFT) | (type & SLJIT_I… in sljit_emit_fcmp()
2218 compiler->skip_checks = 1; in sljit_emit_fcmp()
2220 return sljit_emit_jump(compiler, type); in sljit_emit_fcmp()
2227 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_mem() argument
2231 SLJIT_UNUSED_ARG(compiler); in sljit_emit_mem()
2238 CHECK(check_sljit_emit_mem(compiler, type, reg, mem, memw)); in sljit_emit_mem()
2248 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_fmem() argument
2252 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fmem()
2259 CHECK(check_sljit_emit_fmem(compiler, type, freg, mem, memw)); in sljit_emit_fmem()
2269 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 … in sljit_get_local_base() argument
2272 CHECK(check_sljit_get_local_base(compiler, dst, dstw, offset)); in sljit_get_local_base()
2277 compiler->skip_checks = 1; in sljit_get_local_base()
2280 return sljit_emit_op2(compiler, SLJIT_ADD, dst, dstw, SLJIT_SP, 0, SLJIT_IMM, offset); in sljit_get_local_base()
2281 return sljit_emit_op1(compiler, SLJIT_MOV, dst, dstw, SLJIT_SP, 0); in sljit_get_local_base()
2302 SLJIT_API_FUNC_ATTRIBUTE void sljit_free_compiler(struct sljit_compiler *compiler) in sljit_free_compiler() argument
2304 SLJIT_UNUSED_ARG(compiler); in sljit_free_compiler()
2308 SLJIT_API_FUNC_ATTRIBUTE void sljit_set_compiler_memory_error(struct sljit_compiler *compiler) in sljit_set_compiler_memory_error() argument
2310 SLJIT_UNUSED_ARG(compiler); in sljit_set_compiler_memory_error()
2314 SLJIT_API_FUNC_ATTRIBUTE void* sljit_alloc_memory(struct sljit_compiler *compiler, sljit_s32 size) in sljit_alloc_memory() argument
2316 SLJIT_UNUSED_ARG(compiler); in sljit_alloc_memory()
2323 SLJIT_API_FUNC_ATTRIBUTE void sljit_compiler_verbose(struct sljit_compiler *compiler, FILE* verbose) in sljit_compiler_verbose() argument
2325 SLJIT_UNUSED_ARG(compiler); in sljit_compiler_verbose()
2331 SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compiler) in sljit_generate_code() argument
2333 SLJIT_UNUSED_ARG(compiler); in sljit_generate_code()
2351 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compiler *compiler, in sljit_emit_enter() argument
2355 SLJIT_UNUSED_ARG(compiler); in sljit_emit_enter()
2367 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compiler *compiler, in sljit_set_context() argument
2371 SLJIT_UNUSED_ARG(compiler); in sljit_set_context()
2383 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compiler *compiler, sljit_s32 op,… in sljit_emit_return() argument
2385 SLJIT_UNUSED_ARG(compiler); in sljit_emit_return()
2393 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler *compiler, sljit_s32… in sljit_emit_fast_enter() argument
2395 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fast_enter()
2402 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op) in sljit_emit_op0() argument
2404 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op0()
2410 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_op1() argument
2414 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op1()
2424 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_op2() argument
2429 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op2()
2441 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_op_src() argument
2444 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op_src()
2458 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_compiler *compiler, in sljit_emit_op_custom() argument
2461 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op_custom()
2468 SLJIT_API_FUNC_ATTRIBUTE void sljit_set_current_flags(struct sljit_compiler *compiler, sljit_s32 cu… in sljit_set_current_flags() argument
2470 SLJIT_UNUSED_ARG(compiler); in sljit_set_current_flags()
2474 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_fop1() argument
2478 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fop1()
2488 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_fop2() argument
2493 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fop2()
2505 SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label(struct sljit_compiler *compiler) in sljit_emit_label() argument
2507 SLJIT_UNUSED_ARG(compiler); in sljit_emit_label()
2512 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_… in sljit_emit_jump() argument
2514 SLJIT_UNUSED_ARG(compiler); in sljit_emit_jump()
2520 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_… in sljit_emit_call() argument
2523 SLJIT_UNUSED_ARG(compiler); in sljit_emit_call()
2530 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s… in sljit_emit_cmp() argument
2534 SLJIT_UNUSED_ARG(compiler); in sljit_emit_cmp()
2544 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_fcmp(struct sljit_compiler *compiler, sljit_… in sljit_emit_fcmp() argument
2548 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fcmp()
2579 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compiler *compiler, sljit_s32 type… in sljit_emit_ijump() argument
2581 SLJIT_UNUSED_ARG(compiler); in sljit_emit_ijump()
2589 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_icall() argument
2593 SLJIT_UNUSED_ARG(compiler); in sljit_emit_icall()
2602 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_s32 o… in sljit_emit_op_flags() argument
2606 SLJIT_UNUSED_ARG(compiler); in sljit_emit_op_flags()
2615 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compiler, sljit_s32 type, in sljit_emit_cmov() argument
2619 SLJIT_UNUSED_ARG(compiler); in sljit_emit_cmov()
2628 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler *compiler, sljit_s32 type, … in sljit_emit_mem() argument
2630 SLJIT_UNUSED_ARG(compiler); in sljit_emit_mem()
2639 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem(struct sljit_compiler *compiler, sljit_s32 type,… in sljit_emit_fmem() argument
2641 SLJIT_UNUSED_ARG(compiler); in sljit_emit_fmem()
2650 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 … in sljit_get_local_base() argument
2652 SLJIT_UNUSED_ARG(compiler); in sljit_get_local_base()
2660 SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, slji… in sljit_emit_const() argument
2662 SLJIT_UNUSED_ARG(compiler); in sljit_emit_const()
2670 …UTE struct sljit_put_label* sljit_emit_put_label(struct sljit_compiler *compiler, sljit_s32 dst, s… in sljit_emit_put_label() argument
2672 SLJIT_UNUSED_ARG(compiler); in sljit_emit_put_label()