Hi Joe,

On 2/13/19 12:26 PM, Joe Watkins wrote:
> Morning all,
> 
> I'm very pleased to see effort going into this, and the resulting ideas.
> 
> I don't have anything to add about the implementation.
> 
> Since most people are not interested in ZTS, there aren't going to be 
> many voices pushing you to actually make changes, so I want to be that 
> voice.
> 
> The ZTS build is very commonly used in Windows today, and I'm sure 
> everyone doing that would appreciate you making these changes as soon as 
> reasonable, which looks like 7.4, beyond that before we can talk about 
> developing JIT support in Windows, ZTS support must be in place.

There are many things that would be great to get, but with very limited 
forces, we have to set priorities and select the most desired 
functionality, to work on it first.

Thanks. Dmitry.



> 
> Thanks for the effort so far.
> 
> Cheers
> Joe
> 
> On Wed, 13 Feb 2019 at 10:02, Nikita Popov <nikita....@gmail.com 
> <mailto:nikita....@gmail.com>> wrote:
> 
>     On Wed, Feb 13, 2019 at 9:26 AM Dmitry Stogov <dmi...@zend.com
>     <mailto:dmi...@zend.com>> wrote:
> 
>         Hi,
> 
> 
>         After JIT+ZTS related discussion with Joe and Bob, and some
>         related analyzes.
> 
>         I came to more or less formed design idea and described it at
>         https://wiki.php.net/zts-improvement
> 
>         This is not an RFC and I'm not sure, if I like to implement TSRM
>         changes myself now.
> 
> 
>         Comments are welcome.
> 
> 
>     Hi Dmitry,
> 
>     Thanks for looking into this issue. As a possible alternative I
>     would like to suggest the use of ZEND_TLS (__thread) for the
>     EG/CG/BG etc globals on Linux (on Windows this is not possible due
>     to DLL linkage restrictions). __thread generates very good code
>     (single load over %fs segment with constant address) if the global
>     is defined and used in an executable. I'm not sure what kind of code
>     it generates when TLS is declared in an executable and used in a
>     shared object, but as direct access from extensions to the engine
>     globals shouldn't be common, it's probably okay even if it uses
>     __tls_get_addr.
> 
>     Nikita
> 

Reply via email to