mirror of
https://github.com/php/php-src.git
synced 2024-12-13 20:05:26 +08:00
Fix JMP_FRAMELESS with ZEND_USE_ABS_JMP_ADDR
which is used on 32-bit machines.
This commit is contained in:
parent
294c9ec36c
commit
49ebfb04ef
@ -300,6 +300,7 @@ static int zend_jit_trace_may_exit(const zend_op_array *op_array, const zend_op
|
||||
case ZEND_SWITCH_STRING:
|
||||
case ZEND_MATCH:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
case ZEND_JMP_FRAMELESS:
|
||||
/* branch opcodes */
|
||||
return 1;
|
||||
case ZEND_NEW:
|
||||
|
@ -557,6 +557,7 @@ static void zend_file_cache_serialize_op_array(zend_op_array *op_arra
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
case ZEND_JMP_FRAMELESS:
|
||||
SERIALIZE_PTR(opline->op2.jmp_addr);
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
@ -1408,6 +1409,7 @@ static void zend_file_cache_unserialize_op_array(zend_op_array *op_arr
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
case ZEND_JMP_FRAMELESS:
|
||||
UNSERIALIZE_PTR(opline->op2.jmp_addr);
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
|
@ -579,6 +579,7 @@ static void zend_persist_op_array_ex(zend_op_array *op_array, zend_persistent_sc
|
||||
case ZEND_ASSERT_CHECK:
|
||||
case ZEND_JMP_NULL:
|
||||
case ZEND_BIND_INIT_STATIC_OR_JMP:
|
||||
case ZEND_JMP_FRAMELESS:
|
||||
opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes];
|
||||
break;
|
||||
case ZEND_CATCH:
|
||||
|
Loading…
Reference in New Issue
Block a user