diff options
| author | Andi Gutmans <andi@php.net> | 2002-10-24 18:24:55 +0000 |
|---|---|---|
| committer | Andi Gutmans <andi@php.net> | 2002-10-24 18:24:55 +0000 |
| commit | 023836ae25389deee6cb025230b2b7d95fc9cd0b (patch) | |
| tree | 50ec6bc7284fd90d4a69dd011abc455b4c52f2d7 /Zend/zend_opcode.c | |
| parent | 86465058a4ea34b524f4f5b992810a131dd0dc06 (diff) | |
| download | php-git-023836ae25389deee6cb025230b2b7d95fc9cd0b.tar.gz | |
- Also tune jmpz_ex
Diffstat (limited to 'Zend/zend_opcode.c')
| -rw-r--r-- | Zend/zend_opcode.c | 15 |
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++; |
