Re: com php-src: Executor cleanup: fix GOTO and SWITCH VMs, remove aility to build additional PHP-5.0 compatible VM, hide executor implementation
details.: Zend/zend_compile.h Zend/zend_execute.c Zend/zend_execute.h Zend/zend_vm_def.h Zend/zend_vm_execute.h Zend/zend_vm_gen.php
ext/opcache/Optimizer/zend_optimizer_internal.h
| From: | Derick Rethans | Date: | Thu, 25 Jun 2015 23:46:08 +0000 |
| Subject: | Re: com php-src: Executor cleanup: fix GOTO and SWITCH VMs, remove aility to build additional PHP-5.0 compatible VM, hide executor implementation details.: Zend/zend_compile.h Zend/zend_execute.c Zend/zend_execute.h Zend/zend_vm_def.h Zend/zend_vm_execute.h Zend/zend_vm_gen.php ext/opcache/Optimizer/zend_optimizer_internal.h |
||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-86889@lists.php.net to get a copy of this message | ||
Hi,
this change moved:
-#define ZEND_OPCODE_HANDLER_ARGS zend_execute_data *execute_data
-#define ZEND_OPCODE_HANDLER_ARGS_PASSTHRU execute_data
-
-typedef int (*user_opcode_handler_t) (ZEND_OPCODE_HANDLER_ARGS);
-typedef int (ZEND_FASTCALL *opcode_handler_t) (ZEND_OPCODE_HANDLER_ARGS);
-
-extern ZEND_API opcode_handler_t *zend_opcode_handlers;
+typedef int (*user_opcode_handler_t) (zend_execute_data *execute_data);
to Zend/zend_vm_execute.h:
+#define ZEND_OPCODE_HANDLER_ARGS zend_execute_data *execute_data
+#define ZEND_OPCODE_HANDLER_ARGS_PASSTHRU execute_data
+
+typedef int (ZEND_FASTCALL *opcode_handler_t) (ZEND_OPCODE_HANDLER_ARGS);
WHich means that I can now no longer override opcodes in Xdebug --- and
I certainly can't include Zend/zend_vm_execute.h.
The following code now fails (xdebug_code_coverage.[hc]):
int xdebug_check_branch_entry_handler(ZEND_OPCODE_HANDLER_ARGS)
Is there a different way for declaring/defining these functions now? (I
could just expand the ZEND_OPCODE_HANDLER_ARGS macro myself, but that's
cheating...
cheers,
Derick
On Thu, 12 Mar 2015, Dmitry Stogov wrote:
> Commit: 6289f7e52f07d411bce0a0a99fe65bfbe87e4290
> Author: Dmitry Stogov <dmitry@zend.com> Thu, 12 Mar 2015 20:39:04 +0300
> Parents: 41571e7fa97feb2f43fc1ed3844daada35a29587
> Branches: master
>
> Link:
> http://git.php.net/?p=php-src.git;a=commitdiff;h=6289f7e52f07d411bce0a0a99fe65bfbe87e4290
>
> Log:
> Executor cleanup: fix GOTO and SWITCH VMs, remove aility to build additional PHP-5.0 compatible
> VM, hide executor implementation details.
>
> Changed paths:
> M Zend/zend_compile.h
> M Zend/zend_execute.c
> M Zend/zend_execute.h
> M Zend/zend_vm_def.h
> M Zend/zend_vm_execute.h
> M Zend/zend_vm_gen.php
> M ext/opcache/Optimizer/zend_optimizer_internal.h
>
>
--
http://derickrethans.nl | http://xdebug.org
Like Xdebug? Consider a donation: http://xdebug.org/donate.php
twitter: @derickr and @xdebug
Posted with an email client that doesn't mangle email: alpine