diff options
Diffstat (limited to 'thirdparty/pcre2/src/sljit/sljitNativePPC_64.c')
| -rw-r--r-- | thirdparty/pcre2/src/sljit/sljitNativePPC_64.c | 12 | 
1 files changed, 4 insertions, 8 deletions
diff --git a/thirdparty/pcre2/src/sljit/sljitNativePPC_64.c b/thirdparty/pcre2/src/sljit/sljitNativePPC_64.c index 3b73021cc8..92147d2a5d 100644 --- a/thirdparty/pcre2/src/sljit/sljitNativePPC_64.c +++ b/thirdparty/pcre2/src/sljit/sljitNativePPC_64.c @@ -477,23 +477,19 @@ static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset)  {  	sljit_ins *inst = (sljit_ins*)addr; +	SLJIT_UNUSED_ARG(executable_offset); +	SLJIT_UPDATE_WX_FLAGS(inst, inst + 5, 0);  	inst[0] = (inst[0] & 0xffff0000) | ((new_target >> 48) & 0xffff);  	inst[1] = (inst[1] & 0xffff0000) | ((new_target >> 32) & 0xffff);  	inst[3] = (inst[3] & 0xffff0000) | ((new_target >> 16) & 0xffff);  	inst[4] = (inst[4] & 0xffff0000) | (new_target & 0xffff); +	SLJIT_UPDATE_WX_FLAGS(inst, inst + 5, 1);  	inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset);  	SLJIT_CACHE_FLUSH(inst, inst + 5);  }  SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset)  { -	sljit_ins *inst = (sljit_ins*)addr; - -	inst[0] = (inst[0] & 0xffff0000) | ((new_constant >> 48) & 0xffff); -	inst[1] = (inst[1] & 0xffff0000) | ((new_constant >> 32) & 0xffff); -	inst[3] = (inst[3] & 0xffff0000) | ((new_constant >> 16) & 0xffff); -	inst[4] = (inst[4] & 0xffff0000) | (new_constant & 0xffff); -	inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); -	SLJIT_CACHE_FLUSH(inst, inst + 5); +	sljit_set_jump_addr(addr, new_constant, executable_offset);  }  |