"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "sljit/sljitLir.h" between
pcre-8.43.tar.bz2 and pcre-8.44.tar.bz2

About: The PCRE library implements Perl compatible regular expression pattern matching.

sljitLir.h  (pcre-8.43.tar.bz2):sljitLir.h  (pcre-8.44.tar.bz2)
skipping to change at line 351 skipping to change at line 351
struct sljit_label { struct sljit_label {
struct sljit_label *next; struct sljit_label *next;
sljit_uw addr; sljit_uw addr;
/* The maximum size difference. */ /* The maximum size difference. */
sljit_uw size; sljit_uw size;
}; };
struct sljit_jump { struct sljit_jump {
struct sljit_jump *next; struct sljit_jump *next;
sljit_uw addr; sljit_uw addr;
sljit_sw flags; sljit_uw flags;
union { union {
sljit_uw target; sljit_uw target;
struct sljit_label* label; struct sljit_label *label;
} u; } u;
}; };
struct sljit_put_label {
struct sljit_put_label *next;
struct sljit_label *label;
sljit_uw addr;
sljit_uw flags;
};
struct sljit_const { struct sljit_const {
struct sljit_const *next; struct sljit_const *next;
sljit_uw addr; sljit_uw addr;
}; };
struct sljit_compiler { struct sljit_compiler {
sljit_s32 error; sljit_s32 error;
sljit_s32 options; sljit_s32 options;
struct sljit_label *labels; struct sljit_label *labels;
struct sljit_jump *jumps; struct sljit_jump *jumps;
struct sljit_put_label *put_labels;
struct sljit_const *consts; struct sljit_const *consts;
struct sljit_label *last_label; struct sljit_label *last_label;
struct sljit_jump *last_jump; struct sljit_jump *last_jump;
struct sljit_const *last_const; struct sljit_const *last_const;
struct sljit_put_label *last_put_label;
void *allocator_data; void *allocator_data;
struct sljit_memory_fragment *buf; struct sljit_memory_fragment *buf;
struct sljit_memory_fragment *abuf; struct sljit_memory_fragment *abuf;
/* Used scratch registers. */ /* Used scratch registers. */
sljit_s32 scratches; sljit_s32 scratches;
/* Used saved registers. */ /* Used saved registers. */
sljit_s32 saveds; sljit_s32 saveds;
/* Used float scratch registers. */ /* Used float scratch registers. */
skipping to change at line 1317 skipping to change at line 1326
array of sljit_sw values is stored on the stack from offset 0x40, and R0 array of sljit_sw values is stored on the stack from offset 0x40, and R0
contains the offset of an array item plus 0x120, this item can be contains the offset of an array item plus 0x120, this item can be
overwritten by two SLJIT instructions: overwritten by two SLJIT instructions:
sljit_get_local_base(compiler, SLJIT_R1, 0, 0x40 - 0x120); sljit_get_local_base(compiler, SLJIT_R1, 0, 0x40 - 0x120);
sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM2(SLJIT_R1, SLJIT_R0), 0, SLJIT_ IMM, 0x5); sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM2(SLJIT_R1, SLJIT_R0), 0, SLJIT_ IMM, 0x5);
Flags: - (may destroy flags) */ Flags: - (may destroy flags) */
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_compiler *c ompiler, sljit_s32 dst, sljit_sw dstw, sljit_sw offset); SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_compiler *c ompiler, sljit_s32 dst, sljit_sw dstw, sljit_sw offset);
/* The constant can be changed runtime (see: sljit_set_const) /* Store a value that can be changed runtime (see: sljit_get_const_addr / sljit_ set_const)
Flags: - (does not modify flags) */ Flags: - (does not modify flags) */
SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compi ler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value); SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compi ler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value);
/* Store the value of a label (see: sljit_set_put_label)
Flags: - (does not modify flags) */
SLJIT_API_FUNC_ATTRIBUTE struct sljit_put_label* sljit_emit_put_label(struct slj
it_compiler *compiler, sljit_s32 dst, sljit_sw dstw);
/* Set the value stored by put_label to this label. */
SLJIT_API_FUNC_ATTRIBUTE void sljit_set_put_label(struct sljit_put_label *put_la
bel, struct sljit_label *label);
/* After the code generation the address for label, jump and const instructions /* After the code generation the address for label, jump and const instructions
are computed. Since these structures are freed by sljit_free_compiler, the are computed. Since these structures are freed by sljit_free_compiler, the
addresses must be preserved by the user program elsewere. */ addresses must be preserved by the user program elsewere. */
static SLJIT_INLINE sljit_uw sljit_get_label_addr(struct sljit_label *label) { r eturn label->addr; } static SLJIT_INLINE sljit_uw sljit_get_label_addr(struct sljit_label *label) { r eturn label->addr; }
static SLJIT_INLINE sljit_uw sljit_get_jump_addr(struct sljit_jump *jump) { retu rn jump->addr; } static SLJIT_INLINE sljit_uw sljit_get_jump_addr(struct sljit_jump *jump) { retu rn jump->addr; }
static SLJIT_INLINE sljit_uw sljit_get_const_addr(struct sljit_const *const_) { return const_->addr; } static SLJIT_INLINE sljit_uw sljit_get_const_addr(struct sljit_const *const_) { return const_->addr; }
/* Only the address and executable offset are required to perform dynamic /* Only the address and executable offset are required to perform dynamic
code modifications. See sljit_get_executable_offset function. */ code modifications. See sljit_get_executable_offset function. */
SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_ta rget, sljit_sw executable_offset); SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_ta rget, sljit_sw executable_offset);
 End of changes. 7 change blocks. 
3 lines changed or deleted 21 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)