https://github.com/orolyn/php-src/blob/generics/Zend/zend_vm_def.h

See opcode ZEND_TYPE_ARGUMENT.

I haven't built the type_argument_list yet, but once I have I will need to
pass it to the next op handler NEW.  Where it will be passed to the
modified second parameter of zend_fetch_class_by_name().

That function will be changed to decide if an existing class should be
retrieved, or a new class should be dynamically created from a generic
template.

For now I'm focusing on figuring out how I can pass data around and this is
my current road block.
On 29 Sep 2015 5:32 pm, "Joe Watkins" <pthre...@pthreads.org> wrote:

> Sorry, I'm not able to make sense of what you are doing ... got a patch ?
>
> Cheers
> Joe
>
> On Tue, Sep 29, 2015 at 5:29 PM, Dominic Grostate <
> codekest...@googlemail.com> wrote:
>
>> Hi,  ive already started working with the handlers.  I've set up the
>> parser to accept addition syntax before the ctor.  The type arguments are
>> passed to a new opcode handler which triggers prior to NEW but after
>> FETCH_CLASS (if dynamic, after resolve on CONST).
>>
>> This needs to override the fetching of the class during the current NEW
>> handler, but to do that I need to supply addition data.
>>
>> Do you know what I mean?  I'm sorry if I'm explaining it badly.
>> On 29 Sep 2015 4:58 pm, "Joe Watkins" <pthre...@pthreads.org> wrote:
>>
>>> lxr: zend_set_user_opcode_handler
>>>
>>> On Tue, Sep 29, 2015 at 4:57 PM, Joe Watkins <pthre...@pthreads.org>
>>> wrote:
>>>
>>>> I think you are looking for opcode handlers, what you want to do is
>>>> implement a ZEND_NEW handler ...
>>>>
>>>> For reference, xdebug and uopz overload handlers, as well as many other
>>>> extensions ...
>>>>
>>>> Cheers
>>>> Joe
>>>>
>>>> On Tue, Sep 29, 2015 at 3:47 PM, Dominic Grostate <
>>>> codekest...@googlemail.com> wrote:
>>>>
>>>>> I'm trying to pass a new structure into the ZEND_NEW handler which
>>>>> will be
>>>>> used to change the behaviour of zend_fetch_class_by_name.
>>>>>
>>>>> The issue I'm having though is the operands won't support the new type
>>>>> unless I compile it to zval, but I can't use zend_execute_data to
>>>>> reference
>>>>> that in a pre-handler since that appears to deal exclusively with
>>>>> function
>>>>> calls.
>>>>>
>>>>> op2 is taken on ZEND_NEW for the ctor skip, which is why I can't pass
>>>>> a new
>>>>> zval directly to it. Is there another means I can pass the structure
>>>>> in?
>>>>>
>>>>> Dominic
>>>>>
>>>>
>>>>
>>>
>

Reply via email to