Skip to content

Commit 49ebfb0

Browse files
committed
Fix JMP_FRAMELESS with ZEND_USE_ABS_JMP_ADDR
which is used on 32-bit machines.
1 parent 294c9ec commit 49ebfb0

File tree

3 files changed

+4
-0
lines changed

3 files changed

+4
-0
lines changed

ext/opcache/jit/zend_jit_trace.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,7 @@ static int zend_jit_trace_may_exit(const zend_op_array *op_array, const zend_op
300300
case ZEND_SWITCH_STRING:
301301
case ZEND_MATCH:
302302
case ZEND_BIND_INIT_STATIC_OR_JMP:
303+
case ZEND_JMP_FRAMELESS:
303304
/* branch opcodes */
304305
return 1;
305306
case ZEND_NEW:

ext/opcache/zend_file_cache.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,7 @@ static void zend_file_cache_serialize_op_array(zend_op_array *op_arra
557557
case ZEND_ASSERT_CHECK:
558558
case ZEND_JMP_NULL:
559559
case ZEND_BIND_INIT_STATIC_OR_JMP:
560+
case ZEND_JMP_FRAMELESS:
560561
SERIALIZE_PTR(opline->op2.jmp_addr);
561562
break;
562563
case ZEND_CATCH:
@@ -1408,6 +1409,7 @@ static void zend_file_cache_unserialize_op_array(zend_op_array *op_arr
14081409
case ZEND_ASSERT_CHECK:
14091410
case ZEND_JMP_NULL:
14101411
case ZEND_BIND_INIT_STATIC_OR_JMP:
1412+
case ZEND_JMP_FRAMELESS:
14111413
UNSERIALIZE_PTR(opline->op2.jmp_addr);
14121414
break;
14131415
case ZEND_CATCH:

ext/opcache/zend_persist.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,7 @@ static void zend_persist_op_array_ex(zend_op_array *op_array, zend_persistent_sc
579579
case ZEND_ASSERT_CHECK:
580580
case ZEND_JMP_NULL:
581581
case ZEND_BIND_INIT_STATIC_OR_JMP:
582+
case ZEND_JMP_FRAMELESS:
582583
opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes];
583584
break;
584585
case ZEND_CATCH:

0 commit comments

Comments
 (0)