summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-10-01 10:46:13 +0400
committerDmitry Stogov <dmitry@zend.com>2014-10-01 10:46:13 +0400
commit9f7564b12b6e57d018bbc158e00f41499017d29e (patch)
treea7e80a2c37ca655213dd330bd72627378cc15732
parent63dc9bbc027dc22ad4ef580c964744cd7db7fc33 (diff)
downloadphp-git-9f7564b12b6e57d018bbc158e00f41499017d29e.tar.gz
Removed zend_execute_data->prev_nested_call. Reuse prev_execute_data instead.
-rw-r--r--Zend/zend_compile.h1
-rw-r--r--Zend/zend_execute.h2
-rw-r--r--Zend/zend_execute_API.c1
-rw-r--r--Zend/zend_generators.c2
-rw-r--r--Zend/zend_vm_def.h4
-rw-r--r--Zend/zend_vm_execute.h4
6 files changed, 6 insertions, 8 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index 573f1fe5ec..cf1256ab3c 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -367,7 +367,6 @@ struct _zend_execute_data {
zend_uchar frame_kind;
zend_class_entry *called_scope;
zend_object *object;
- zend_execute_data *prev_nested_call;
zend_execute_data *prev_execute_data;
zval *return_value;
zend_class_entry *scope; /* function scope (self) */
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h
index e5ab12d9c5..ce01e51d3f 100644
--- a/Zend/zend_execute.h
+++ b/Zend/zend_execute.h
@@ -219,7 +219,7 @@ static zend_always_inline zend_execute_data *zend_vm_stack_push_call_frame(zend_
call->flags = flags;
call->called_scope = called_scope;
call->object = object;
- call->prev_nested_call = prev;
+ call->prev_execute_data = prev;
return call;
}
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index f59a10179b..b528bd0ab5 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -703,7 +703,6 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
dummy_execute_data = *EG(current_execute_data);
dummy_execute_data.prev_execute_data = EG(current_execute_data);
dummy_execute_data.call = NULL;
- dummy_execute_data.prev_nested_call = NULL;
dummy_execute_data.opline = NULL;
dummy_execute_data.func = NULL;
EG(current_execute_data) = &dummy_execute_data;
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c
index b038600ead..4c64cb7590 100644
--- a/Zend/zend_generators.c
+++ b/Zend/zend_generators.c
@@ -71,7 +71,7 @@ static void zend_generator_cleanup_unfinished_execution(zend_generator *generato
if (execute_data->call->object) {
OBJ_RELEASE(execute_data->call->object);
}
- execute_data->call = execute_data->call->prev_nested_call;
+ execute_data->call = execute_data->call->prev_execute_data;
}
}
/* }}} */
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 02c93477e3..c215fc35f8 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -2534,7 +2534,7 @@ ZEND_VM_HANDLER(60, ZEND_DO_FCALL, ANY, ANY)
zend_function *fbc = call->func;
SAVE_OPLINE();
- EX(call) = call->prev_nested_call;
+ EX(call) = call->prev_execute_data;
if (UNEXPECTED((fbc->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_DEPRECATED)) != 0)) {
if (UNEXPECTED((fbc->common.fn_flags & ZEND_ACC_ABSTRACT) != 0)) {
zend_error_noreturn(E_ERROR, "Cannot call abstract method %s::%s()", fbc->common.scope->name->val, fbc->common.function_name->val);
@@ -5409,7 +5409,7 @@ ZEND_VM_HANDLER(149, ZEND_HANDLE_EXCEPTION, ANY, ANY)
}
OBJ_RELEASE(call->object);
}
- EX(call) = call->prev_nested_call;
+ EX(call) = call->prev_execute_data;
zend_vm_stack_free_call_frame(call TSRMLS_CC);
call = EX(call);
} while (call);
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 17858c2875..cb6fd8b5e2 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -495,7 +495,7 @@ static int ZEND_FASTCALL ZEND_DO_FCALL_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_function *fbc = call->func;
SAVE_OPLINE();
- EX(call) = call->prev_nested_call;
+ EX(call) = call->prev_execute_data;
if (UNEXPECTED((fbc->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_DEPRECATED)) != 0)) {
if (UNEXPECTED((fbc->common.fn_flags & ZEND_ACC_ABSTRACT) != 0)) {
zend_error_noreturn(E_ERROR, "Cannot call abstract method %s::%s()", fbc->common.scope->name->val, fbc->common.function_name->val);
@@ -1312,7 +1312,7 @@ static int ZEND_FASTCALL ZEND_HANDLE_EXCEPTION_SPEC_HANDLER(ZEND_OPCODE_HANDLER
}
OBJ_RELEASE(call->object);
}
- EX(call) = call->prev_nested_call;
+ EX(call) = call->prev_execute_data;
zend_vm_stack_free_call_frame(call TSRMLS_CC);
call = EX(call);
} while (call);