-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Dmitry,

while I also believe that the extension should not be included in the
core at the moment I strongly believe that it will be compatible with
every well behaving opcode cache.

Because it modifies op_array during execution...
a) the opcode cache is not affected at all because it always provides a
copy of the cached op_array to execute()

or b) the modification will be performed on the cached opcodes in memory
 which means the opcode cache either stores (and therefore shares) the
manipulated opcodes (with other processes) or not. Either way any
process loading the opcodes that were manipulated by another process
should recognise the loaded op_array as not yet optimized. Therefore the
optimization will be repeated in the other process again => No problem
at all.

Therefore only on edge cases, where 2 processes share the same memory
addresses for the switchtables a malfunction due to an opcode cache can
happen. (I will improve that by a canary value that is different for
each process and that I will store in the extented_value of the JMPZ
opcode that is following the CASE)

Attention: switchtable is not threadsafe at the moment


Stefan Esser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkiS+BMACgkQSuF5XhWr2nhGxQCgn1EPNaZS3ndUZG4DKTQ2+njk
7lwAnjiTWCoInAbR1jTY+4B6vdEm8NLd
=+8w7
-----END PGP SIGNATURE-----

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to