Req #80350 [Asn]: zend_set_user_opcode_handler not work
Edit report at https://bugs.php.net/bug.php?id=80350&edit=1
ID: 80350
Updated by: nikic@php.net
Reported by: dreamsxin at qq dot com
Summary: zend_set_user_opcode_handler not work
Status: Assigned
Type: Feature/Change Request
Package: JIT
Operating System: Linux
PHP Version: 8.0.0RC3
Assigned To: dmitry
Block user comment: N
Private report: N
New Comment:
That makes sense. Just not JITing when a user opcode handler is involved seems reasonable.
Previous Comments:
------------------------------------------------------------------------
[2020-11-17 21:41:13] dmitry@php.net
I think we shouldn't support user opcode handlers in JIT.
I don't see a way to handle all possible return values (e.g
ZEND_USER_OPCODE_DISPATCH) and ability to jump (change EX(opline)).
In general, for each user opcode handler, we may transfer control to interpreter.
------------------------------------------------------------------------
[2020-11-17 09:43:48] nikic@php.net
@dmitry: I'm wondering whether we should respect user opcode handlers in JIT. It seems like it
should be possible, but maybe user opcode handlers break assumptions by type inference etc.
------------------------------------------------------------------------
[2020-11-12 03:48:23] dreamsxin at qq dot com
Like this extension, https://github.com/nikic/scalar_objects
When disable opcache work fine.
But enable can't work.
------------------------------------------------------------------------
[2020-11-12 03:46:49] dreamsxin at qq dot com
run php test.php
Normally, should be output : hello
Hook ZEND_INIT_METHOD_CALL, call zend_printf("hello\n");
But, it not work.
------------------------------------------------------------------------
[2020-11-12 03:40:23] danack@php.net
Hi Dreamsxin,
I find it hard to understand this bug report.
I can see you are using an extension with the name Phalcon - but my understanding is that Phalcon
itself is not compatible with PHP 8 yet: https://github.com/phalcon/cphalcon/issues/15186
It may be better to talk to the Phalcon people and explain what problem you're having with
them, or just wait for Phalcon to support PHP 8.
Otherwise, we would probably need more details of what you are attemting, why you think it should
work, and why you think it's a problem to be fixed in PHP.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=80350
--
Edit this bug report at https://bugs.php.net/bug.php?id=80350&edit=1
Thread (10 messages)