summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_compile.h1
-rw-r--r--Zend/zend_vm_def.h10
-rw-r--r--Zend/zend_vm_execute.h10
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;
}