Commit Graph

486 Commits

Author SHA1 Message Date
Anatol Belski
cf6ab0e915 applied and fixed the original patch
initial work on the patch import done
2013-10-17 10:40:43 +02:00
Nikita Popov
1d1fb69c8b Merge branch 'PHP-5.4' into PHP-5.5 2013-09-29 18:01:18 +02:00
Nikita Popov
f0c926564c Fix bug #65322: compile time errors won't trigger auto loading
Also fixes duplicate bugs #54054 and #42098.

Furthermore this fixes incorrect error messages thrown from code
running inside an error handler when a compilation is in progress.
The error file and line are now correctly associated with the
file/line of the executor, rather than the compiler.
2013-09-29 17:58:25 +02:00
Stanislav Malyshev
bcf785fb66 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #65470	Segmentation fault in zend_error() with --enable-dtrace
2013-08-18 17:23:59 -07:00
Stanislav Malyshev
14f5732096 Fix bug #65470 Segmentation fault in zend_error() with --enable-dtrace 2013-08-18 17:22:25 -07:00
Xinchen Hui
f3d18add08 Merge branch 'PHP-5.4' into PHP-5.5 2013-08-14 11:44:37 +08:00
Xinchen Hui
f4dc2240a0 Fixed #65431 (Discarded qualifiers from pointer target warnings when using --enable-dtrace) by Sixd 2013-08-14 11:42:39 +08:00
Xinchen Hui
62059c16ee Fixed bug #63980 (object members get trimmed by zero bytes) 2013-01-14 16:23:22 +08:00
Stanislav Malyshev
80a9a80a52 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Bug #43177: If an eval() has a parse error, the overall exit status and return code should not be affected.
  fix NEWS

Conflicts:
	main/main.c
2013-01-01 21:20:35 -08:00
Stanislav Malyshev
36e19c9cab Bug #43177: If an eval() has a parse error, the overall exit status and return code should not be affected.
Without this fix, a webpage using eval() may return code 500.  That might display
fine and the 500 go unnoticed, but using AJAX or wget, the 500 will cause problems.
2013-01-01 21:18:59 -08:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Dmitry Stogov
70f83f35d0 . The VM stacks for passing function arguments and syntaticaly nested calls were merged into a single stack. The stack size needed for op_array execution is calculated at compile time and preallocated at once. As result all the stack push operatins don't require checks for stack overflow any more.
. Generators implementation was improved using the new VM stack. Now it's a bit more clear and faster.
2012-11-30 13:39:23 +04:00
Dmitry Stogov
6ba376f552 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #61767 (Shutdown functions not called in certain error situation) - Fixed bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function)

Conflicts:
	NEWS
	Zend/zend_object_handlers.c
2012-09-06 12:14:29 +04:00
Dmitry Stogov
b29dc146b9 - Fixed bug #61767 (Shutdown functions not called in certain error situation)
- Fixed bug #60909 (custom error handler throwing Exception + fatal error = no shutdown function)
2012-09-06 11:26:40 +04:00
Xinchen Hui
7b307fb930 Fixed bug #62328 (implementing __toString and a cast to string fails)
__toString should has a high priority
2012-08-12 11:50:28 +08:00
Xinchen Hui
b4b3a65f55 Fixed bug #62661 (Interactive php-cli crashes if include() is used in auto_prepend_file) 2012-07-26 12:40:47 +08:00
Xinchen Hui
72f19e9a8b Fixed bug #61922 (ZTS build doesn't accept zend.script_encoding config) 2012-05-03 22:39:53 +08:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Stanislav Malyshev
d81ea16ef1 Changed silent conversion of array to string to produce a notice. (Patrick) 2011-10-21 06:08:47 +00:00
Dmitry Stogov
750e4e1011 Fixed bug #55578 (Segfault on implode/concat) 2011-09-14 13:18:19 +00:00
Dmitry Stogov
4a25a7740d Fixed ZE specific compile warnings (Bug #55629) 2011-09-13 13:29:35 +00:00
Pierrick Charron
08a499f142 Use snprintf and strncat to make the static analyzers happy 2011-08-08 03:08:59 +00:00
Pierrick Charron
ed7b3e703e Use snprintf and strncat to make the static analyzers happy 2011-08-08 03:08:59 +00:00
Rasmus Lerdorf
99cb211c6c Use snprintf here instead to make the static analyzers happy. 2011-08-07 00:25:22 +00:00
Dmitry Stogov
0ea2ef125b Fixed bug #55339 (Segfault with allow_call_time_pass_reference = Off) 2011-08-02 07:38:23 +00:00
Dmitry Stogov
a550566ce9 Fixed bug #55339 (Segfault with allow_call_time_pass_reference = Off) 2011-08-02 07:38:23 +00:00
Ilia Alshanetsky
34d93f0c06 Zend Signal Handling 2011-06-22 14:23:21 +00:00
Felipe Pena
f75714650b - Fixed bug #55007 (compiler fail after previous fail) 2011-06-07 22:58:38 +00:00
Felipe Pena
08b3d76cbf - Fixed bug #55007 (compiler fail after previous fail) 2011-06-07 22:58:38 +00:00
Felipe Pena
927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Antony Dovgal
ae0e5a0c8c initialize script_encoding_list (reported by Gustavo Lopes) 2010-12-27 20:25:34 +00:00
Moriyoshi Koizumi
bbf3d43c1e * Refactor zend_multibyte facility.
Now mbstring.script_encoding is superseded by zend.script_encoding.
2010-12-19 16:36:37 +00:00
Dmitry Stogov
ab93d8c621 Added multibyte suppport by default. Previosly php had to be compiled with --enable-zend-multibyte. Now it can be enabled or disabled throug zend.multibyte directive in php.ini 2010-11-24 05:41:23 +00:00
Felipe Pena
ee4f5ac1c0 - Fixed EG(saved_fpu_cw) initialization 2010-09-22 00:11:34 +00:00
Felipe Pena
25710a406d - Added EG(saved_fpu_cw_ptr) initialization 2010-07-10 13:56:33 +00:00
Dmitry Stogov
f0c8366a9e - use interned strings for auto globals
- $GLOBALS became a JIT autoglobal, so it's initialized only if used (this may affect opcode caches)
2010-07-08 14:05:11 +00:00
Dmitry Stogov
1a1178a685 eliminated unnecessary iterations during request startup/shutdown 2010-07-06 11:40:17 +00:00
Dmitry Stogov
f23e857676 Fixed ZTS build 2010-05-24 17:07:52 +00:00
Felipe Pena
0a6bcd44a7 - Removed allow_call_time_pass_reference (Pierrick) 2010-04-26 00:13:34 +00:00
David Soria Parra
ebd12eba95 Remove unused variable 2010-04-25 18:34:36 +00:00
David Soria Parra
08b9fdc8a3 Add DTrace probes 2010-04-24 13:32:30 +00:00
Dmitry Stogov
dd5c478be6 Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed. 2010-04-20 11:05:54 +00:00
Dmitry Stogov
94dd83722b Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table 2010-04-20 10:57:45 +00:00
Sebastian Bergmann
d2281d1dff sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php 2010-01-05 20:46:53 +00:00
David Soria Parra
e8359d3f90 - Fixed bug #49142 (crash when exception thrown from __tostring()) 2009-10-27 13:02:36 +00:00
Rasmus Lerdorf
f90425316a Tweak to make this compile with gcc2 2009-06-16 16:10:15 +00:00
Jani Taskinen
1033af1cb3 MFH: Fixed module loading order and made request shutdown functions also to
be loaded in reverse like all other shutdowns are.
2009-05-13 18:48:20 +00:00
Dmitry Stogov
da9405de72 Fixed bug #47714 (autoloading classes inside exception_handler leads to crashes) 2009-03-26 10:56:45 +00:00
Dmitry Stogov
31c0af245e Fixed floating point mathematic speed degradation (Christian) 2009-03-18 10:18:10 +00:00
Dmitry Stogov
d3d02fbc83 Fixed zend_print_zval_r_ex() to use the write callback function 2009-02-18 10:55:08 +00:00
Marcus Boerger
2aba368462 - MFH Catch exceptions in cli -a 2009-01-02 13:14:49 +00:00
Marcus Boerger
2faea53de2 - Sync with HEAD, no ability to not start builtin functions 2008-12-31 14:05:22 +00:00
Marcus Boerger
63d00f7006 - MFH Move stdClass registering where it should be 2008-12-31 12:26:33 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Marcus Boerger
826cc0dc3d - MFH Provide a core module that contains all Zend and php/main (in 5.3 incl. stdClass) 2008-12-30 20:15:28 +00:00
Felipe Pena
85ab423565 - MFH: Removed some TSRMLS_FETCH()s 2008-08-15 19:47:33 +00:00
Marcus Boerger
32f9d0e180 - MFH Improve exception linking 2008-08-14 10:24:52 +00:00
Felipe Pena
cf7384aa40 - MFH: Constness (Added const qualifier to several function parameters) 2008-08-12 17:20:25 +00:00
Hannes Magnusson
d619b57efa MFH: Add E_USER_DEPRECATED (patch by Lars Strojny) 2008-07-21 09:41:00 +00:00
Rui Hirokawa
c3286f32ef implemented again zend-multibyte for PHP 5.3 2008-06-29 08:21:35 +00:00
Dmitry Stogov
2ecf4bb0a7 Lazy EG(active_symbol_table) initialization 2008-04-29 08:15:20 +00:00
Dmitry Stogov
fcaa1c6d86 Fixed bug #44226 (Throwing an exception causes crash in multithreaded SAPI) 2008-04-17 10:21:38 +00:00
Dmitry Stogov
d9dd1b9e14 Optimized ZEND_RETURN opcode to not allocate and copy return value if it is not
used.
2008-04-11 09:43:28 +00:00
Rasmus Lerdorf
10afe5d96b Make the sigsetjmp change more robust. On systems that don't have
sigsetjmp use setjmp.  Windows is of course weird in that it seems to
have sigsetjmp but not sigjmp_buf (??) so force it to use setjmp in
config.w32.h.in
2008-03-18 21:14:28 +00:00
Rasmus Lerdorf
c9e0781d2a Use sigsetjmp and siglongjmp instead of setjmp/longjmp in order to be
consistent in how we deal with the signal mask.  POSIX doesn't specify
what to do with the signal mask in setjmp/longjmp which has resulted in
the signal mask getting saved on *BSD and not getting saved on Linux.
Making the behaviour explicit via sigsetjmp/siglongjmp gives us
consistency and saves expensive sigprocmask() syscalls on *BSD.
2008-03-18 18:34:11 +00:00
Felipe Pena
2b10c53ae1 MFH: Dropped zend.ze1_compatibility_mode
[DOC]
2008-03-18 14:10:45 +00:00
Dmitry Stogov
8c885b8913 Implemented concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanila php.
The following pseudo-code explains how it should be used in opcode cache.

function cache_compile_file($filename) {
        if (!is_cached($filename)) {
                ...
                orig_compiler_options = CG(compiler_optins);
                CG(compiler_options) |= ZEND_COMPILE_IGNORE_INTERNAL_CLASSES |
                                        ZEND_COMPILE_DELAYED_BINDING;
                $op_array = orig_compile_file($filename);
                CG(compiler_options) = orig_copiler_options;
                ...
        } else {
                $op_array = restore_from_cache($filename);
        }
        zend_do_delayed_early_binding($op_array);
}
2008-03-18 08:36:30 +00:00
Marcus Boerger
af316021e8 - Rewrite scanner to be based on re2c instead of flex
The full patch is available as:
  http://php.net/~helly/php-re2c-5.3-20080316.diff.txt
  This is against php-re2c repository version 98
  An older patch against version 97 is available under:
  http://php.net/~helly/php-re2c-97-20080316.diff.txt
2008-03-16 21:06:55 +00:00
Felipe Pena
fd0d44f0a7 User error handlers no longer catch supressed errors (patch by Etienne Kneuss) 2008-03-08 21:54:03 +00:00
Dmitry Stogov
ab232458c7 Optimized require_once() and include_once() by eliminationg open() syscall on second usage. 2008-03-05 13:34:12 +00:00
Marcus Boerger
d3e5026564 - MFH Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus)
[DOC] Finally added deprecation messages
2008-02-23 17:06:22 +00:00
Derick Rethans
13d75ce6e6 - MFH: Send the debug info to stderr instead of stdout. 2008-01-28 20:34:02 +00:00
Derick Rethans
3bd291e118 - MFH: Show GC statistics if GC benchmarking is enabled.
#- Discussed this with Dmitry.
2008-01-24 10:42:12 +00:00
Dmitry Stogov
71592cec06 Added garbage collector 2008-01-22 09:27:48 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Jani Taskinen
b489251177 - MFH from HEAD:
. Folding tags
  . Parameter parsing
  . SPL debug info
  . array function improvements (not all yet)
  . Improvements to function calling with call_user_* functions
  . Improvements to debugging info in var_dump/print_r
# I propably forgot already something but this all was pretty close tied
# to each other so it wasn't possible to do it in parts.
2007-11-02 19:40:39 +00:00
Marcus Boerger
8ce1211a62 - MFH debug object helper 2007-10-11 01:03:19 +00:00
Yiduo (David) Wang
4b4d634cb9 MFH: Added macros for managing zval refcounts and is_ref statuses 2007-10-07 05:22:07 +00:00
Jani Taskinen
226c56fe76 MFH: Fixed compiler warnings 2007-07-21 00:35:15 +00:00
Antony Dovgal
3c6d2617e7 MFH: fix build on Tru64 2007-04-26 19:08:58 +00:00
Antony Dovgal
79ed194a64 fix #40815 (using strings like "class::func" and static methods in set_exception_handler() might result in crash) 2007-03-15 16:44:12 +00:00
Marcus Boerger
50ea26760d - Avoid sprintf, even when checked copy'n'paste or changes lead to errors 2007-02-24 02:17:47 +00:00
Dmitry Stogov
2f586e965e Fixed bug #39969 (ini setting short_open_tag has no effect when using --enable-maintainer-zts) 2007-01-12 14:37:46 +00:00
Dmitry Stogov
2e1a2438b5 Fixed bug #35634 (Erroneous "Class declarations may not be nested" error raised). (Carl P. Corliss) 2007-01-11 16:47:32 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Antony Dovgal
7b281be1ee that was not intentional
thanks Nuno
2006-12-28 22:12:08 +00:00
Antony Dovgal
28421f4f19 MFH 2006-12-28 21:02:14 +00:00
Ilia Alshanetsky
ff9d0fcc78 is_numeric_string() optimization
# Original Patch by Matt Wilmas
2006-12-26 16:44:20 +00:00
Antony Dovgal
4d44a5b71d MFH: use BSD licensed implementation of double-to-string utilities instead of LGPL one
this patch also fixes thread safety issues in zend_strtod()
2006-12-06 09:52:51 +00:00
Dmitry Stogov
a84a2eae6a Fixed bug #39344 (Unnecessary calls to OnModify callback routine for an extension INI directive). (wharmby at uk dot ibm dot com, Dmitry) 2006-11-08 11:04:27 +00:00
Marcus Boerger
978dd0fdd9 - MFH: Fix issue with some mangeled properties 2006-11-03 19:01:40 +00:00
Dmitry Stogov
31acd1c26e Fixed bug #39140 (Uncaught exception may cause crash) 2006-10-16 11:13:08 +00:00
Sara Golemon
eed736d010 MFH(r-1.376): Preserve EG(return_value_ptr_ptr) when calling zend_execute_scripts()
Reapplying this since it looks like we'll be doing a PHP 5.2 RC6 after all
2006-10-06 16:50:21 +00:00
Sara Golemon
fd9b7f672b Revert until 5.2's release since we're in RC stage 2006-10-06 00:02:56 +00:00
Sara Golemon
67fac322af MFH(r-1.376): Preserve EG(return_value_ptr_ptr) when calling zend_execute_scripts() 2006-10-05 23:32:52 +00:00
Antony Dovgal
d6ee9d4810 MFH: fix #38779 (engine crashes when require()'ing file with syntax error through userspace stream wrapper) 2006-09-11 14:30:08 +00:00
Ilia Alshanetsky
8405e1741f Use proper write callback 2006-08-19 16:20:08 +00:00