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

index 2608eca3dd05e5a12468eedd1df04db82a2a6e0d..feb4d29b20451ae561b578d5af5d21ab465dde7d 100644 (file)
@@ -2669,7 +2669,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 3ca7528109a2d9cc005fdaaea713fb17304f9ba6..3aff8e54016ae75a66201c11a21bfc111c6e4062 100644 (file)
@@ -4744,7 +4744,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();
 }
 
@@ -8037,7 +8039,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();
 }