Dmitry Stogov
833e01343d
GC fix
2008-05-06 16:03:16 +00:00
Dmitry Stogov
f852ae4985
Regenerate zend_vm_execute.h
2008-05-06 09:41:39 +00:00
Dmitry Stogov
1b317f1526
- Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR)
...
- Fixed bug #44913 (Segfault when using return in combination with nested loops
and continue 2)
2008-05-05 11:03:35 +00:00
Dmitry Stogov
5a0253c14c
Support for old-style constructors in namespaces
2008-05-05 09:44:39 +00:00
Felipe Pena
a578b0cbcc
- MFH: Fixed bug #44899 (__isset usage changes behavior of empty()) (patch by Etienne Kneuss)
2008-05-03 00:38:55 +00:00
Dmitry Stogov
3adf158d79
IS_CONST operands are always have is_ref==1 and refcount==2, so we can eliminate unnecessary checks at specialization/compilation stage
2008-04-30 10:44:08 +00:00
Antony Dovgal
cacce6bc65
fix spelling
2008-04-29 13:50:27 +00:00
Dmitry Stogov
28b7529012
Fixed GC slowdown
2008-04-29 13:43:31 +00:00
Dmitry Stogov
3a86a06619
Added missing lazy initialization
2008-04-29 09:18:26 +00:00
Dmitry Stogov
2ecf4bb0a7
Lazy EG(active_symbol_table) initialization
2008-04-29 08:15:20 +00:00
Antony Dovgal
c75658c477
MFH
2008-04-29 08:08:21 +00:00
Dmitry Stogov
8fac72574d
Optimized handlers for ZEND_RECV and ZEND_RECV_INIT opocdes
2008-04-24 15:45:46 +00:00
Dmitry Stogov
e4213bedb8
Optimized function call helper
2008-04-21 10:14:20 +00:00
Felipe Pena
3d2a5940a2
- New tests
2008-04-18 14:05:47 +00:00
Felipe Pena
8f2c31a171
- New test
2008-04-17 18:16:17 +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
e8b485d077
Selected better initial VM stack size
2008-04-15 15:52:36 +00:00
Ilia Alshanetsky
5cbecbe535
Kill unused var
2008-04-13 12:25:15 +00:00
Dmitry Stogov
ae3295e1b9
Speedup GC initialization
2008-04-11 17:31:53 +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
Nuno Lopes
7507ff326e
fix heredoc+nowdoc
...
#patch by Matt Wilmas
2008-04-10 19:19:04 +00:00
Ilia Alshanetsky
4534cd6807
WS
2008-04-09 23:35:19 +00:00
Nuno Lopes
cfc1756221
fix the yyless() definition to match flex one and revert part of last patch (so that it remains similar with flex's scan)
2008-04-09 22:01:20 +00:00
Scott MacVicar
6f20cea6d8
Fixes to heredoc and cleanup of new re2c scanner. (Patch by Matt Wilmas)
2008-04-09 20:50:58 +00:00
Dmitry Stogov
dfacfae34a
Bug #44653 (Invalid namespace name resolution)
2008-04-09 08:55:45 +00:00
Scott MacVicar
878230cfbb
Fixed bug #44609 (Dollar in ini variables are not parsed correctly)
2008-04-07 11:39:14 +00:00
Marcus Boerger
8f670912a3
- MFH add new tests
2008-04-06 17:53:31 +00:00
Felipe Pena
b9d13d8f17
- Allow HEREDOC syntax with double quotes
...
(http://wiki.php.net/rfc/heredoc-with-double-quotes )
2008-04-05 22:29:08 +00:00
Nuno Lopes
b41fd6150c
remove redundant test for file size
2008-04-04 15:34:39 +00:00
Nuno Lopes
bfcdbbcd33
add sanity checks for ZEND_MMAP_AHEAD and reduce the value from 32 to 16 (lowest safe value)
2008-04-04 15:01:23 +00:00
Felipe Pena
f8f26de7d5
Fix for segfault on 64bit platform
2008-03-29 11:52:10 +00:00
Felipe Pena
f66f55edc5
MFH: Implemented "jump label" operator (limited "goto")
...
[DOC]
2008-03-28 14:35:01 +00:00
Ilia Alshanetsky
44a6326b15
Removed unused variable
2008-03-25 20:19:04 +00:00
Felipe Pena
9e2894f5ff
MFH:
...
- Renamed zend_do_fetch_class_name() to zend_do_build_full_name() (It is not used only for classes)
- Moved zend_resolve_class_name prototype to zend_compile.h
2008-03-25 18:08:37 +00:00
Dmitry Stogov
00346c2dbf
Optimized detection of "__call" and "__callstatic" methods.
2008-03-25 13:04:03 +00:00
Marcus Boerger
3a74a6bec4
- MFH Add tests
2008-03-23 13:38:41 +00:00
Marcus Boerger
0893c3e2c9
- Another re2c version bump and scanner regeneration
...
# It appears no one has used re2c in the way we do
2008-03-22 17:59:52 +00:00
Marcus Boerger
07e3598762
- Fix YYFILL()
2008-03-21 18:47:26 +00:00
Marcus Boerger
51e9bd075f
- Simplify
2008-03-21 18:20:07 +00:00
Marcus Boerger
adaf6daa3c
- Fix streams handling logic, only real FPs can be mmaped here
2008-03-21 18:15:43 +00:00
Marcus Boerger
40bdb5df57
- Bugfix 44461
2008-03-21 15:29:34 +00:00
Nuno Lopes
35eb728a7c
fix gcov build
2008-03-19 23:24:56 +00:00
Rasmus Lerdorf
ea790cef01
On Windows I guess there is no point starting the timeout thread until
...
we actually have a timeout value.
2008-03-19 15:30:49 +00:00
Rasmus Lerdorf
d2f23dbe64
Make sure we set the signal handler when reset_signals is true, regardless
...
of the actual timeout value.
2008-03-19 15:22:17 +00:00
Antony Dovgal
54482745ba
MFH
2008-03-19 12:44:13 +00:00
Antony Dovgal
7b1bc753c6
MFH: add zend_atol()
2008-03-19 12:41:23 +00:00
Dmitry Stogov
5031528ec7
Disabled $GLOBALS' refcount modification
2008-03-19 11:46:10 +00:00
Rasmus Lerdorf
6c158374ba
exit_on_timeout patch
...
After the sigsetjmp change, this is patch #2 in an effort to get some
sanity restored to signal handling in PHP.
This patch does two things. First, it makes it possible to reset the
timeout without resetting the signal handlers. This is important for
cases where an extension may have deferred signals in its MINIT in order
to implement critical sections. It also lays the groundwork for cleaning
up our signal handling and perhaps eventually implementing our own
signal deferring mechanism so we can have true critical sections.
The second thing this does is to make it possible to terminate the current
child process (only for Apache1 at the moment) on a timeout. There are
a number of extensions that are unhappy about being longjmp'ed out of
and when this happens on a timeout they are left in an inconsistent state.
By turning on exit_on_timeout you can now force the process to terminate
on a timeout which will clean up any hanging locks and/or memory left
hanging after the longjmp.
2008-03-18 21:42:50 +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
Antony Dovgal
40a7a6005b
remove ze1_compat tests
2008-03-18 14:50:14 +00:00
Felipe Pena
2b10c53ae1
MFH: Dropped zend.ze1_compatibility_mode
...
[DOC]
2008-03-18 14:10:45 +00:00
Dmitry Stogov
8b01532f64
Removed hack (we don't need to modify class name).
...
(the problem is covered by Zend/tests/ns_056.phpt)
2008-03-18 11:37:00 +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
Nuno Lopes
e89b52f5ea
remove leftovers
2008-03-17 16:21:49 +00:00
Antony Dovgal
7dd943ac5c
MFH: fix #39127 (Old-style constructor fallbacks produce strange results)
2008-03-17 14:54:42 +00:00
Scott MacVicar
e6960e3ded
Fix test
2008-03-17 10:29:17 +00:00
Marcus Boerger
00e236aa80
- Fix build
2008-03-16 21:42:42 +00:00
Marcus Boerger
0531ba8952
- Add files generated by re2c
2008-03-16 21:23:02 +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
Dmitry Stogov
7158425387
Improve GC to support garbage created in destructors during objects utilization
2008-03-14 18:36:34 +00:00
Dmitry Stogov
34003557ca
Removed commented code and unnecessary inline function
2008-03-14 13:35:40 +00:00
Dmitry Stogov
e1a28ee945
Fixed GC bug
2008-03-14 13:21:04 +00:00
Ilia Alshanetsky
5ea77bc64f
MFB: Fixed bug #43677 (Inconsistent behaviour of include_path set with
...
php_value). (Patch by: manuel at mausz dot at)
2008-03-13 16:01:31 +00:00
Dmitry Stogov
a564b2a939
Fixed test
2008-03-12 15:20:23 +00:00
Felipe Pena
ae0a15b7cf
New test
2008-03-12 13:31:38 +00:00
Felipe Pena
5fa8f63a01
New tests
2008-03-12 12:58:12 +00:00
Dmitry Stogov
2564bdc73c
Code simplification
2008-03-12 10:40:02 +00:00
Dmitry Stogov
be8daf1f47
Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single ZEND_ADD_INTERFACE opcode
2008-03-12 10:32:12 +00:00
Dmitry Stogov
0f2247ae94
Fixed bug #44414 (Incomplete reporting about abstract methods)
2008-03-12 09:46:42 +00:00
Dmitry Stogov
c33db5c74e
Fixed warning
2008-03-12 08:52:49 +00:00
Felipe Pena
fec00fd374
Add new test (bug reported in internals list by Robin)
2008-03-11 16:56:06 +00:00
Felipe Pena
7a9bfa9055
Add new test (bug reported in internals list by Robin)
2008-03-11 16:48:14 +00:00
Felipe Pena
4aebf04353
Missing a line
2008-03-11 15:26:24 +00:00
Felipe Pena
999d2e2294
New tests
2008-03-11 15:18:58 +00:00
Felipe Pena
f37f8d85d6
Fix test
2008-03-11 11:04:53 +00:00
Antony Dovgal
6204a10e79
some more tests
2008-03-11 10:40:37 +00:00
Felipe Pena
1db52c1c5f
Fix tests (new error message for void parameters)
2008-03-10 23:14:11 +00:00
Felipe Pena
9324869ef5
Fix tests (new error message for void parameters)
2008-03-10 22:17:59 +00:00
Felipe Pena
cc2b17d51d
MFH: Added new macro for check void parameters.
...
(deprecating ZEND_WRONG_PARAM_COUNT for this cases)
2008-03-10 22:02:41 +00:00
Felipe Pena
af8b8480d5
Improve the Darwin 9 hack considerably and switch to using dl*() instead of NS*() on Darwin 8+. (Patch by Gwynne)
2008-03-10 15:06:04 +00:00
Antony Dovgal
1f3b8cccc4
%v -> %s, this is 5_3
2008-03-09 20:52:29 +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
Felipe Pena
c7cb8551fe
Fix tests (removed space on error message "Undefined index: ...")
2008-03-08 12:01:53 +00:00
Felipe Pena
579e46dd76
Cosmetics (removed space on error message)
2008-03-08 11:47:13 +00:00
Felipe Pena
ddc8a63168
Fixed bug #39018 (Error control operator '@' fails to suppress "Uninitialized string offset")
2008-03-08 11:35:12 +00:00
Antony Dovgal
cbdc4b9af8
fix segfault when trying to clone uncloneable object because of zend.ze1_compatibility_mode which we should have got rid of years ago
2008-03-06 17:28:26 +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
Dmitry Stogov
430e54d457
Fixed shared memory corruption of opcode caches
2008-03-04 11:43:51 +00:00
Dmitry Stogov
8365e71cb9
Fixed wrong result of cascading assignment to string offset
...
Fixed memory corruption on cascading assignment of IS_TMP_VAR into string offset
Fixed opcode caches shared memory corruption on cascading assignment of IS_CONST
into string offset
2008-03-04 10:06:52 +00:00
Robin Fernandes
0455ccb805
Remove inconsistent behaviour when a protected static prop is overridden by public static prop (details: http://turl.ca/phhhf ).
2008-03-03 15:07:04 +00:00
Johannes Schlüter
68de75f0b5
MFH: Allow implementation of abstract methods with optional parameters (Christian
...
Schneider)
2008-03-01 13:53:32 +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
Dmitry Stogov
18cc21c662
Fixed bug #43483 (get_class_methods() does not list all visible methods)
2008-02-21 15:14:27 +00:00
Dmitry Stogov
3e7e9d4af6
Fixed bug #44141 (private parent constructor callable through static function)
2008-02-21 13:55:45 +00:00
Dmitry Stogov
bb1ee6d14a
Prevented recursive collector invocation
2008-02-21 10:42:14 +00:00
Dmitry Stogov
8c32f99c25
Fixed bug #44184 (Double free of loop-variable on exception)
2008-02-20 12:05:57 +00:00
Dmitry Stogov
edf53e2073
Added checks for destoied objects
2008-02-20 09:45:47 +00:00
Dmitry Stogov
caee59b856
everted (this part was committed by mistake)
2008-02-19 17:05:41 +00:00
Dmitry Stogov
cb714158af
Fixed memory leaks
2008-02-19 16:39:18 +00:00