Skip to content

Commit 1255c71

Browse files
committed
refactor to use ZEND_VM_SET_OPCODE_NO_INTERRUPT
1 parent 2ffca6d commit 1255c71

File tree

3 files changed

+17
-30
lines changed

3 files changed

+17
-30
lines changed

Zend/zend_execute.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5508,9 +5508,12 @@ static zend_always_inline zend_execute_data *_zend_vm_stack_push_call_frame(uint
55085508
CHECK_SYMBOL_TABLES() \
55095509
OPLINE = new_op
55105510

5511-
#define ZEND_VM_SET_OPCODE(new_op) \
5511+
#define ZEND_VM_SET_OPCODE_NO_INTERRUPT(new_op) \
55125512
CHECK_SYMBOL_TABLES() \
5513-
OPLINE = new_op; \
5513+
OPLINE = new_op
5514+
5515+
#define ZEND_VM_SET_OPCODE(new_op) \
5516+
ZEND_VM_SET_OPCODE_NO_INTERRUPT(new_op); \
55145517
ZEND_VM_INTERRUPT_CHECK()
55155518

55165519
#define ZEND_VM_SET_RELATIVE_OPCODE(opline, offset) \

Zend/zend_vm_def.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4098,8 +4098,7 @@ ZEND_VM_HOT_HANDLER(129, ZEND_DO_ICALL, ANY, ANY, SPEC(RETVAL,OBSERVER))
40984098
HANDLE_EXCEPTION();
40994099
}
41004100

4101-
CHECK_SYMBOL_TABLES()
4102-
OPLINE = opline + 1;
4101+
ZEND_VM_SET_OPCODE_NO_INTERRUPT(opline + 1);
41034102
ZEND_VM_CONTINUE();
41044103
}
41054104

@@ -4228,8 +4227,7 @@ ZEND_VM_C_LABEL(fcall_by_name_end):
42284227
zend_rethrow_exception(execute_data);
42294228
HANDLE_EXCEPTION();
42304229
}
4231-
CHECK_SYMBOL_TABLES()
4232-
OPLINE = opline + 1;
4230+
ZEND_VM_SET_OPCODE_NO_INTERRUPT(opline + 1);
42334231
ZEND_VM_CONTINUE();
42344232
}
42354233

@@ -4348,9 +4346,7 @@ ZEND_VM_C_LABEL(fcall_end):
43484346
zend_rethrow_exception(execute_data);
43494347
HANDLE_EXCEPTION();
43504348
}
4351-
4352-
CHECK_SYMBOL_TABLES()
4353-
OPLINE = opline + 1;
4349+
ZEND_VM_SET_OPCODE_NO_INTERRUPT(opline + 1);
43544350
ZEND_VM_CONTINUE();
43554351
}
43564352

Zend/zend_vm_execute.h

Lines changed: 9 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)