summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_execute.h
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2012-05-19 23:11:18 +0200
committerNikita Popov <nikic@php.net>2012-05-19 23:19:21 +0200
commit1cec3f12cc719ccde286a3a55f6da1a5bf9ea2e4 (patch)
tree91528939e3c443644d5d86481d62efe93691d8cc /Zend/zend_vm_execute.h
parente14cfafcbfbe58e0fc3f7b814698a908b0dffca5 (diff)
downloadphp-git-1cec3f12cc719ccde286a3a55f6da1a5bf9ea2e4.tar.gz
Add ZEND_SUSPEND_AND_RETURN_GENERATOR opcode
If the function is a generator this opcode will be invoked right after receiving the function arguments. The current implementation is just a dummy.
Diffstat (limited to 'Zend/zend_vm_execute.h')
-rw-r--r--Zend/zend_vm_execute.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 2096c44e66..c6c3af65db 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -1152,6 +1152,13 @@ static int ZEND_FASTCALL ZEND_USER_OPCODE_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS
}
}
+static int ZEND_FASTCALL ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+ /* do nothing for now */
+
+ ZEND_VM_NEXT_OPCODE();
+}
+
static int ZEND_FASTCALL ZEND_FETCH_CLASS_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -40782,6 +40789,31 @@ void zend_init_opcodes_handlers(void)
ZEND_JMP_SET_VAR_SPEC_CV_HANDLER,
ZEND_JMP_SET_VAR_SPEC_CV_HANDLER,
ZEND_JMP_SET_VAR_SPEC_CV_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
+ ZEND_SUSPEND_AND_RETURN_GENERATOR_SPEC_HANDLER,
ZEND_NULL_HANDLER
};
zend_opcode_handlers = (opcode_handler_t*)labels;