diff options
-rw-r--r-- | Zend/zend_compile.h | 1 | ||||
-rw-r--r-- | Zend/zend_vm_def.h | 10 | ||||
-rw-r--r-- | Zend/zend_vm_execute.h | 10 |
3 files changed, 6 insertions, 15 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index fe2bfe8163..e3b8e5b310 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -286,7 +286,6 @@ struct _zend_execute_data { struct _zend_op *opline; zend_function_state function_state; zend_function *fbc; /* Function Being Called */ - zend_function *fbc_constructor; zend_op_array *op_array; zval *object; union _temp_variable *Ts; diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 03d983a1e8..227e06a7c0 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2386,7 +2386,6 @@ ZEND_VM_HANDLER(68, ZEND_NEW, ANY, ANY) constructor = Z_OBJ_HT_P(object_zval)->get_constructor(object_zval TSRMLS_CC); if (constructor == NULL) { - EX(fbc_constructor) = NULL; if (RETURN_VALUE_USED(opline)) { EX_T(opline->result.u.var).var.ptr_ptr = &EX_T(opline->result.u.var).var.ptr; EX_T(opline->result.u.var).var.ptr = object_zval; @@ -2396,8 +2395,6 @@ ZEND_VM_HANDLER(68, ZEND_NEW, ANY, ANY) ZEND_VM_SET_OPCODE(EX(op_array)->opcodes + opline->op2.u.opline_num); ZEND_VM_CONTINUE_JMP(); } else { - EX(fbc_constructor) = constructor; - SELECTIVE_PZVAL_LOCK(object_zval, &opline->result); EX_T(opline->result.u.var).var.ptr_ptr = &EX_T(opline->result.u.var).var.ptr; EX_T(opline->result.u.var).var.ptr = object_zval; @@ -2406,11 +2403,10 @@ ZEND_VM_HANDLER(68, ZEND_NEW, ANY, ANY) /* We are not handling overloaded classes right now */ EX(object) = object_zval; + EX(fbc) = constructor; - EX(fbc) = EX(fbc_constructor); - - if (EX(fbc)->type == ZEND_USER_FUNCTION) { /* HACK!! */ - EX(calling_scope) = EX(fbc)->common.scope; + if (constructor->type == ZEND_USER_FUNCTION) { /* HACK!! */ + EX(calling_scope) = constructor->common.scope; } else { EX(calling_scope) = NULL; } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 44dd975743..7c137d7aca 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -386,7 +386,6 @@ static int ZEND_NEW_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) constructor = Z_OBJ_HT_P(object_zval)->get_constructor(object_zval TSRMLS_CC); if (constructor == NULL) { - EX(fbc_constructor) = NULL; if (RETURN_VALUE_USED(opline)) { EX_T(opline->result.u.var).var.ptr_ptr = &EX_T(opline->result.u.var).var.ptr; EX_T(opline->result.u.var).var.ptr = object_zval; @@ -396,8 +395,6 @@ static int ZEND_NEW_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) ZEND_VM_SET_OPCODE(EX(op_array)->opcodes + opline->op2.u.opline_num); ZEND_VM_CONTINUE_JMP(); } else { - EX(fbc_constructor) = constructor; - SELECTIVE_PZVAL_LOCK(object_zval, &opline->result); EX_T(opline->result.u.var).var.ptr_ptr = &EX_T(opline->result.u.var).var.ptr; EX_T(opline->result.u.var).var.ptr = object_zval; @@ -406,11 +403,10 @@ static int ZEND_NEW_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) /* We are not handling overloaded classes right now */ EX(object) = object_zval; + EX(fbc) = constructor; - EX(fbc) = EX(fbc_constructor); - - if (EX(fbc)->type == ZEND_USER_FUNCTION) { /* HACK!! */ - EX(calling_scope) = EX(fbc)->common.scope; + if (constructor->type == ZEND_USER_FUNCTION) { /* HACK!! */ + EX(calling_scope) = constructor->common.scope; } else { EX(calling_scope) = NULL; } |