Lines Matching refs:code_ptr
248 static SLJIT_INLINE sljit_si detect_jump_type(struct sljit_jump *jump, sljit_ins *code_ptr, sljit_ins *code)
274 diff = ((sljit_sw)target_addr - (sljit_sw)(code_ptr)) & ~0x3l;
321 sljit_ins *code_ptr;
346 code_ptr = code;
355 *code_ptr = *buf_ptr++;
362 label->addr = (sljit_uw)code_ptr;
363 label->size = code_ptr - code;
368 jump->addr = (sljit_uw)(code_ptr - 3);
370 jump->addr = (sljit_uw)(code_ptr - 6);
372 if (detect_jump_type(jump, code_ptr, code)) {
374 code_ptr[-3] = code_ptr[0];
375 code_ptr -= 3;
378 code_ptr -= 3;
379 code_ptr[-1] = code_ptr[2];
380 code_ptr[0] = code_ptr[3];
383 code_ptr--;
384 code_ptr[-1] = code_ptr[0];
385 code_ptr[0] = code_ptr[1];
387 SLJIT_ASSERT((code_ptr[-3] & 0xfc00ffff) == 0x780007c6);
388 code_ptr[-3] ^= 0x8422;
390 code_ptr[-2] ^= 0x4000000;
393 code_ptr[-6] = code_ptr[0];
394 code_ptr -= 6;
398 code_ptr[0] = BCx | (2 << 2) | ((code_ptr[0] ^ (8 << 21)) & 0x03ff0001);
399 code_ptr++;
401 code_ptr[0] = Bx;
408 const_->addr = (sljit_uw)code_ptr;
411 code_ptr ++;
419 label->addr = (sljit_uw)code_ptr;
420 label->size = code_ptr - code;
428 SLJIT_ASSERT(code_ptr - code <= (sljit_sw)compiler->size - (sizeof(struct sljit_function_context) / sizeof(sljit_ins)));
430 SLJIT_ASSERT(code_ptr - code <= (sljit_sw)compiler->size);
491 compiler->executable_size = (code_ptr - code) * sizeof(sljit_ins);
492 SLJIT_CACHE_FLUSH(code, code_ptr);
496 if (((sljit_sw)code_ptr) & 0x4)
497 code_ptr++;
498 sljit_set_function_context(NULL, (struct sljit_function_context*)code_ptr, (sljit_sw)code, (void*)sljit_generate_code);
499 return code_ptr;
501 sljit_set_function_context(NULL, (struct sljit_function_context*)code_ptr, (sljit_sw)code, (void*)sljit_generate_code);
502 return code_ptr;