]> granicus.if.org Git - php/commitdiff
Fixed support for references
authorDmitry Stogov <dmitry@zend.com>
Fri, 11 Apr 2014 07:15:31 +0000 (11:15 +0400)
committerDmitry Stogov <dmitry@zend.com>
Fri, 11 Apr 2014 07:15:31 +0000 (11:15 +0400)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 2d0d18045bffcc820ad4085fb33678d163854a34..730450f8b469df63a03d39819922f12c08e0dc62 100644 (file)
@@ -2395,7 +2395,7 @@ ZEND_VM_HANDLER(109, ZEND_FETCH_CLASS, ANY, CONST|TMP|VAR|UNUSED|CV)
                ZEND_VM_NEXT_OPCODE();
        } else {
                zend_free_op free_op2;
-               zval *class_name = GET_OP2_ZVAL_PTR(BP_VAR_R);
+               zval *class_name = GET_OP2_ZVAL_PTR_DEREF(BP_VAR_R);
 
                if (OP2_TYPE == IS_CONST) {
                        if (CACHED_PTR(opline->op2.literal->cache_slot)) {
index bcbbd9c9c9d4b14e925ddbe6b2f36d724f01c6df..8a108cd94290c11c5614edfe189f0fe67bc5c159 100644 (file)
@@ -1902,7 +1902,7 @@ static int ZEND_FASTCALL  ZEND_FETCH_CLASS_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_
                ZEND_VM_NEXT_OPCODE();
        } else {
                zend_free_op free_op2;
-               zval *class_name = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC);
+               zval *class_name = _get_zval_ptr_var_deref(opline->op2.var, execute_data, &free_op2 TSRMLS_CC);
 
                if (IS_VAR == IS_CONST) {
                        if (CACHED_PTR(opline->op2.literal->cache_slot)) {
@@ -2130,7 +2130,7 @@ static int ZEND_FASTCALL  ZEND_FETCH_CLASS_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_A
                ZEND_VM_NEXT_OPCODE();
        } else {
 
-               zval *class_name = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC);
+               zval *class_name = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC);
 
                if (IS_CV == IS_CONST) {
                        if (CACHED_PTR(opline->op2.literal->cache_slot)) {