Re: Please expose zend_vm_get_opcde_handler
| From: | Xinchen Hui | Date: | Tue, 14 Feb 2012 05:01:18 +0000 |
| Subject: | Re: Please expose zend_vm_get_opcde_handler | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-57842@lists.php.net to get a copy of this message | ||
Hi:
a patch for this proposal:
Index: zend_vm_gen.php
===================================================================
--- zend_vm_gen.php (revision 323168)
+++ zend_vm_gen.php (working copy)
@@ -797,7 +797,7 @@
if (ZEND_VM_OLD_EXECUTOR && $spec) {
out($f,"static int zend_vm_old_executor = 0;\n\n");
}
- out($f,"static opcode_handler_t
zend_vm_get_opcode_handler(zend_uchar opcode, zend_op* op);\n\n");
+ out($f,"ZEND_API opcode_handler_t
zend_vm_get_opcode_handler(zend_uchar opcode, zend_op* op);\n\n");
switch ($kind) {
case ZEND_VM_KIND_CALL:
out($f,"\n");
@@ -1243,7 +1243,7 @@
}
// Generate zend_vm_get_opcode_handler() function
- out($f, "static opcode_handler_t
zend_vm_get_opcode_handler(zend_uchar opcode, zend_op* op)\n");
+ out($f, "ZEND_API opcode_handler_t
zend_vm_get_opcode_handler(zend_uchar opcode, zend_op* op)\n");
out($f, "{\n");
if (!ZEND_VM_SPEC) {
out($f, "\treturn zend_opcode_handlers[opcode];\n");
Index: zend_vm_execute.h
===================================================================
--- zend_vm_execute.h (revision 323168)
+++ zend_vm_execute.h (working copy)
@@ -299,7 +299,7 @@
241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
};
-static opcode_handler_t zend_vm_get_opcode_handler(zend_uchar opcode,
zend_op* op);
+ZEND_API opcode_handler_t zend_vm_get_opcode_handler(zend_uchar
opcode, zend_op* op);
#undef OPLINE
@@ -40192,7 +40192,7 @@
};
zend_opcode_handlers = (opcode_handler_t*)labels;
}
-static opcode_handler_t zend_vm_get_opcode_handler(zend_uchar opcode,
zend_op* op)
+ZEND_API opcode_handler_t zend_vm_get_opcode_handler(zend_uchar
opcode, zend_op* op)
{
static const int zend_vm_decode[] = {
_UNUSED_CODE, /* 0 */
thanks
On Tue, Feb 14, 2012 at 1:13 AM, Xinchen Hui <laruence@gmail.com> wrote:
> Hi:
> As dmitry said today, there is no way to get a user opcode
> handler which can be called *after* a specific built-in handler.
>
> So please expose zend_vm_get_opcde_handler. Before 5.4 release. :)
>
> Thanks.
>
> Sent from my iPad
--
惠新宸 laruence
Senior PHP Engineer
http://www.laruence.com