diff options
author | zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2019-07-18 06:13:14 +0000 |
---|---|---|
committer | zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2019-07-18 06:13:14 +0000 |
commit | 8418e2977b99db361c519a463f9f904ca6506849 (patch) | |
tree | 53021530be5da4974a4d065d62829dd77e734c80 | |
parent | 1117d99f6fbe1282e543d4f3539aaf582fd8da3e (diff) | |
download | pcre-8418e2977b99db361c519a463f9f904ca6506849.tar.gz |
JIT compiler update.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1755 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r-- | sljit/sljitLir.c | 1 | ||||
-rw-r--r-- | sljit/sljitNativeX86_common.c | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/sljit/sljitLir.c b/sljit/sljitLir.c index 036400f..9bab0c3 100644 --- a/sljit/sljitLir.c +++ b/sljit/sljitLir.c @@ -721,6 +721,7 @@ static SLJIT_INLINE void set_const(struct sljit_const *const_, struct sljit_comp static SLJIT_INLINE void set_put_label(struct sljit_put_label *put_label, struct sljit_compiler *compiler, sljit_uw offset) { put_label->next = NULL; + put_label->label = NULL; put_label->addr = compiler->size - offset; put_label->flags = 0; if (compiler->last_put_label) diff --git a/sljit/sljitNativeX86_common.c b/sljit/sljitNativeX86_common.c index ffafcb6..26e8475 100644 --- a/sljit/sljitNativeX86_common.c +++ b/sljit/sljitNativeX86_common.c @@ -611,15 +611,15 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil put_label = compiler->put_labels; while (put_label) { #if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) - sljit_unaligned_store_sw((void*)put_label->addr - sizeof(sljit_sw), (sljit_sw)put_label->label->addr); + sljit_unaligned_store_sw((void*)(put_label->addr - sizeof(sljit_sw)), (sljit_sw)put_label->label->addr); #else if (put_label->flags & PATCH_MD) { SLJIT_ASSERT(put_label->label->addr > HALFWORD_MAX); - sljit_unaligned_store_sw((void*)put_label->addr - sizeof(sljit_sw), (sljit_sw)put_label->label->addr); + sljit_unaligned_store_sw((void*)(put_label->addr - sizeof(sljit_sw)), (sljit_sw)put_label->label->addr); } else { SLJIT_ASSERT(put_label->label->addr <= HALFWORD_MAX); - sljit_unaligned_store_s32((void*)put_label->addr - sizeof(sljit_s32), (sljit_s32)put_label->label->addr); + sljit_unaligned_store_s32((void*)(put_label->addr - sizeof(sljit_s32)), (sljit_s32)put_label->label->addr); } #endif |