]> granicus.if.org Git - php/commitdiff
Fixed unspecialized executor
authorDmitry Stogov <dmitry@php.net>
Fri, 11 Jan 2008 10:08:49 +0000 (10:08 +0000)
committerDmitry Stogov <dmitry@php.net>
Fri, 11 Jan 2008 10:08:49 +0000 (10:08 +0000)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 939a73ff58e1e65fc2b699f9b15a4d84a2aade48..4abd805877a2ecbed9becdee4bd2a4f7250202d7 100644 (file)
@@ -2609,7 +2609,9 @@ ZEND_VM_HANDLER(48, ZEND_CASE, CONST|TMP|VAR|CV, CONST|TMP|VAR|CV)
 
 ZEND_VM_HANDLER(49, ZEND_SWITCH_FREE, TMP|VAR, ANY)
 {
-       zend_switch_free(&EX_T(EX(opline)->op1.u.var), OP1_TYPE, EX(opline)->extended_value TSRMLS_CC);
+       zend_op *opline = EX(opline);
+
+       zend_switch_free(&EX_T(opline->op1.u.var), OP1_TYPE, opline->extended_value TSRMLS_CC);
        ZEND_VM_NEXT_OPCODE();
 }
 
index 5074ad4f04eca8dda758ab3c88d6ab56f6eb891b..e4c6e5c79baf32681661c5ec3d1a88148d9457ee 100644 (file)
@@ -4639,7 +4639,9 @@ static int ZEND_BOOL_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 
 static int ZEND_SWITCH_FREE_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
-       zend_switch_free(&EX_T(EX(opline)->op1.u.var), IS_TMP_VAR, EX(opline)->extended_value TSRMLS_CC);
+       zend_op *opline = EX(opline);
+
+       zend_switch_free(&EX_T(opline->op1.u.var), IS_TMP_VAR, opline->extended_value TSRMLS_CC);
        ZEND_VM_NEXT_OPCODE();
 }
 
@@ -7814,7 +7816,9 @@ static int ZEND_BOOL_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 
 static int ZEND_SWITCH_FREE_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
-       zend_switch_free(&EX_T(EX(opline)->op1.u.var), IS_VAR, EX(opline)->extended_value TSRMLS_CC);
+       zend_op *opline = EX(opline);
+
+       zend_switch_free(&EX_T(opline->op1.u.var), IS_VAR, opline->extended_value TSRMLS_CC);
        ZEND_VM_NEXT_OPCODE();
 }