Just a side question: will the information on preloaded userland classes
and functions be available via php --rc / php --rf commands?

On Thu, Oct 25, 2018 at 10:42 AM Dmitry Stogov <dmi...@zend.com> wrote:

>
> On 10/25/18 10:47 AM, Michael Wallner wrote:
> > On 20/10/2018 15:06, Dmitry Stogov wrote:
> >>
> >> On Oct 19, 2018 5:20 PM, Sara Golemon <poll...@php.net> wrote:
> >> On Fri, Oct 19, 2018 at 3:17 AM Dmitry Stogov <dmi...@zend.com> wrote:
> >>> I would like to start discussion on a Preloadng RFC
> https://wiki.php.net/rfc/preload
> >>>
> >> 4) "In conjunction with ext/FFI (dangerous extension), we may allow
> >> FFI functionality only in preloaded PHP files, but not in regular
> >> ones."  Is there any interest in something like HHVM's HNI interface?
> >> FFI always sounds nice in theory, but complex types mean that a little
> >> bit of glue code is often a plus.
> >
> > As always when it comes to PHP and FFI I'd like to point out ext-psi [1]
> > which uses a different approach than other PHP FFIs until now.
> >
> > It parses PSI files at startup, which basically are C header files
> > augmented with the PHP userland interface decls, see for example the PSI
> > file for time.h [2]
> >
> > As you can see, marshalling from and to native types has been taken
> > seriously, and while we're capable of recursively unmarshalling e.g.
> > addrinfo structs [3] and handling sqlite callbacks [4] it's still not
> > possible yet for something like curl_easy_setopt.
> >
> >
> >
> > [1] https://github.com/m6w6/ext-psi
> > [2] https://github.com/m6w6/ext-psi/blob/master/psi.d/time.psi
> > [3] https://github.com/m6w6/ext-psi/blob/master/psi.d/netdb.psi#L70
> > [3] https://github.com/m6w6/ext-psi/blob/master/tests/netdb/gai001.phpt
> > [4]
> https://github.com/m6w6/ext-psi/blob/master/tests/sqlite/sqlite.psi#L56
> > [4]
> https://github.com/m6w6/ext-psi/blob/master/tests/sqlite/sqlite001.phpt
> >
> >
> hi Michael,
>
> You made a great job developing ext-psi.
>
> But anyway, I more like my own FFI implementation (at least because it's
> simpler and it's mine).
>
> FFI::load() in conjunction with preloading, would provide functionality
> similar to PSI files loading on startup.
>
> In the future, I would like to push ext/FFI into core and integrate it
> with JIT (similar to LuaJIT way).
>
> In any case, this thread is about preloading, that is interesting by
> itself. FFI and JIT are the future scope.
>
> Thanks. Dmitry.
>
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
-- 
Best regards,
Victor Bolshov

Reply via email to