Re: [PHP-DEV] early class binding revisited

2007-12-30 Thread phpxcache
more pitfall: apc and XCache uses fast copy of opcodes for restoring opcode, but this will never work if early binding which have to modify opcodes is done after restore see apc_copy_op_array_for_execution() in apc_compile.c there is my_copy_data_exceptions(dst, src); which do a check if to deep co

Re: [PHP-DEV] bad test case that depends on user local ini

2007-12-30 Thread Christian Hoffmann
On 2007-12-30 04:16, phpxcache wrote: > i have the following settings in my /etc/php.ini > pcre.backtrack_limit=1 > pcre.recursion_limit=1000 > test case > ini_get_all() tests [ext/standard/tests/general_functions/ini_get_all.phpt] > FAIL. but after i remove the settings, it will PASS. > >

Re: [PHP-DEV] early class binding revisited

2007-12-30 Thread phpxcache
> Compiler shouldn't generate different code. Unqualified name is resolved > at runtime, but code should be the same whatever resolution was made. > Did you check that different code is indeed generated? zend_compile.c === if (zend_hash_find(CG(class_table), lc

Re: [PHP-DEV] bad test case that depends on user local ini

2007-12-30 Thread Jani Taskinen
These both tests should just have the INI section with proper settings. --Jani On Sun, 2007-12-30 at 11:16 +0800, phpxcache wrote: > i have the following settings in my /etc/php.ini > pcre.backtrack_limit=1 > pcre.recursion_limit=1000 > test case > ini_get_all() tests [ext/standard/tests

Re: [PHP-DEV] early class binding revisited

2007-12-30 Thread Stanislav Malyshev
5.3 namespace code will check for CG(class_table) and see if a class is internal class to generate different code. Compiler shouldn't generate different code. Unqualified name is resolved at runtime, but code should be the same whatever resolution was made. Did you check that different code i

Re: [PHP-DEV] Re: PATCH: Implementing closures in PHP

2007-12-30 Thread Xuefer
On Dec 29, 2007 12:45 AM, Ryusuke SEKIYAMA <[EMAIL PROTECTED]> wrote: > >any idea about the possibility of hash conflict? > > How about this patch? > http://www.opendogs.org/pub/php-5.3dev-071228a.patch yeah build_runtime_defined_function_key! that's what i thought of :) and i hope the function nam

[PHP-DEV] early class binding revisited

2007-12-30 Thread phpxcache
= original problem = the biggest problem caused by early class binding is that it's unfriendly to opcode cachers. parent1.php class P { function __construct() { echo "parent2"; } } include "child.php" == parent2.php class P { function __constr