summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2002-10-24 18:24:55 +0000
committerAndi Gutmans <andi@php.net>2002-10-24 18:24:55 +0000
commit023836ae25389deee6cb025230b2b7d95fc9cd0b (patch)
tree50ec6bc7284fd90d4a69dd011abc455b4c52f2d7 /Zend/zend_opcode.c
parent86465058a4ea34b524f4f5b992810a131dd0dc06 (diff)
downloadphp-git-023836ae25389deee6cb025230b2b7d95fc9cd0b.tar.gz
- Also tune jmpz_ex
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r--Zend/zend_opcode.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index fb7b8b2787..5feb705996 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -309,11 +309,16 @@ int pass_two(zend_op_array *op_array TSRMLS_DC)
opline->op2.u.constant.is_ref = 1;
opline->op2.u.constant.refcount = 2;
}
- if (opline->opcode == ZEND_JMP) {
- opline->op1.u.jmp_addr = &op_array->opcodes[opline->op1.u.opline_num];
- }
- if (opline->opcode == ZEND_JMPZ || opline->opcode == ZEND_JMPNZ) {
- opline->op2.u.jmp_addr = &op_array->opcodes[opline->op2.u.opline_num];
+ switch (opline->opcode) {
+ case ZEND_JMP:
+ opline->op1.u.jmp_addr = &op_array->opcodes[opline->op1.u.opline_num];
+ break;
+ case ZEND_JMPZ:
+ case ZEND_JMPNZ:
+ case ZEND_JMPZ_EX:
+ case ZEND_JMPNZ_EX:
+ opline->op2.u.jmp_addr = &op_array->opcodes[opline->op2.u.opline_num];
+ break;
}
opline->handler = zend_opcode_handlers[opline->opcode];
opline++;