Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_compile.h zend_exceptions.c zend_execute.c zend_execute.h zend_execute_API.c zend_opcode.c zend_vm.h
zend_vm_handlers.h zend_vm_spec.h

From: Date: Thu, 09 Sep 2004 16:11:42 +0000
Subject: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_compile.h zend_exceptions.c zend_execute.c zend_execute.h zend_execute_API.c zend_opcode.c zend_vm.h
zend_vm_handlers.h zend_vm_spec.h
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-12675@lists.php.net to get a copy of this message
At 10:34 AM 9/9/2004 +0200, Derick Rethans wrote:
On Wed, 8 Sep 2004, Sterling Hughes wrote:
- Warning: Things might break so keep us posted on how things are
going.
    (Dmitry, Andi)
execute_internal changed -> breaks Xdebug: (gdb) run run-tests.php Starting program: /usr/local/bin/php run-tests.php [Thread debugging using libthread_db enabled] [New Thread 1081029024 (LWP 7866)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1081029024 (LWP 7866)] 0x408fba9c in xdebug_execute_internal (current_execute_data=0xbfffd480,
    return_value_used=1) at /dat/dev/php/xdebug/xdebug.c:1083
1083            fse = add_stack_frame(edata, edata->op_array, XDEBUG_INTERNAL TSRMLS_CC);
(gdb) print edata $1 = (zend_execute_data *) 0x0 (gdb) bt #0 0x408fba9c in xdebug_execute_internal (current_execute_data=0xbfffd480,
    return_value_used=1) at /dat/dev/php/xdebug/xdebug.c:1083
#1 0x08303bd4 in execute (op_array=0x85eda6c) at zend_vm_handlers.h:2206 #2 0x408fb378 in xdebug_execute (op_array=0x85eda6c)
    at /dat/dev/php/xdebug/xdebug.c:1041
#3 0x082dfb87 in zend_execute_scripts (type=8, retval=0x0, file_count=3)
    at /dat/dev/php/php-5.1dev/Zend/zend.c:1054
#4 0x08299241 in php_execute_script (primary_file=0xbffff920)
    at /dat/dev/php/php-5.1dev/main/main.c:1634
#5 0x0833782a in main (argc=2, argv=0xbffff9f4)
    at /dat/dev/php/php-5.1dev/sapi/cli/php_cli.c:943
How could someone like the APC optimizer now hook into this system and add a new instruction without modifying the executor? And what about discussing those things up-front? You guys go ballistic when Marcus added something to the engine but have no problem doing such a major change (which I can see is flawed), without mentioning a single word about it to internals.
Because we're maintaining the engine and I mentioned already that we're doing some performance work on it. I have no problem if you want to roll it back and discuss first. Be my guest. I didn't see it being a problem because: a) It improves performance. b) It doesn't seriously differ as far as opcode replacement from PHP 4's switch(). The tag before commiting the patch is PRE_ZEND_VM_DISPATCH_PATCH Andi

« previous php.internals (#12675) next »