/[pcre]/code/trunk/sljit/sljitLir.c
ViewVC logotype

Diff of /code/trunk/sljit/sljitLir.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 739 by zherczeg, Fri Oct 7 19:18:55 2011 UTC revision 740 by zherczeg, Mon Oct 31 06:10:14 2011 UTC
# Line 192  static int compiler_initialized = 0; Line 192  static int compiler_initialized = 0;
192  static void init_compiler(void);  static void init_compiler(void);
193  #endif  #endif
194    
 struct sljit_compiler* sljit_create_compiler(void)  
 {  
         struct sljit_compiler *compiler = (struct sljit_compiler*)SLJIT_MALLOC(sizeof(struct sljit_compiler));  
         /* Compile time assert. */  
         SLJIT_CONST int minus1[sizeof(sljit_b) == 1 && sizeof(sljit_h) == 2 &&  
                 sizeof(sljit_i) == 4 && (sizeof(sljit_w) == 4 || sizeof(sljit_w) == 8) ? 1 : -1] = { -1 };  
195    
196    SLJIT_API_FUNC_ATTRIBUTE struct sljit_compiler* sljit_create_compiler(void)
197    {
198            struct sljit_compiler *compiler = (struct sljit_compiler*)SLJIT_MALLOC_ZEROED(sizeof(struct sljit_compiler));
199          if (!compiler)          if (!compiler)
200                  return NULL;                  return NULL;
201    
202          compiler->error = SLJIT_SUCCESS;          SLJIT_COMPILE_ASSERT(
203                    sizeof(sljit_b) == 1 && sizeof(sljit_ub) == 1
204                    && sizeof(sljit_h) == 2 && sizeof(sljit_uh) == 2
205                    && sizeof(sljit_i) == 4 && sizeof(sljit_ui) == 4
206                    && ((sizeof(sljit_w) == 4 && sizeof(sljit_uw) == 4) || (sizeof(sljit_w) == 8 && sizeof(sljit_uw) == 8)),
207                    invalid_integer_types);
208    
209          compiler->labels = NULL;          /* Only the non-zero members must be set. */
210          compiler->jumps = NULL;          compiler->error = SLJIT_SUCCESS;
         compiler->consts = NULL;  
         compiler->last_label = NULL;  
         compiler->last_jump = NULL;  
         compiler->last_const = NULL;  
211    
212          compiler->buf = (struct sljit_memory_fragment*)SLJIT_MALLOC(BUF_SIZE);          compiler->buf = (struct sljit_memory_fragment*)SLJIT_MALLOC(BUF_SIZE);
213          compiler->abuf = (struct sljit_memory_fragment*)SLJIT_MALLOC(ABUF_SIZE);          compiler->abuf = (struct sljit_memory_fragment*)SLJIT_MALLOC(ABUF_SIZE);
# Line 228  struct sljit_compiler* sljit_create_comp Line 226  struct sljit_compiler* sljit_create_comp
226          compiler->abuf->next = NULL;          compiler->abuf->next = NULL;
227          compiler->abuf->used_size = 0;          compiler->abuf->used_size = 0;
228    
229          compiler->temporaries = minus1[0];          compiler->temporaries = -1;
230          compiler->generals = minus1[0];          compiler->generals = -1;
         compiler->local_size = 0;  
         compiler->size = 0;  
231    
232  #if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32)  #if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32)
233          compiler->args = -1;          compiler->args = -1;
234  #endif  #endif
235    
 #if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) || (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64)  
         compiler->flags_saved = 0;  
 #endif  
   
236  #if (defined SLJIT_CONFIG_ARM_V5 && SLJIT_CONFIG_ARM_V5)  #if (defined SLJIT_CONFIG_ARM_V5 && SLJIT_CONFIG_ARM_V5)
237          compiler->cpool = (sljit_uw*)SLJIT_MALLOC(CPOOL_SIZE * sizeof(sljit_uw) + CPOOL_SIZE * sizeof(sljit_ub));          compiler->cpool = (sljit_uw*)SLJIT_MALLOC(CPOOL_SIZE * sizeof(sljit_uw) + CPOOL_SIZE * sizeof(sljit_ub));
238          if (!compiler->cpool) {          if (!compiler->cpool) {
# Line 251  struct sljit_compiler* sljit_create_comp Line 243  struct sljit_compiler* sljit_create_comp
243          }          }
244          compiler->cpool_unique = (sljit_ub*)(compiler->cpool + CPOOL_SIZE);          compiler->cpool_unique = (sljit_ub*)(compiler->cpool + CPOOL_SIZE);
245          compiler->cpool_diff = 0xffffffff;          compiler->cpool_diff = 0xffffffff;
         compiler->cpool_fill = 0;  
         compiler->patches = 0;  
246  #endif  #endif
247    
248  #if (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32)  #if (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32)
         compiler->has_locals = 0;  
249          compiler->delay_slot = UNMOVABLE_INS;          compiler->delay_slot = UNMOVABLE_INS;
250  #endif  #endif
251    
 #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE)  
         compiler->verbose = NULL;  
 #endif  
   
 #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) || (defined SLJIT_DEBUG && SLJIT_DEBUG)  
         compiler->skip_checks = 0;  
 #endif  
   
252  #if (defined SLJIT_NEEDS_COMPILER_INIT && SLJIT_NEEDS_COMPILER_INIT)  #if (defined SLJIT_NEEDS_COMPILER_INIT && SLJIT_NEEDS_COMPILER_INIT)
253          if (!compiler_initialized) {          if (!compiler_initialized) {
254                  init_compiler();                  init_compiler();
# Line 278  struct sljit_compiler* sljit_create_comp Line 259  struct sljit_compiler* sljit_create_comp
259          return compiler;          return compiler;
260  }  }
261    
262  void sljit_free_compiler(struct sljit_compiler *compiler)  SLJIT_API_FUNC_ATTRIBUTE void sljit_free_compiler(struct sljit_compiler *compiler)
263  {  {
264          struct sljit_memory_fragment *buf;          struct sljit_memory_fragment *buf;
265          struct sljit_memory_fragment *curr;          struct sljit_memory_fragment *curr;
# Line 304  void sljit_free_compiler(struct sljit_co Line 285  void sljit_free_compiler(struct sljit_co
285  }  }
286    
287  #if (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2)  #if (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2)
288  void sljit_free_code(void* code)  SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code)
289  {  {
290          /* Remove thumb mode flag. */          /* Remove thumb mode flag. */
291          SLJIT_FREE_EXEC((void*)((sljit_uw)code & ~0x1));          SLJIT_FREE_EXEC((void*)((sljit_uw)code & ~0x1));
292  }  }
293  #elif (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64)  #elif (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64)
294  void sljit_free_code(void* code)  SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code)
295  {  {
296          /* Resolve indirection. */          /* Resolve indirection. */
297          code = (void*)(*(sljit_uw*)code);          code = (void*)(*(sljit_uw*)code);
298          SLJIT_FREE_EXEC(code);          SLJIT_FREE_EXEC(code);
299  }  }
300  #else  #else
301  void sljit_free_code(void* code)  SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code)
302  {  {
303          SLJIT_FREE_EXEC(code);          SLJIT_FREE_EXEC(code);
304  }  }
305  #endif  #endif
306    
307  void sljit_set_label(struct sljit_jump *jump, struct sljit_label* label)  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_label(struct sljit_jump *jump, struct sljit_label* label)
308  {  {
309          if (SLJIT_LIKELY(!!jump) && SLJIT_LIKELY(!!label)) {          if (SLJIT_LIKELY(!!jump) && SLJIT_LIKELY(!!label)) {
310                  jump->flags &= ~JUMP_ADDR;                  jump->flags &= ~JUMP_ADDR;
# Line 332  void sljit_set_label(struct sljit_jump * Line 313  void sljit_set_label(struct sljit_jump *
313          }          }
314  }  }
315    
316  void sljit_set_target(struct sljit_jump *jump, sljit_uw target)  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_target(struct sljit_jump *jump, sljit_uw target)
317  {  {
318          if (SLJIT_LIKELY(!!jump)) {          if (SLJIT_LIKELY(!!jump)) {
319                  SLJIT_ASSERT(jump->flags & SLJIT_REWRITABLE_JUMP);                  SLJIT_ASSERT(jump->flags & SLJIT_REWRITABLE_JUMP);
# Line 383  static void* ensure_abuf(struct sljit_co Line 364  static void* ensure_abuf(struct sljit_co
364          return new_frag->memory;          return new_frag->memory;
365  }  }
366    
367  void* sljit_alloc_memory(struct sljit_compiler *compiler, int size)  SLJIT_API_FUNC_ATTRIBUTE void* sljit_alloc_memory(struct sljit_compiler *compiler, int size)
368  {  {
369          CHECK_ERROR_PTR();          CHECK_ERROR_PTR();
370    
# Line 448  static SLJIT_INLINE void set_const(struc Line 429  static SLJIT_INLINE void set_const(struc
429          compiler->last_const = const_;          compiler->last_const = const_;
430  }  }
431    
432  #define depends_on(exp, reg) \  #define ADDRESSING_DEPENDS_ON(exp, reg) \
433          (((exp) & SLJIT_MEM) && (((exp) & 0xf) == reg || (((exp) >> 4) & 0xf) == reg))          (((exp) & SLJIT_MEM) && (((exp) & 0xf) == reg || (((exp) >> 4) & 0xf) == reg))
434    
435  #if (defined SLJIT_DEBUG && SLJIT_DEBUG)  #if (defined SLJIT_DEBUG && SLJIT_DEBUG)
# Line 563  static SLJIT_INLINE void set_const(struc Line 544  static SLJIT_INLINE void set_const(struc
544    
545  #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE)  #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE)
546    
547  void sljit_compiler_verbose(struct sljit_compiler *compiler, FILE* verbose)  SLJIT_API_FUNC_ATTRIBUTE void sljit_compiler_verbose(struct sljit_compiler *compiler, FILE* verbose)
548  {  {
549          compiler->verbose = verbose;          compiler->verbose = verbose;
550  }  }
# Line 1104  static SLJIT_INLINE void check_sljit_emi Line 1085  static SLJIT_INLINE void check_sljit_emi
1085  #endif  #endif
1086    
1087  #if !(defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32)  #if !(defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32)
1088  struct sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, int type,  SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, int type,
1089          int src1, sljit_w src1w,          int src1, sljit_w src1w,
1090          int src2, sljit_w src2w)          int src2, sljit_w src2w)
1091  {  {
# Line 1176  struct sljit_jump* sljit_emit_cmp(struct Line 1157  struct sljit_jump* sljit_emit_cmp(struct
1157    
1158  /* Empty function bodies for those machines, which are not (yet) supported. */  /* Empty function bodies for those machines, which are not (yet) supported. */
1159    
1160  SLJIT_CONST char* sljit_get_platform_name()  SLJIT_API_FUNC_ATTRIBUTE SLJIT_CONST char* sljit_get_platform_name()
1161  {  {
1162          return "unsupported";          return "unsupported";
1163  }  }
1164    
1165  struct sljit_compiler* sljit_create_compiler(void)  SLJIT_API_FUNC_ATTRIBUTE struct sljit_compiler* sljit_create_compiler(void)
1166  {  {
1167          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1168          return NULL;          return NULL;
1169  }  }
1170    
1171  void sljit_free_compiler(struct sljit_compiler *compiler)  SLJIT_API_FUNC_ATTRIBUTE void sljit_free_compiler(struct sljit_compiler *compiler)
1172  {  {
1173          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1174          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1175  }  }
1176    
1177  void* sljit_alloc_memory(struct sljit_compiler *compiler, int size)  SLJIT_API_FUNC_ATTRIBUTE void* sljit_alloc_memory(struct sljit_compiler *compiler, int size)
1178  {  {
1179          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1180          SLJIT_UNUSED_ARG(size);          SLJIT_UNUSED_ARG(size);
# Line 1202  void* sljit_alloc_memory(struct sljit_co Line 1183  void* sljit_alloc_memory(struct sljit_co
1183  }  }
1184    
1185  #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE)  #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE)
1186  void sljit_compiler_verbose(struct sljit_compiler *compiler, FILE* verbose)  SLJIT_API_FUNC_ATTRIBUTE void sljit_compiler_verbose(struct sljit_compiler *compiler, FILE* verbose)
1187  {  {
1188          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1189          SLJIT_UNUSED_ARG(verbose);          SLJIT_UNUSED_ARG(verbose);
# Line 1210  void sljit_compiler_verbose(struct sljit Line 1191  void sljit_compiler_verbose(struct sljit
1191  }  }
1192  #endif  #endif
1193    
1194  void* sljit_generate_code(struct sljit_compiler *compiler)  SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compiler)
1195  {  {
1196          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1197          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1198          return NULL;          return NULL;
1199  }  }
1200    
1201  void sljit_free_code(void* code)  SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code)
1202  {  {
1203          SLJIT_UNUSED_ARG(code);          SLJIT_UNUSED_ARG(code);
1204          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1205  }  }
1206    
1207  int sljit_emit_enter(struct sljit_compiler *compiler, int args, int temporaries, int generals, int local_size)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_enter(struct sljit_compiler *compiler, int args, int temporaries, int generals, int local_size)
1208  {  {
1209          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1210          SLJIT_UNUSED_ARG(args);          SLJIT_UNUSED_ARG(args);
# Line 1234  int sljit_emit_enter(struct sljit_compil Line 1215  int sljit_emit_enter(struct sljit_compil
1215          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1216  }  }
1217    
1218  void sljit_fake_enter(struct sljit_compiler *compiler, int args, int temporaries, int generals, int local_size)  SLJIT_API_FUNC_ATTRIBUTE void sljit_fake_enter(struct sljit_compiler *compiler, int args, int temporaries, int generals, int local_size)
1219  {  {
1220          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1221          SLJIT_UNUSED_ARG(args);          SLJIT_UNUSED_ARG(args);
# Line 1244  void sljit_fake_enter(struct sljit_compi Line 1225  void sljit_fake_enter(struct sljit_compi
1225          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1226  }  }
1227    
1228  int sljit_emit_return(struct sljit_compiler *compiler, int src, sljit_w srcw)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_return(struct sljit_compiler *compiler, int src, sljit_w srcw)
1229  {  {
1230          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1231          SLJIT_UNUSED_ARG(src);          SLJIT_UNUSED_ARG(src);
# Line 1253  int sljit_emit_return(struct sljit_compi Line 1234  int sljit_emit_return(struct sljit_compi
1234          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1235  }  }
1236    
1237  int sljit_emit_fast_enter(struct sljit_compiler *compiler, int dst, sljit_w dstw, int args, int temporaries, int generals, int local_size)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_fast_enter(struct sljit_compiler *compiler, int dst, sljit_w dstw, int args, int temporaries, int generals, int local_size)
1238  {  {
1239          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1240          SLJIT_UNUSED_ARG(dst);          SLJIT_UNUSED_ARG(dst);
# Line 1266  int sljit_emit_fast_enter(struct sljit_c Line 1247  int sljit_emit_fast_enter(struct sljit_c
1247          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1248  }  }
1249    
1250  int sljit_emit_fast_return(struct sljit_compiler *compiler, int src, sljit_w srcw)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_fast_return(struct sljit_compiler *compiler, int src, sljit_w srcw)
1251  {  {
1252          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1253          SLJIT_UNUSED_ARG(src);          SLJIT_UNUSED_ARG(src);
# Line 1275  int sljit_emit_fast_return(struct sljit_ Line 1256  int sljit_emit_fast_return(struct sljit_
1256          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1257  }  }
1258    
1259  int sljit_emit_op0(struct sljit_compiler *compiler, int op)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_op0(struct sljit_compiler *compiler, int op)
1260  {  {
1261          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1262          SLJIT_UNUSED_ARG(op);          SLJIT_UNUSED_ARG(op);
# Line 1283  int sljit_emit_op0(struct sljit_compiler Line 1264  int sljit_emit_op0(struct sljit_compiler
1264          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1265  }  }
1266    
1267  int sljit_emit_op1(struct sljit_compiler *compiler, int op,  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_op1(struct sljit_compiler *compiler, int op,
1268          int dst, sljit_w dstw,          int dst, sljit_w dstw,
1269          int src, sljit_w srcw)          int src, sljit_w srcw)
1270  {  {
# Line 1297  int sljit_emit_op1(struct sljit_compiler Line 1278  int sljit_emit_op1(struct sljit_compiler
1278          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1279  }  }
1280    
1281  int sljit_emit_op2(struct sljit_compiler *compiler, int op,  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_op2(struct sljit_compiler *compiler, int op,
1282          int dst, sljit_w dstw,          int dst, sljit_w dstw,
1283          int src1, sljit_w src1w,          int src1, sljit_w src1w,
1284          int src2, sljit_w src2w)          int src2, sljit_w src2w)
# Line 1314  int sljit_emit_op2(struct sljit_compiler Line 1295  int sljit_emit_op2(struct sljit_compiler
1295          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1296  }  }
1297    
1298  int sljit_is_fpu_available(void)  SLJIT_API_FUNC_ATTRIBUTE int sljit_is_fpu_available(void)
1299  {  {
1300          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1301          return 0;          return 0;
1302  }  }
1303    
1304  int sljit_emit_fop1(struct sljit_compiler *compiler, int op,  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_fop1(struct sljit_compiler *compiler, int op,
1305          int dst, sljit_w dstw,          int dst, sljit_w dstw,
1306          int src, sljit_w srcw)          int src, sljit_w srcw)
1307  {  {
# Line 1334  int sljit_emit_fop1(struct sljit_compile Line 1315  int sljit_emit_fop1(struct sljit_compile
1315          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1316  }  }
1317    
1318  int sljit_emit_fop2(struct sljit_compiler *compiler, int op,  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_fop2(struct sljit_compiler *compiler, int op,
1319          int dst, sljit_w dstw,          int dst, sljit_w dstw,
1320          int src1, sljit_w src1w,          int src1, sljit_w src1w,
1321          int src2, sljit_w src2w)          int src2, sljit_w src2w)
# Line 1351  int sljit_emit_fop2(struct sljit_compile Line 1332  int sljit_emit_fop2(struct sljit_compile
1332          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1333  }  }
1334    
1335  struct sljit_label* sljit_emit_label(struct sljit_compiler *compiler)  SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
1336  {  {
1337          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1338          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1339          return NULL;          return NULL;
1340  }  }
1341    
1342  struct sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, int type)  SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, int type)
1343  {  {
1344          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1345          SLJIT_UNUSED_ARG(type);          SLJIT_UNUSED_ARG(type);
# Line 1366  struct sljit_jump* sljit_emit_jump(struc Line 1347  struct sljit_jump* sljit_emit_jump(struc
1347          return NULL;          return NULL;
1348  }  }
1349    
1350  struct sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, int type,  SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, int type,
1351          int src1, sljit_w src1w,          int src1, sljit_w src1w,
1352          int src2, sljit_w src2w)          int src2, sljit_w src2w)
1353  {  {
# Line 1380  struct sljit_jump* sljit_emit_cmp(struct Line 1361  struct sljit_jump* sljit_emit_cmp(struct
1361          return NULL;          return NULL;
1362  }  }
1363    
1364  void sljit_set_label(struct sljit_jump *jump, struct sljit_label* label)  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_label(struct sljit_jump *jump, struct sljit_label* label)
1365  {  {
1366          SLJIT_UNUSED_ARG(jump);          SLJIT_UNUSED_ARG(jump);
1367          SLJIT_UNUSED_ARG(label);          SLJIT_UNUSED_ARG(label);
1368          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1369  }  }
1370    
1371  void sljit_set_target(struct sljit_jump *jump, sljit_uw target)  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_target(struct sljit_jump *jump, sljit_uw target)
1372  {  {
1373          SLJIT_UNUSED_ARG(jump);          SLJIT_UNUSED_ARG(jump);
1374          SLJIT_UNUSED_ARG(target);          SLJIT_UNUSED_ARG(target);
1375          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1376  }  }
1377    
1378  int sljit_emit_ijump(struct sljit_compiler *compiler, int type, int src, sljit_w srcw)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_ijump(struct sljit_compiler *compiler, int type, int src, sljit_w srcw)
1379  {  {
1380          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1381          SLJIT_UNUSED_ARG(type);          SLJIT_UNUSED_ARG(type);
# Line 1404  int sljit_emit_ijump(struct sljit_compil Line 1385  int sljit_emit_ijump(struct sljit_compil
1385          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1386  }  }
1387    
1388  int sljit_emit_cond_value(struct sljit_compiler *compiler, int op, int dst, sljit_w dstw, int type)  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_cond_value(struct sljit_compiler *compiler, int op, int dst, sljit_w dstw, int type)
1389  {  {
1390          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1391          SLJIT_UNUSED_ARG(op);          SLJIT_UNUSED_ARG(op);
# Line 1415  int sljit_emit_cond_value(struct sljit_c Line 1396  int sljit_emit_cond_value(struct sljit_c
1396          return SLJIT_ERR_UNSUPPORTED;          return SLJIT_ERR_UNSUPPORTED;
1397  }  }
1398    
1399  struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, int dst, sljit_w dstw, sljit_w initval)  SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, int dst, sljit_w dstw, sljit_w initval)
1400  {  {
1401          SLJIT_UNUSED_ARG(compiler);          SLJIT_UNUSED_ARG(compiler);
1402          SLJIT_UNUSED_ARG(dst);          SLJIT_UNUSED_ARG(dst);
# Line 1425  struct sljit_const* sljit_emit_const(str Line 1406  struct sljit_const* sljit_emit_const(str
1406          return NULL;          return NULL;
1407  }  }
1408    
1409  void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_addr)  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_addr)
1410  {  {
1411          SLJIT_UNUSED_ARG(addr);          SLJIT_UNUSED_ARG(addr);
1412          SLJIT_UNUSED_ARG(new_addr);          SLJIT_UNUSED_ARG(new_addr);
1413          SLJIT_ASSERT_STOP();          SLJIT_ASSERT_STOP();
1414  }  }
1415    
1416  void sljit_set_const(sljit_uw addr, sljit_w new_constant)  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_w new_constant)
1417  {  {
1418          SLJIT_UNUSED_ARG(addr);          SLJIT_UNUSED_ARG(addr);
1419          SLJIT_UNUSED_ARG(new_constant);          SLJIT_UNUSED_ARG(new_constant);

Legend:
Removed from v.739  
changed lines
  Added in v.740

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12