Re: [PHP-CVS] com php-src: add code to check if we know flock definition on this system: ext/opcache/config.m4
On Mon, Mar 25, 2013 at 4:11 AM, Stanislav Malyshev s...@php.net wrote: Commit:385d0e52cc527393269a48f2fdd01aa1541b4e1f Author:Stanislav Malyshev s...@php.net Sun, 24 Mar 2013 20:11:28 -0700 Parents: 504ef64c7b7c716841f65b5e7415378b2b27526a Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=385d0e52cc527393269a48f2fdd01aa1541b4e1f Log: add code to check if we know flock definition on this system In order to configure detect it and not fail the compile. Not an ideal solution, suggestions are welcome on how to improve it. Changed paths: M ext/opcache/config.m4 Diff: diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 index cbf7d5a..70cd4e9 100644 --- a/ext/opcache/config.m4 +++ b/ext/opcache/config.m4 @@ -325,6 +325,39 @@ int main() { AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support]) msg=yes,msg=no,msg=no) AC_MSG_RESULT([$msg]) + + AC_MSG_CHECKING(for known struct flock definition) + dnl Copied from ZendAccelerator.h + AC_TRY_RUN([ +#include fcntl.h +#include stdlib.h + +#ifndef ZEND_WIN32 +extern int lock_file; + +# if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || (defined(__APPLE__) defined(__MACH__)/* Darwin */) || defined(__OpenBSD__) || defined(__NetBSD__) +# define FLOCK_STRUCTURE(name, type, whence, start, len) \ +struct flock name = {start, len, -1, type, whence} +# elif defined(__svr4__) +# define FLOCK_STRUCTURE(name, type, whence, start, len) \ +struct flock name = {type, whence, start, len} +# elif defined(__linux__) || defined(__hpux) +# define FLOCK_STRUCTURE(name, type, whence, start, len) \ +struct flock name = {type, whence, start, len, 0} +# elif defined(_AIX) +# if defined(_LARGE_FILES) || defined(__64BIT__) +# define FLOCK_STRUCTURE(name, type, whence, start, len) \ +struct flock name = {type, whence, 0, 0, 0, start, len } +# else +# define FLOCK_STRUCTURE(name, type, whence, start, len) \ +struct flock name = {type, whence, start, len} +# endif +# else +# error Don't know how to define struct flock +# endif +#endif +void main() {} +], [], [AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])], []) PHP_NEW_EXTENSION(opcache, ZendAccelerator.c \ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php after this commit I was getting Don't know how to define struct flock on this system, set --enable-opcache=no on my ubuntu test vm replacing void main() {} with int main() {return 0;} solves the problem for me. -- Ferenc Kovács @Tyr43l - http://tyrael.hu
Re: [PHP-CVS] com php-src: add code to check if we know flock definition on this system: ext/opcache/config.m4
Hi! replacing void main() {} with int main() {return 0;} solves the problem for me. Ah, well, yes, you're right - the return value... I'll fix it. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227 -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: fix return value: ext/opcache/config.m4
Commit:016fbd99914e51b686791fa5acf367cd2d9c35b8 Author:Stanislav Malyshev s...@php.net Sun, 24 Mar 2013 23:43:25 -0700 Parents: 385d0e52cc527393269a48f2fdd01aa1541b4e1f Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=016fbd99914e51b686791fa5acf367cd2d9c35b8 Log: fix return value Changed paths: M ext/opcache/config.m4 Diff: diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 index 70cd4e9..81b06e9 100644 --- a/ext/opcache/config.m4 +++ b/ext/opcache/config.m4 @@ -356,7 +356,7 @@ extern int lock_file; # error Don't know how to define struct flock # endif #endif -void main() {} +void main() { return 0; } ], [], [AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])], []) PHP_NEW_EXTENSION(opcache, -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] com php-src: fix return value: ext/opcache/config.m4
On Mon, Mar 25, 2013 at 2:43 PM, Stanislav Malyshev s...@php.net wrote: Commit:016fbd99914e51b686791fa5acf367cd2d9c35b8 Author:Stanislav Malyshev s...@php.net Sun, 24 Mar 2013 23:43:25 -0700 Parents: 385d0e52cc527393269a48f2fdd01aa1541b4e1f Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=016fbd99914e51b686791fa5acf367cd2d9c35b8 Log: fix return value Changed paths: M ext/opcache/config.m4 Diff: diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 index 70cd4e9..81b06e9 100644 --- a/ext/opcache/config.m4 +++ b/ext/opcache/config.m4 @@ -356,7 +356,7 @@ extern int lock_file; # error Don't know how to define struct flock # endif #endif -void main() {} +void main() { return 0; } int main() ? ], [], [AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])], []) PHP_NEW_EXTENSION(opcache, -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Laruence Xinchen Hui http://www.laruence.com/ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: make it int main: ext/opcache/config.m4
Commit:c20e4bbc9678906b12a39747f79d29654ac6c2c5 Author:Stanislav Malyshev s...@php.net Sun, 24 Mar 2013 23:58:30 -0700 Parents: 016fbd99914e51b686791fa5acf367cd2d9c35b8 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=c20e4bbc9678906b12a39747f79d29654ac6c2c5 Log: make it int main Changed paths: M ext/opcache/config.m4 Diff: diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 index 81b06e9..f9c38b1 100644 --- a/ext/opcache/config.m4 +++ b/ext/opcache/config.m4 @@ -356,7 +356,7 @@ extern int lock_file; # error Don't know how to define struct flock # endif #endif -void main() { return 0; } +int main() { return 0; } ], [], [AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])], []) PHP_NEW_EXTENSION(opcache, -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: 7.0.1 release: ext/opcache/ZendAccelerator.h
Commit:a3316ffe6a05d86c9b49d37c5ac9ed101c606d86 Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 11:44:09 +0400 Parents: c20e4bbc9678906b12a39747f79d29654ac6c2c5 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=a3316ffe6a05d86c9b49d37c5ac9ed101c606d86 Log: 7.0.1 release Changed paths: M ext/opcache/ZendAccelerator.h Diff: diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h index 5a2e530..cd89bcc 100644 --- a/ext/opcache/ZendAccelerator.h +++ b/ext/opcache/ZendAccelerator.h @@ -27,7 +27,7 @@ #endif #define ACCELERATOR_PRODUCT_NAME Zend OPcache -#define ACCELERATOR_VERSION 7.0.1-dev +#define ACCELERATOR_VERSION 7.0.1 /* 2 - added Profiler support, on 20010712 */ /* 3 - added support for Optimizer's encoded-only-files mode */ /* 4 - works with the new Optimizer, that supports the file format with licenses */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Separate start_time from last_restart_time: ext/opcache/ZendAccelerator.c ext/opcache/ZendAccelerator.h ext/opcache/zend_accelerator_module.c
Commit:64b029af0dc7d044586db9a554e0a47783076cc8 Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 12:33:24 +0400 Parents: 987dee9ca1be517f4be02d9c8f721d569596dc5a Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=64b029af0dc7d044586db9a554e0a47783076cc8 Log: Separate start_time from last_restart_time Changed paths: M ext/opcache/ZendAccelerator.c M ext/opcache/ZendAccelerator.h M ext/opcache/zend_accelerator_module.c Diff: diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index e634c13..9d1fdce 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -2362,7 +2362,8 @@ static void zend_accel_init_shm(TSRMLS_D) ZCSG(manual_restarts) = 0; ZCSG(accelerator_enabled) = 1; - ZCSG(last_restart_time) = zend_accel_get_time(); + ZCSG(start_time) = zend_accel_get_time(); + ZCSG(last_restart_time) = 0; ZCSG(restart_in_progress) = 0; zend_shared_alloc_unlock(TSRMLS_C); diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h index cd89bcc..c611d65 100644 --- a/ext/opcache/ZendAccelerator.h +++ b/ext/opcache/ZendAccelerator.h @@ -275,6 +275,7 @@ typedef struct _zend_accel_shared_globals { zend_accel_hash include_paths;/* used include_path values*/ /* Directives Maintenance */ + time_t start_time; time_t last_restart_time; time_t force_restart_time; zend_bool accelerator_enabled; diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c index 778fee5..0d452ad 100644 --- a/ext/opcache/zend_accelerator_module.c +++ b/ext/opcache/zend_accelerator_module.c @@ -503,6 +503,7 @@ static ZEND_FUNCTION(opcache_get_status) add_assoc_long(statistics, num_cached_keys, ZCSG(hash).num_entries); add_assoc_long(statistics, max_cached_keys, ZCSG(hash).max_num_entries); add_assoc_long(statistics, hits, ZCSG(hits)); + add_assoc_long(statistics, start_time, ZCSG(start_time)); add_assoc_long(statistics, last_restart_time, ZCSG(last_restart_time)); add_assoc_long(statistics, oom_restarts, ZCSG(oom_restarts)); add_assoc_long(statistics, wasted_restarts, ZCSG(wasted_restarts)); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Fixed PHP-5.2 ZTS compatibility: ext/opcache/Optimizer/block_pass.c ext/opcache/Optimizer/pass1_5.c ext/opcache/ZendAccelerator.c ext/opcache/zend_accelerator_util_funcs.c
Commit:987dee9ca1be517f4be02d9c8f721d569596dc5a Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 12:21:58 +0400 Parents: a3316ffe6a05d86c9b49d37c5ac9ed101c606d86 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=987dee9ca1be517f4be02d9c8f721d569596dc5a Log: Fixed PHP-5.2 ZTS compatibility Changed paths: M ext/opcache/Optimizer/block_pass.c M ext/opcache/Optimizer/pass1_5.c M ext/opcache/ZendAccelerator.c M ext/opcache/zend_accelerator_util_funcs.c Diff: diff --git a/ext/opcache/Optimizer/block_pass.c b/ext/opcache/Optimizer/block_pass.c index d4299c8..7fd986c 100644 --- a/ext/opcache/Optimizer/block_pass.c +++ b/ext/opcache/Optimizer/block_pass.c @@ -972,7 +972,11 @@ static void zend_optimize_block(zend_code_block *block, zend_op_array *op_array, zval result; if (unary_op) { +#if ZEND_EXTENSION_API_NO PHP_5_3_X_API_NO + unary_op(result, ZEND_OP1_LITERAL(opline)); +#else unary_op(result, ZEND_OP1_LITERAL(opline) TSRMLS_CC); +#endif literal_dtor(ZEND_OP1_LITERAL(opline)); } else { /* BOOL */ diff --git a/ext/opcache/Optimizer/pass1_5.c b/ext/opcache/Optimizer/pass1_5.c index 8938e14..dc9e731 100644 --- a/ext/opcache/Optimizer/pass1_5.c +++ b/ext/opcache/Optimizer/pass1_5.c @@ -203,7 +203,11 @@ if (ZEND_OPTIMIZER_PASS_1 OPTIMIZATION_LEVEL) { er = EG(error_reporting); EG(error_reporting) = 0; +#if ZEND_EXTENSION_API_NO PHP_5_3_X_API_NO + if (unary_op(result, ZEND_OP1_LITERAL(opline)) != SUCCESS) { +#else if (unary_op(result, ZEND_OP1_LITERAL(opline) TSRMLS_CC) != SUCCESS) { +#endif EG(error_reporting) = er; break; } diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 64c5aa8..e634c13 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -1204,10 +1204,18 @@ static zend_persistent_script *compile_and_cache_file(zend_file_handle *file_han } else { *op_array_p = NULL; if (type == ZEND_REQUIRE) { +#if ZEND_EXTENSION_API_NO PHP_5_3_X_API_NO + zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle-filename); +#else zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle-filename TSRMLS_CC); +#endif zend_bailout(); } else { +#if ZEND_EXTENSION_API_NO PHP_5_3_X_API_NO + zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle-filename); +#else zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle-filename TSRMLS_CC); +#endif } return NULL; } @@ -1422,10 +1430,18 @@ static zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int zend_stream_open(file_handle-filename, file_handle TSRMLS_CC) == FAILURE) { #endif if (type == ZEND_REQUIRE) { +#if ZEND_EXTENSION_API_NO PHP_5_3_X_API_NO + zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle-filename); +#else zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle-filename TSRMLS_CC); +#endif zend_bailout(); } else { +#if ZEND_EXTENSION_API_NO PHP_5_3_X_API_NO + zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle-filename); +#else zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle-filename TSRMLS_CC); +#endif } return NULL; } @@ -1542,7 +1558,11 @@ static zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int zend_hash_quick_add(EG(included_files), persistent_script-full_path, persistent_script-full_path_len + 1, persistent_script-hash_value, dummy, sizeof(void *), NULL); } } +#if ZEND_EXTENSION_API_NO PHP_5_3_X_API_NO + zend_file_handle_dtor(file_handle); +#else zend_file_handle_dtor(file_handle TSRMLS_CC); +#endif from_shared_memory = 1; } diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c index 7d5028c..75b1561 100644 ---
[PHP-CVS] com php-src: Fixed bug #64482 (Opcodes for dynamic includes should not be cached): ext/opcache/ZendAccelerator.c ext/opcache/tests/bug64482.inc ext/opcache/tests/bug64482.phpt
Commit:0a00d292569a8fbd2d5c96c9d141b23ae916f00b Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 13:05:16 +0400 Parents: 64b029af0dc7d044586db9a554e0a47783076cc8 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=0a00d292569a8fbd2d5c96c9d141b23ae916f00b Log: Fixed bug #64482 (Opcodes for dynamic includes should not be cached) Bugs: https://bugs.php.net/64482 Changed paths: M ext/opcache/ZendAccelerator.c A ext/opcache/tests/bug64482.inc A ext/opcache/tests/bug64482.phpt Diff: diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 9d1fdce..bfe9d67 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -134,6 +134,12 @@ static inline int is_stream_path(const char *filename) return ((*p == ':') (p - filename 1) (p[1] == '/') (p[2] == '/')); } +static inline int is_cachable_stream_path(const char *filename) +{ + return memcmp(filename, file://, sizeof(file://) - 1) == 0 || + memcmp(filename, phar://, sizeof(file://) - 1) == 0; +} + /* O+ overrides PHP chdir() function and remembers the current working directory * in ZCG(cwd) and ZCG(cwd_len). Later accel_getcwd() can use stored value and * avoid getcwd() call. @@ -1373,7 +1379,9 @@ static zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int !ZCG(enabled) || !accel_startup_ok || (!ZCG(counted) !ZCSG(accelerator_enabled)) || CG(interactive) || - (ZCSG(restart_in_progress) accel_restart_is_active(TSRMLS_C))) { + (ZCSG(restart_in_progress) accel_restart_is_active(TSRMLS_C)) || + (is_stream_path(file_handle-filename) +!is_cachable_stream_path(file_handle-filename))) { /* The Accelerator is disabled, act as if without the Accelerator */ return accelerator_orig_compile_file(file_handle, type TSRMLS_CC); } diff --git a/ext/opcache/tests/bug64482.inc b/ext/opcache/tests/bug64482.inc new file mode 100644 index 000..e3d2b21 --- /dev/null +++ b/ext/opcache/tests/bug64482.inc @@ -0,0 +1,2 @@ +?php +echo Dynamic include; diff --git a/ext/opcache/tests/bug64482.phpt b/ext/opcache/tests/bug64482.phpt new file mode 100644 index 000..fa722f6 --- /dev/null +++ b/ext/opcache/tests/bug64482.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #64482 (Opcodes for dynamic includes should not be cached) +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +--SKIPIF-- +?php require_once('skipif.inc'); ? +--FILE-- +?php +include 'bug64482.inc'; +echo \n; +include 'php://filter/read=string.toupper/resource=bug64482.inc'; +echo \n; +? +--EXPECT-- +Dynamic include +DYNAMIC INCLUDE -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Fixed copy/paste mistake: ext/opcache/ZendAccelerator.c
Commit:f17156c2d1af7e126b92c21d31eef4f18b66821d Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 13:30:45 +0400 Parents: 0a00d292569a8fbd2d5c96c9d141b23ae916f00b Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=f17156c2d1af7e126b92c21d31eef4f18b66821d Log: Fixed copy/paste mistake Changed paths: M ext/opcache/ZendAccelerator.c Diff: diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index bfe9d67..694bbed 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -137,7 +137,7 @@ static inline int is_stream_path(const char *filename) static inline int is_cachable_stream_path(const char *filename) { return memcmp(filename, file://, sizeof(file://) - 1) == 0 || - memcmp(filename, phar://, sizeof(file://) - 1) == 0; + memcmp(filename, phar://, sizeof(phar://) - 1) == 0; } /* O+ overrides PHP chdir() function and remembers the current working directory -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: add new functions and constants for GD: UPGRADING
Commit:1c662dc303b1d007af0b3df0a58fbf3f01759f72 Author:Pierre Joye pierre@gmail.com Mon, 25 Mar 2013 12:15:46 +0100 Parents: 439424988148aa9bb4ecabcb6b0f6ac89614f9b1 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=1c662dc303b1d007af0b3df0a58fbf3f01759f72 Log: add new functions and constants for GD Changed paths: M UPGRADING Diff: diff --git a/UPGRADING b/UPGRADING index 350d147..c85ea54 100755 --- a/UPGRADING +++ b/UPGRADING @@ -153,6 +153,11 @@ PHP 5.5 UPGRADE NOTES - imageflip - imagecrop - imagecropauto + - imagesetinterpolation + - imageaffine + - imageaffinematrixget + - imageaffinematrixconcat + - imagescale - Hash: - hash_pbkdf2() @@ -303,6 +308,35 @@ PHP 5.5 UPGRADE NOTES . IMG_CROP_WHITE . IMG_CROP_SIDES . IMG_CROP_THRESHOLD + - Added constants for imagesetinterpolation, used bz imagescale +imagerotate and imageaffine: +. IMG_BELL +. IMG_BESSEL +. IMG_BILINEAR_FIXED +. IMG_BICUBIC +. IMG_BICUBIC_FIXED +. IMG_BLACKMAN +. IMG_BOX +. IMG_BSPLINE +. IMG_CATMULLROM +. IMG_GAUSSIAN +. IMG_GENERALIZED_CUBIC +. IMG_HERMITE +. IMG_HAMMING +. IMG_HANNING +. IMG_MITCHELL +. IMG_POWER +. IMG_QUADRATIC +. IMG_SINC +. IMG_NEAREST_NEIGHBOUR +. IMG_WEIGHTED4 +. IMG_TRIANGLE + +IMG_AFFINE_TRANSLATE +IMG_AFFINE_SCALE +IMG_AFFINE_ROTATE +IMG_AFFINE_SHEAR_HORIZONTAL +IMG_AFFINE_SHEAR_VERTICAL 10. Changes to INI File Handling -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: conflict: Zend/zend_ini_scanner.c Zend/zend_ini_scanner_defs.h Zend/zend_language_scanner.c Zend/zend_language_scanner_defs.h
Commit:7da6272fe7d0a99fb2713c4fab3d0367c96d3490 Author:Pierre Joye pierre@gmail.com Mon, 25 Mar 2013 12:20:01 +0100 Parents: 52b4a251b72f7859c2c5584cfa63449c3bb31489 1c662dc303b1d007af0b3df0a58fbf3f01759f72 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=7da6272fe7d0a99fb2713c4fab3d0367c96d3490 Log: conflict Changed paths: MM Zend/zend_ini_scanner.c MM Zend/zend_ini_scanner_defs.h MM Zend/zend_language_scanner.c MM Zend/zend_language_scanner_defs.h Diff: Diff exceeded maximum size -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Merge branch 'PHP-5.3' into PHP-5.4: NEWS Zend/zend_vm_def.h Zend/zend_vm_execute.h
Commit:e9f996c00d5cb6448dac1457dd9dae320c16904f Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 15:23:49 +0400 Parents: 6f560b0487b48d8364a2077b97e661fd5107054e c4686b4de93a89e8265331b0d4a6a7954ccbae95 Branches: PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e9f996c00d5cb6448dac1457dd9dae320c16904f Log: Merge branch 'PHP-5.3' into PHP-5.4 * PHP-5.3: Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle exceptions properly). (Jeff Welch) Conflicts: NEWS Zend/zend_vm_def.h Zend/zend_vm_execute.h Bugs: https://bugs.php.net/63914 Changed paths: MM NEWS MM Zend/zend_vm_def.h MM Zend/zend_vm_execute.h diff --cc NEWS index bc132d4,9d5fc6d..c14ea1c --- a/NEWS +++ b/NEWS @@@ -1,16 -1,12 +1,18 @@@ PHP NEWS ||| -?? ??? 2013, PHP 5.3.24 - +?? ??? 2013, PHP 5.4.14 - Core + . Fixed bug #64432 (more empty delimiter warning in strX methods). (Laruence) + . Fixed bug #64417 (ArrayAccess::offsetGet() in a trait causes fatal error). +(Dmitry) . Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT']). (Anatol) + . Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11). +(Dmitry, Laruence) + . Fixed bug #63976 (Parent class incorrectly using child constant in class +property). (Dmitry) + . Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle + exceptions properly). (Jeff Welch) . Fixed bug #62343 (Show class_alias In get_declared_classes()) (Dmitry) - PCRE: diff --cc Zend/zend_vm_def.h index e5cdd1d,eed9245..ffa94a1 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@@ -2652,17 -2299,9 +2652,12 @@@ ZEND_VM_HELPER(zend_do_fcall_common_hel zend_arg_types_stack_3_pop(EG(arg_types_stack), EX(called_scope), EX(current_object), EX(fbc)); EX(function_state).arguments = zend_vm_stack_push_args(opline-extended_value TSRMLS_CC); + LOAD_OPLINE(); + + if (fbc-type == ZEND_INTERNAL_FUNCTION) { + temp_variable *ret = EX_T(opline-result.var); - MAKE_STD_ZVAL(ret-var.ptr); - ZVAL_NULL(ret-var.ptr); - ret-var.ptr_ptr = ret-var.ptr; - ret-var.fcall_returned_reference = (fbc-common.fn_flags ZEND_ACC_RETURN_REFERENCE) != 0; - - if (EX(function_state).function-type == ZEND_INTERNAL_FUNCTION) { - if (EX(function_state).function-common.arg_info) { + if (fbc-common.arg_info) { zend_uint i=0; zval **p = (zval**)EX(function_state).arguments; ulong arg_count = opline-extended_value; @@@ -2673,34 -2312,37 +2668,41 @@@ } } - if (!zend_execute_internal) { - /* saves one function call if zend_execute_internal is not used */ - fbc-internal_function.handler(opline-extended_value, ret-var.ptr, (fbc-common.fn_flags ZEND_ACC_RETURN_REFERENCE) ? ret-var.ptr : NULL, EX(object), RETURN_VALUE_USED(opline) TSRMLS_CC); - } else { - zend_execute_internal(EXECUTE_DATA, RETURN_VALUE_USED(opline) TSRMLS_CC); - } + if (EXPECTED(EG(exception) == NULL)) { - ALLOC_INIT_ZVAL(EX_T(opline-result.u.var).var.ptr); - EX_T(opline-result.u.var).var.ptr_ptr = EX_T(opline-result.u.var).var.ptr; - EX_T(opline-result.u.var).var.fcall_returned_reference = EX(function_state).function-common.return_reference; ++ MAKE_STD_ZVAL(ret-var.ptr); ++ ZVAL_NULL(ret-var.ptr); ++ ret-var.ptr_ptr = ret-var.ptr; ++ ret-var.fcall_returned_reference = (fbc-common.fn_flags ZEND_ACC_RETURN_REFERENCE) != 0; - if (!RETURN_VALUE_USED(opline)) { - zval_ptr_dtor(ret-var.ptr); + if (!zend_execute_internal) { + /* saves one function call if zend_execute_internal is not used */ - ((zend_internal_function *) EX(function_state).function)-handler(opline-extended_value, EX_T(opline-result.u.var).var.ptr, EX(function_state).function-common.return_reference?EX_T(opline-result.u.var).var.ptr:NULL, EX(object), RETURN_VALUE_USED(opline) TSRMLS_CC); ++ fbc-internal_function.handler(opline-extended_value, ret-var.ptr, (fbc-common.fn_flags ZEND_ACC_RETURN_REFERENCE) ? ret-var.ptr : NULL, EX(object), RETURN_VALUE_USED(opline) TSRMLS_CC); + } else { + zend_execute_internal(EXECUTE_DATA, RETURN_VALUE_USED(opline) TSRMLS_CC); +
[PHP-CVS] com php-src: Merge branch 'PHP-5.4' into PHP-5.5: Zend/zend_vm_def.h Zend/zend_vm_execute.h
Commit:96e5f5eb05af913f8a9b9297393f153c561bf51b Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 15:47:45 +0400 Parents: 6a7088fd187f071df47fa09c6e215c916bfd699c e9f996c00d5cb6448dac1457dd9dae320c16904f Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=96e5f5eb05af913f8a9b9297393f153c561bf51b Log: Merge branch 'PHP-5.4' into PHP-5.5 * PHP-5.4: Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle exceptions properly). (Jeff Welch) Conflicts: NEWS Zend/zend_vm_def.h Zend/zend_vm_execute.h Bugs: https://bugs.php.net/63914 Changed paths: MM Zend/zend_vm_def.h MM Zend/zend_vm_execute.h diff --cc Zend/zend_vm_def.h index 206a233,ffa94a1..31a5fac --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@@ -1829,266 -1819,6 +1829,268 @@@ ZEND_VM_HANDLER(39, ZEND_ASSIGN_REF, VA ZEND_VM_NEXT_OPCODE(); } +ZEND_VM_HELPER(zend_leave_helper, ANY, ANY) +{ + zend_bool nested = EX(nested); + zend_op_array *op_array = EX(op_array); + + EG(current_execute_data) = EX(prev_execute_data); + EG(opline_ptr) = NULL; + if (!EG(active_symbol_table)) { + i_free_compiled_variables(execute_data); + } + + zend_vm_stack_free((char*)execute_data - (ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * op_array-T) TSRMLS_CC); + + if ((op_array-fn_flags ZEND_ACC_CLOSURE) op_array-prototype) { + zval_ptr_dtor((zval**)op_array-prototype); + } + + if (nested) { + execute_data = EG(current_execute_data); + } + if (nested) { + USE_OPLINE + + LOAD_REGS(); + LOAD_OPLINE(); + if (UNEXPECTED(opline-opcode == ZEND_INCLUDE_OR_EVAL)) { + + EX(function_state).function = (zend_function *) EX(op_array); + EX(function_state).arguments = NULL; + + EG(opline_ptr) = EX(opline); + EG(active_op_array) = EX(op_array); + EG(return_value_ptr_ptr) = EX(original_return_value); + destroy_op_array(op_array TSRMLS_CC); + efree(op_array); + if (UNEXPECTED(EG(exception) != NULL)) { + zend_throw_exception_internal(NULL TSRMLS_CC); + HANDLE_EXCEPTION_LEAVE(); + } + + ZEND_VM_INC_OPCODE(); + ZEND_VM_LEAVE(); + } else { + EG(opline_ptr) = EX(opline); + EG(active_op_array) = EX(op_array); + EG(return_value_ptr_ptr) = EX(original_return_value); + if (EG(active_symbol_table)) { + zend_clean_and_cache_symbol_table(EG(active_symbol_table) TSRMLS_CC); + } + EG(active_symbol_table) = EX(symbol_table); + + EX(function_state).function = (zend_function *) EX(op_array); + EX(function_state).arguments = NULL; + + if (EG(This)) { + if (UNEXPECTED(EG(exception) != NULL) EX(call)-is_ctor_call) { + if (EX(call)-is_ctor_result_used) { + Z_DELREF_P(EG(This)); + } + if (Z_REFCOUNT_P(EG(This)) == 1) { + zend_object_store_ctor_failed(EG(This) TSRMLS_CC); + } + } + zval_ptr_dtor(EG(This)); + } + EG(This) = EX(current_this); + EG(scope) = EX(current_scope); + EG(called_scope) = EX(current_called_scope); + + EX(call)--; + + zend_vm_stack_clear_multiple(1 TSRMLS_CC); + + if (UNEXPECTED(EG(exception) != NULL)) { + zend_throw_exception_internal(NULL TSRMLS_CC); + if (RETURN_VALUE_USED(opline) EX_T(opline-result.var).var.ptr) { + zval_ptr_dtor(EX_T(opline-result.var).var.ptr); + } + HANDLE_EXCEPTION_LEAVE(); + } + + ZEND_VM_INC_OPCODE(); + ZEND_VM_LEAVE(); + } + } + ZEND_VM_RETURN(); +} + +ZEND_VM_HELPER(zend_do_fcall_common_helper, ANY, ANY) +{ + USE_OPLINE + zend_bool should_change_scope = 0; + zend_function *fbc = EX(function_state).function; + + SAVE_OPLINE(); + EX(object) = EX(call)-object; +
[PHP-CVS] com php-src: back to dev (7.0.2-dev): ext/opcache/ZendAccelerator.h
Commit:6a7088fd187f071df47fa09c6e215c916bfd699c Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 13:57:50 +0400 Parents: f17156c2d1af7e126b92c21d31eef4f18b66821d Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=6a7088fd187f071df47fa09c6e215c916bfd699c Log: back to dev (7.0.2-dev) Changed paths: M ext/opcache/ZendAccelerator.h Diff: diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h index c611d65..f9b51b0 100644 --- a/ext/opcache/ZendAccelerator.h +++ b/ext/opcache/ZendAccelerator.h @@ -27,7 +27,7 @@ #endif #define ACCELERATOR_PRODUCT_NAME Zend OPcache -#define ACCELERATOR_VERSION 7.0.1 +#define ACCELERATOR_VERSION 7.0.2-dev /* 2 - added Profiler support, on 20010712 */ /* 3 - added support for Optimizer's encoded-only-files mode */ /* 4 - works with the new Optimizer, that supports the file format with licenses */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Merge branch 'PHP-5.5': Zend/zend_vm_def.h Zend/zend_vm_execute.h
Commit:a4c386f32ce8b8141ad4e8c70f53ea1aba1a1ffc Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 15:48:13 +0400 Parents: d74a192bd4b59da4525878f538de59d22a5a9ca7 96e5f5eb05af913f8a9b9297393f153c561bf51b Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=a4c386f32ce8b8141ad4e8c70f53ea1aba1a1ffc Log: Merge branch 'PHP-5.5' * PHP-5.5: Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle exceptions properly). (Jeff Welch) Bugs: https://bugs.php.net/63914 Changed paths: MM Zend/zend_vm_def.h MM Zend/zend_vm_execute.h Diff: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration): NEWS Zend/tests/bug64515.phpt Zend/zend_vm_def.h Zend/zend_vm_execute.h
Commit:5e9377ebd57f419de7b421878df540795ace01ef Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 11:44:57 +0800 Parents: e9f996c00d5cb6448dac1457dd9dae320c16904f Branches: PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=5e9377ebd57f419de7b421878df540795ace01ef Log: Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration) Bugs: https://bugs.php.net/64515 Changed paths: M NEWS A Zend/tests/bug64515.phpt M Zend/zend_vm_def.h M Zend/zend_vm_execute.h Diff: diff --git a/NEWS b/NEWS index c14ea1c..010b8f1 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,8 @@ PHP NEWS ||| ?? ??? 2013, PHP 5.4.14 - Core + . Fixed bug #64515 (Memoryleak when using the same variablename 2times in +function declaration). (Laruence) . Fixed bug #64432 (more empty delimiter warning in strX methods). (Laruence) . Fixed bug #64417 (ArrayAccess::offsetGet() in a trait causes fatal error). (Dmitry) diff --git a/Zend/tests/bug64515.phpt b/Zend/tests/bug64515.phpt new file mode 100644 index 000..d056c74 --- /dev/null +++ b/Zend/tests/bug64515.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #64515 (Memoryleak when using the same variablename 2times in function declaration) +--FILE-- +?php +function foo($unused = null, $unused = null, $arg = array()) { + return 1; +} +foo(); +? +--EXPECT-- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index ffa94a1..3934752 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -3234,7 +3234,7 @@ ZEND_VM_HANDLER(64, ZEND_RECV_INIT, ANY, CONST) zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, assignment_value, opline-extended_value TSRMLS_CC); var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(EX_CVs(), opline-result.var TSRMLS_CC); - Z_DELREF_PP(var_ptr); + zval_ptr_dtor(var_ptr); *var_ptr = assignment_value; CHECK_EXCEPTION(); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 1860a0f..81d3688 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1374,7 +1374,7 @@ static int ZEND_FASTCALL ZEND_RECV_INIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, assignment_value, opline-extended_value TSRMLS_CC); var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(EX_CVs(), opline-result.var TSRMLS_CC); - Z_DELREF_PP(var_ptr); + zval_ptr_dtor(var_ptr); *var_ptr = assignment_value; CHECK_EXCEPTION(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] com php-src: Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration): NEWS Zend/tests/bug64515.phpt Zend/zend_vm_def.h Zend/zend_vm_execute.h
On Mon, Mar 25, 2013 at 8:44 PM, Xinchen Hui larue...@php.net wrote: Commit:5e9377ebd57f419de7b421878df540795ace01ef Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 11:44:57 +0800 Parents: e9f996c00d5cb6448dac1457dd9dae320c16904f Branches: PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=5e9377ebd57f419de7b421878df540795ace01ef Log: Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration) Bugs: https://bugs.php.net/64515 Changed paths: M NEWS A Zend/tests/bug64515.phpt M Zend/zend_vm_def.h M Zend/zend_vm_execute.h Diff: diff --git a/NEWS b/NEWS index c14ea1c..010b8f1 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,8 @@ PHP NEWS ||| ?? ??? 2013, PHP 5.4.14 - Core + . Fixed bug #64515 (Memoryleak when using the same variablename 2times in +function declaration). (Laruence) . Fixed bug #64432 (more empty delimiter warning in strX methods). (Laruence) . Fixed bug #64417 (ArrayAccess::offsetGet() in a trait causes fatal error). (Dmitry) diff --git a/Zend/tests/bug64515.phpt b/Zend/tests/bug64515.phpt new file mode 100644 index 000..d056c74 --- /dev/null +++ b/Zend/tests/bug64515.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #64515 (Memoryleak when using the same variablename 2times in function declaration) +--FILE-- +?php +function foo($unused = null, $unused = null, $arg = array()) { + return 1; +} +foo(); +? +--EXPECT-- Please include a ==DONE== section or something, otherwise this test won't fail even if it segfaults. -Hannes -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Update test script: Zend/tests/bug64515.phpt
Commit:1182a3356c6c1989a686aab5258e1d47c56b2955 Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 11:50:47 +0800 Parents: 5e9377ebd57f419de7b421878df540795ace01ef Branches: PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=1182a3356c6c1989a686aab5258e1d47c56b2955 Log: Update test script Changed paths: M Zend/tests/bug64515.phpt Diff: diff --git a/Zend/tests/bug64515.phpt b/Zend/tests/bug64515.phpt index d056c74..5390a6c 100644 --- a/Zend/tests/bug64515.phpt +++ b/Zend/tests/bug64515.phpt @@ -6,5 +6,7 @@ function foo($unused = null, $unused = null, $arg = array()) { return 1; } foo(); +echo okey; ? --EXPECT-- +okey -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration): NEWS Zend/tests/bug64515.phpt Zend/zend_vm_def.h Zend/zend_vm_execute.h
Commit:ed315823019c8111847fb9a24293dc758ead7c3a Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 12:02:48 +0800 Parents: 0496ad31acf067910c9d17117290d168617f845a Branches: PHP-5.5 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ed315823019c8111847fb9a24293dc758ead7c3a Log: Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration) Bugs: https://bugs.php.net/64515 Changed paths: M NEWS A Zend/tests/bug64515.phpt M Zend/zend_vm_def.h M Zend/zend_vm_execute.h Diff: diff --git a/NEWS b/NEWS index 09ce1d1..e33c7a3 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ PHP NEWS ?? ??? 20??, PHP 5.5.0 Beta 2 - Core: + . Fixed bug #64515 (Memoryleak when using the same variablename 2times in +function declaration). (Laruence) . Fixed bug #64503 (Compilation fails with error: conflicting types for 'zendparse'). (Laruence) . Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11). diff --git a/Zend/tests/bug64515.phpt b/Zend/tests/bug64515.phpt new file mode 100644 index 000..5390a6c --- /dev/null +++ b/Zend/tests/bug64515.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #64515 (Memoryleak when using the same variablename 2times in function declaration) +--FILE-- +?php +function foo($unused = null, $unused = null, $arg = array()) { + return 1; +} +foo(); +echo okey; +? +--EXPECT-- +okey diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 31a5fac..7371d0e 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -3262,7 +3262,7 @@ ZEND_VM_HANDLER(64, ZEND_RECV_INIT, ANY, CONST) zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, assignment_value, opline-extended_value TSRMLS_CC); var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(execute_data, opline-result.var TSRMLS_CC); - Z_DELREF_PP(var_ptr); + zval_ptr_dtor(var_ptr); *var_ptr = assignment_value; CHECK_EXCEPTION(); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 7fe6ee1..8703dec 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1406,7 +1406,7 @@ static int ZEND_FASTCALL ZEND_RECV_INIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, assignment_value, opline-extended_value TSRMLS_CC); var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(execute_data, opline-result.var TSRMLS_CC); - Z_DELREF_PP(var_ptr); + zval_ptr_dtor(var_ptr); *var_ptr = assignment_value; CHECK_EXCEPTION(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Merge branch 'PHP-5.5': Zend/zend_vm_def.h Zend/zend_vm_execute.h
Commit:c2afd2765bb26f25f265c3c76a1e9918b2f341e2 Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 12:03:37 +0800 Parents: c356038c6eb1d970e716067aaf259c21131f963e ed315823019c8111847fb9a24293dc758ead7c3a Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=c2afd2765bb26f25f265c3c76a1e9918b2f341e2 Log: Merge branch 'PHP-5.5' Changed paths: MM Zend/zend_vm_def.h MM Zend/zend_vm_execute.h Diff: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php