Felipe Pena
cc23d3bade
- Fixed bug #45089 (__callStatic $name case sensitivity)
2008-06-03 18:11:12 +00:00
Dmitry Stogov
5521912b15
Use IS_CV for dirrent access to $this variable
2008-05-07 12:04:39 +00:00
Dmitry Stogov
0639a847ce
Use lazy symbol table initialization for op_arrays called from internal php functions
2008-05-06 17:00:56 +00:00
Dmitry Stogov
833e01343d
GC fix
2008-05-06 16:03:16 +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
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
Felipe Pena
f66f55edc5
MFH: Implemented "jump label" operator (limited "goto")
...
[DOC]
2008-03-28 14:35:01 +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
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
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
Antony Dovgal
1f3b8cccc4
%v -> %s, this is 5_3
2008-03-09 20:52:29 +00:00
Dmitry Stogov
430e54d457
Fixed shared memory corruption of opcode caches
2008-03-04 11:43:51 +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
Marcus Boerger
da5b979f88
- MFH Add comment that explains why we need E_ERROR in those cases
2008-02-02 15:48:04 +00:00
Marcus Boerger
95a3cccf5f
- Fix flag handling in message generation
2008-02-02 13:56:59 +00:00
Dmitry Stogov
9770b3cb00
Fixed bug #43323 (Wrong count abstract methods). (Felipe, Dmitry)
2008-01-29 11:12:57 +00:00
Dmitry Stogov
0b6825102d
Changed EG(argument_stack) implementation.
2008-01-24 09:41:39 +00:00
Dmitry Stogov
71592cec06
Added garbage collector
2008-01-22 09:27:48 +00:00
Dmitry Stogov
fa47e900e2
Changed exception handling. Now each op_array doesn't contain ZEND_HANDLE_EXCEPTION opcode in the end
2008-01-21 19:39:55 +00:00
Marcus Boerger
ba8acfdfdf
- Fix the fix
2008-01-15 11:47:05 +00:00
Marcus Boerger
22221def71
- Fix memleak (found by colder)
2008-01-14 18:13:12 +00:00
Dmitry Stogov
ed8e2fa031
Added missing warning message
2008-01-10 09:38:23 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Dmitry Stogov
43f6392e90
Fixed bug #43651 (is_callable() with one or more nonconsecutive colons crashes)
2007-12-25 10:58:30 +00:00
Dmitry Stogov
6484b3c458
Fixed bug #43344 (Wrong error message for undefined namespace constant)
2007-12-07 17:11:24 +00:00
Dmitry Stogov
648fbe9d58
Fixed bug #43128 (Very long class name causes segfault)
2007-11-22 13:27:13 +00:00
Johannes Schlüter
45f6b4ce2f
- MFH Improved version of ternary shortcut (Marcus)
2007-11-21 09:41:35 +00:00
Dmitry Stogov
c3ab6bd091
Fixed bug #43136 (possible crash on script execution timeout. The EG(function_state_ptr) is completely removed, EG(current_execute_data)->function_state must be used instead)
2007-11-20 09:51:12 +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
Dmitry Stogov
f10766f1fb
Reimplemented support for namespaces in indexes id constant arrays (removed zval.idx_type)
2007-11-02 10:11:42 +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
Dmitry Stogov
eb0c56ada1
Fixed bug #42820 (defined() on constant with namespace prefixes tries to load class).
2007-10-03 10:33:02 +00:00
Dmitry Stogov
220641af70
Fixed bug #42819 (namespaces in indexes of constant arrays)
2007-10-02 08:26:50 +00:00
Dmitry Stogov
3a3a7e7441
Fixed bug #42798 (__autoload() not triggered for classes used in method signature).
2007-10-01 09:32:48 +00:00
Dmitry Stogov
72d0454bf6
Added support for __callstatic() magic method (missing part). (Sara)
2007-09-29 09:34:24 +00:00
Dmitry Stogov
166266df68
Added support for Late Static Binding. (Dmitry, Etienne Kneuss)
2007-09-29 07:28:34 +00:00
Dmitry Stogov
f32ffe9b43
Namespaces
2007-09-28 19:52:53 +00:00
Dmitry Stogov
6c810b0d4c
Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)
2007-09-27 18:00:48 +00:00
Jani Taskinen
226c56fe76
MFH: Fixed compiler warnings
2007-07-21 00:35:15 +00:00
Dmitry Stogov
1c7fa8fb4c
Fixed bug #41633 (Crash instantiating classes with self-referencing constants)
2007-06-13 16:48:10 +00:00
Dmitry Stogov
28bc39500a
Fixed some class constant issues related to bug #41633
2007-06-13 14:50:13 +00:00
Antony Dovgal
04aefb4e18
MFH
2007-05-21 07:12:41 +00:00
Antony Dovgal
d7b30e457a
MFH: fix #41421 (Uncaught exception from a stream wrapper segfaults)
2007-05-18 11:52:08 +00:00
Antony Dovgal
de4f3007e2
MFH: initialize retval_ptr_ptr before returning FAILURE
...
this fixes invalid read in #41209
2007-04-27 08:12:24 +00:00
Dmitry Stogov
e1814f0dbe
WIN64 support
2007-04-16 08:09:56 +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
b15d1f22ef
- Catch empty class name error earlier
2007-03-03 13:45:14 +00:00
Dmitry Stogov
0291ad5fa6
Fixed bug #40236 (php -a function allocation eats memory)
2007-02-15 10:38:28 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Ilia Alshanetsky
96d9d6f0f1
Avoid strcpy() & strcat()
2006-12-28 00:17:48 +00:00
Antony Dovgal
bed14f8ab7
MFH
2006-12-21 11:08:00 +00:00
Dmitry Stogov
011e0cde62
Start timiout thread on Windows only if necessary
2006-11-10 11:49:35 +00:00
Johannes Schlüter
6841110122
- MFH: added missing return...
2006-10-18 17:04:49 +00:00
Johannes Schlüter
dcf249004c
- MFH: Fix #38465 (ReflectionParameter fails if default value is an access to self::
2006-10-18 16:35:15 +00:00
Antony Dovgal
630024d895
MFH
2006-10-11 16:11:56 +00:00
Dmitry Stogov
ecd52167d7
Fixed wrong return value
2006-09-28 07:16:31 +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
Dmitry Stogov
8bb047ee97
Fixed bug #36759 (Objects destructors are invoked in wrong order when script is finished).
2006-07-12 07:54:00 +00:00
Stefan Esser
7bbf35320d
MFH: Added hook for compile_string()
2006-06-13 12:57:48 +00:00
Zeev Suraski
51d495850a
Restore ZE1 compatibility mode (Zend Engine part - the modules patches
...
will follow later today)
2006-06-05 13:58:52 +00:00
Dmitry Stogov
26ccde4da9
Fixed bug #37558 (timeout functionality doesn't work after a second PHP starup on the same thread). (p dot desarnaud at wanadoo dot fr)
2006-05-25 07:46:25 +00:00
Marcus Boerger
637a40423c
- MFH as discussed
...
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D)
. zend_get_error_exception() -> zend_get_error_exception(TSRMLS_D)
. added E_RECOVERABLE_ERROR
. added ZEND_TOSTRING_FUNC_NAME
. added __tostring function cache to zend_class_entry
. added ZEND_NAMED_ME
. modified ZEND_ME_MAPPING to support method flags
. added ZEND_MN
. method entries now use prefix "zim_" instead of "zif_"
. drop EG(ze1_compatibility_mode)
. changed cast handler, now without (int should_free):
typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
. changed get_iterator, now receives whether value is by ref:
zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC);
. added zend_objects_store_add_ref_by_handle
. added zend_objects_store_del_ref_by_handle
. convert_to_explicit_type(pzv, type)
2006-05-09 23:53:23 +00:00
Antony Dovgal
32872b157e
there is no %v in 5_1
2006-04-20 22:49:20 +00:00
Dmitry Stogov
d82462485e
FIX: For some reason SIGSEGV handler wasn't set, but was restoring. Now all SIGSEGV related code is commented.
2006-03-17 08:47:41 +00:00
Dmitry Stogov
161ae714ae
zend_hash_apply() doesn't use ZEND_HASH_APPLY_... macros
2006-03-14 11:24:45 +00:00
Dmitry Stogov
ad10a538ee
Optimized cleanup loops on request shutdown
2006-03-13 11:13:42 +00:00
Dmitry Stogov
54adfc6fcf
Fixed incorrect backtrace type ("::" instead of "->") for __set()/__get()
2006-03-03 12:06:29 +00:00
Marcus Boerger
5a69b29082
- Warning fixes by Steph
2006-02-26 10:57:00 +00:00
Marcus Boerger
941b0651dc
- MFH: Function deprecation flag
2006-02-25 18:25:45 +00:00
Marcus Boerger
b1cebf32e4
- MFH Fix issues with static method invocation
2006-01-22 22:14:32 +00:00
Antony Dovgal
01e8d313c8
MFH: make sure ce_child is properly initialized
2006-01-18 21:06:47 +00:00
Andi Gutmans
61e93ccfe8
- Update copyright notices to 2006
2006-01-04 23:53:05 +00:00
Dmitry Stogov
9c2ea13abc
Fixed bug #35612 (iis6 Access Violation crash). (alacn dot uhahaa at gmail dot com)
2005-12-22 16:46:15 +00:00
Antony Dovgal
9255733c4f
fix leak appearing when __autoload() throws an exception
2005-12-20 11:25:34 +00:00
Marcus Boerger
0cd997d79c
- Simplify and synch is_callable_ex() with actual execution code
...
. Allow array($this, 'parent::method') for function 'pointers'
. Spit out E_STRICT in case of erroneous use of function 'pointers'
2005-12-16 22:15:41 +00:00
Dmitry Stogov
599221036f
Fixed bug #35612 (iis6 Access Violation crash)
2005-12-09 18:10:45 +00:00
Dmitry Stogov
9ee0707cfa
Fixed bug #35509 (string constant as array key has different behavior inside object)
2005-12-05 08:56:09 +00:00
Dmitry Stogov
a570981151
Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash)
2005-11-24 11:33:11 +00:00
Dmitry Stogov
8212034254
Fixed SIGSEGV
2005-10-27 19:25:52 +00:00
Dmitry Stogov
03cb8e959b
Fixed bug #34767 (Zend Engine 1 Compatibility not copying objects correctly)
2005-10-20 08:14:59 +00:00
Dmitry Stogov
9305339d94
Changed "instanceof" and "catch" operators, is_a() and is_subclass_of() functions to not call __autoload().
2005-09-09 06:48:49 +00:00
Dmitry Stogov
6319efa013
Fixed bug #34260 (Segfault with callbacks (array_map) + overloading)
2005-09-02 07:47:28 +00:00
foobar
916815b779
Bump up the year
2005-08-03 13:30:58 +00:00
Dmitry Stogov
650cdaed12
Fixed bug #33942 (the patch to #33156 crash cygwin except cli)
2005-08-02 17:01:17 +00:00
foobar
2a8cd27f4e
bug #33865
2005-07-26 18:33:15 +00:00
Marcus Boerger
e11fc8bda4
- Fix error generation logic (found by johannes)
2005-07-21 16:52:32 +00:00
Dmitry Stogov
c25b8a3699
Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF). (Nuno)
2005-07-12 06:52:59 +00:00
Dmitry Stogov
d9c1a380ad
Fixed bug #28072 (static array with some constant keys will be incorrectly ordered).
2005-07-07 15:16:57 +00:00
Dmitry Stogov
1d33a3e95e
Fixed bug #31158 (array_splice on $GLOBALS crashes)
2005-07-04 10:01:10 +00:00
Dmitry Stogov
12b66c262a
Fixed bug #30519 (Interface not existing says Class not found)
2005-06-24 08:45:17 +00:00
Dmitry Stogov
da2ab06111
Fixed bug #29896 (Backtrace argument list out of sync)
2005-06-22 15:26:05 +00:00
Dmitry Stogov
aedbdb087d
Allowed return by refrence from internal functions
2005-06-16 14:56:13 +00:00
Dmitry Stogov
59a46c34fa
Fixed double call to php_stream_close() on compiler errors
2005-06-09 16:57:43 +00:00
Dmitry Stogov
9affa32237
Fixed bug #30140 (Problem with array in static properties)
2005-06-08 13:21:28 +00:00
Dmitry Stogov
d2018ef2c0
Fixed bug #33116 (crash when assigning class name to global variable in __autoload).
2005-05-26 14:28:24 +00:00
Stanislav Malyshev
ba7123fc9b
fix #29890 - crash when function call fails
2005-05-18 18:02:50 +00:00
Marcus Boerger
138c5457ac
- Part 2 of #30126 : Enhancement for error message for abstract classes
2005-05-02 15:57:35 +00:00
Marcus Boerger
f44dc4c930
- Part 1 of #30126 : Enhancement for error message for abstract classes
2005-05-02 15:55:05 +00:00
foobar
fcba5e099c
- Fixed bug #28839 (SIGSEGV in interactive mode (php -a))
...
(kameshj at fastmail dot fm)
2005-03-26 02:43:02 +00:00
Marcus Boerger
32c2e664a6
- Fix all incarnations of bug #30266
...
# most probably we should emit a fatal error here but that has to be
# discussed first
2005-03-19 14:25:42 +00:00
Marcus Boerger
d8db1c2cc5
- Actually this is a much better error decription
2005-03-13 13:22:02 +00:00
Marcus Boerger
565e832edf
- Bugfix #32290
2005-03-13 13:15:08 +00:00
Marcus Boerger
a57b6bad69
- Be more gracious in reflection API
2005-02-13 23:04:49 +00:00
Marcus Boerger
6159f69023
- Bugfix #30682 (autoconversion from false/true to 0/1 missing in case of
...
static property default value)
2005-02-12 16:38:47 +00:00
Stanislav Malyshev
3925337a55
Fix #31720 Invalid object callbacks not caught in array_walk() (patch from Antony Dovgal)
2005-02-02 10:36:02 +00:00
Marcus Boerger
0236e31313
- Fix severity (found by johannes)
2005-01-28 20:24:20 +00:00
Stanislav Malyshev
e9003696bd
fix crash
2004-11-17 12:06:27 +00:00
Derick Rethans
e612284ea4
- Fixed bug #30630 : Added a BSD based strtod function that is
...
locale-independent.
2004-11-03 23:13:32 +00:00
Marcus Boerger
c5a9a5a284
- Change zend_object_handlers->get_method() to allow aggregation for internal classes
2004-10-30 19:11:37 +00:00
Dmitry Stogov
3f35c6a6cc
Added test cases for CV optimization patch
2004-10-05 06:53:39 +00:00
Andi Gutmans
11bcaedfc8
- Rename delete_global_variable() to zend_delete_global_variable()
2004-10-04 20:17:06 +00:00
Andi Gutmans
db507dd153
- Commit the variable fetch optimization.
...
- Extensions which delete global variables need to use new special function
- delete_global_variable() (I'm about to rename it) to remove them.
- Will post to internals@ or via commit messages if there's anything else.
2004-10-04 19:54:35 +00:00
Andi Gutmans
3e2b49ab5b
- Return the warning until we check if we can change the type of str.len
2004-09-28 19:46:57 +00:00
Marcus Boerger
16c1f0ae74
- Fix warning
...
# What's the reason _zvalue_value.str.len is int instead of uint/zend_uint?
2004-09-27 08:50:41 +00:00
Andi Gutmans
f82ed13625
- Commit new VM architecture. This one allows people (aka Derick) to
...
- ask the engine to use function handler mode. Will update the README
- about that.
2004-09-23 21:43:32 +00:00
Anantha Kesari H Y
b04db9d9e0
Reverted the NetWare Specific Stack limit related patches as asked by Andi
2004-09-23 06:23:36 +00:00
Anantha Kesari H Y
b66e7aec62
NetWare specific stack limit checks
2004-09-22 15:51:56 +00:00
Stanislav Malyshev
3755c03291
fix crash when dtor is fialing on shutdown
2004-09-17 10:13:52 +00:00
Andi Gutmans
96ab56e146
- Roll back VM commit
2004-09-09 16:47:22 +00:00
Andi Gutmans
8eb8850c90
- Some architectural changes:
...
a) We specialize opcodes according to op_type fields. Each opcode has to
be marked with which op_type's it uses.
b) We support different execution methods. Function handlers, switch()
and goto dispatching. goto seems to be the fastest but it really
depends on the compiler and how well it optimizes. I suggest playing
around with optimization flags.
- Warning: Things might break so keep us posted on how things are going.
(Dmitry, Andi)
2004-09-08 22:14:12 +00:00
Marcus Boerger
b7a8297bc1
- Boost up __autoload() calls by caching the lookup
2004-08-23 20:57:40 +00:00
Andi Gutmans
57ba9b8ccf
- Second wave of garbage removal.
2004-08-19 20:29:04 +00:00
Marcus Boerger
5f0433db83
MFB: Enforce protocol on magic methods/functions
2004-08-02 08:27:57 +00:00
Andi Gutmans
d7c839d54f
- More ptr_stack optimizations and cleanups
2004-07-30 21:00:37 +00:00
Marcus Boerger
0cd2da0309
- Execute destructors earlier (Florian Schaper, fschaper at intux org)
2004-07-25 07:14:49 +00:00
Wez Furlong
af9c0b84cd
No point allocating 0 bytes
2004-07-18 09:55:02 +00:00
Wez Furlong
d80297b251
Fix bug #28438 : win32 build fails in non-zts mode
2004-05-18 20:14:54 +00:00
Dmitry Stogov
09d1d232fc
fix of fix related to __autoload. (ext/standard/tests/network/bug20134.phpt passes again)
2004-03-28 09:37:30 +00:00
Andi Gutmans
d6d52f6f2e
/* The compiler is not-reentrant. Make sure we __autoload() only during run-time
...
* (doesn't impact fuctionality of __autoload()
*/
2004-03-25 11:30:02 +00:00
Dmitry Stogov
2bbba73606
Using ALLOC_HASHTABLE/FREE_HASHTABLE instead of emalloc/free.
2004-03-25 08:14:33 +00:00
Dmitry Stogov
55cf45abf5
New autoload protection schema was implemented (Using HashTable instead of boolean flag)
2004-03-24 14:30:59 +00:00
Marcus Boerger
cbaa43ff12
Fix SEGV in certain conditions while calling static methods
2004-03-16 21:29:22 +00:00
Marcus Boerger
6e8c176a9d
TSRM fix
2004-03-16 18:04:25 +00:00
Derick Rethans
b0dbd2abcc
- Spaces to tabs
2004-03-16 14:59:06 +00:00
Andi Gutmans
833b97d4c2
- If the called method is static then don't define $this
2004-03-16 14:49:52 +00:00
Andi Gutmans
0041aff953
- Error out if get_method() isn't defined.
...
- Use calling scope of internal function callee when calling a method
using static syntax (array("A", "func"));
2004-03-16 14:39:07 +00:00
Marcus Boerger
09e76476ef
Improve error message
2004-03-16 10:14:57 +00:00
Andi Gutmans
1aedb9615a
- Fix windows build
2004-03-14 18:00:40 +00:00
Andi Gutmans
37d713ea49
- Fix for bug #27504
2004-03-14 17:52:58 +00:00
Marcus Boerger
50ee116f08
Clearify the different method/class flags (as discussed with Andi).
2004-03-09 16:38:37 +00:00
Marcus Boerger
c3b06ea21e
Check count.
2004-03-08 16:52:59 +00:00
Andi Gutmans
7c72f6ff61
- Fix crash in exception handling (zend_exception_error(...) and
...
zend_eval_string_ex() were buggy (Dmitry, Andi)
2004-03-01 13:29:45 +00:00
Zeev Suraski
eb6fd52e21
- Rename compatiblity mode to zend.ze2_compatibility_mode (it doesn't only affect auto-clone).
...
- Perform implementation checks even with simple inheritance (off when
compatibility mode is enabled).
- Restore default arguments in interfaces and handle it correctly.
- Move registration of internal classes later in the startup sequence
in order to have INI options available.
2004-02-25 10:57:10 +00:00
Zeev Suraski
00ed3bad29
Centralize exceptions code in zend_exceptions.[ch].
...
Remove zend_default_classes.h (use zend_exceptions.h instead)
NOTE: This currently breaks the build, fixes to php-src and pecl coming
soon
2004-02-12 10:38:14 +00:00
Zeev Suraski
d9630a595b
Exceptions updates:
...
- Enforce exceptions to be derived from class Exception. This allows
users to perform catch-all. It's not yet complete, so don't get
comfortable with it just yet :) Updates are coming soon.
- Implement zend_throw_exception() using zend_throw_exception_ex()
2004-02-12 10:24:40 +00:00
Andi Gutmans
559b14611d
- Add API function to throw exception by using an object
2004-02-12 09:50:08 +00:00
Zeev Suraski
75390796be
Fix bug #25038
2004-02-11 13:01:39 +00:00
Zeev Suraski
6b6fe2f76e
Fix exceptions thrown without a stack frame
...
Always enable set_exception_handler()
2004-02-11 12:31:18 +00:00
Zeev Suraski
73a6bcf5cf
Complete the fix for handling of exceptions happening during the
...
argument passing phase of function calls (fixes bug #26866 )
2004-02-11 09:42:58 +00:00
Zeev Suraski
4b632eba46
whitespace
2004-02-11 09:42:10 +00:00
Zeev Suraski
da36a7c249
Fix bug #26869
2004-02-10 15:30:32 +00:00
Zeev Suraski
e28ab687d2
Fix exceptions happening inside internal functions called through
...
zend_user_function()
2004-02-04 23:48:39 +00:00
Zeev Suraski
14ac17fa95
Remove double initialization
2004-02-04 23:28:40 +00:00
Zeev Suraski
c5d842279c
Reinstate early-binding for classes.
...
Note that this is available for downwards compatibility only - and it doesn't
work if you use new features (namely, interfaces). Generally, people should
declare their classes before using them, but we just didn't want hell to break
loose (c)
2004-02-04 16:30:15 +00:00
Zeev Suraski
f5f7d569a0
Change destructor implementation (details will follow on internals@)
2004-02-04 09:56:20 +00:00
Zeev Suraski
c5a7b668cd
- Clean garbage (delete was nuked a long time ago)
2004-02-03 15:37:37 +00:00
Zeev Suraski
9e60cb553f
Rewrote exception support. Fixes a few limitations and bugs in the old
...
implementation, and allows exceptions to 'fire' much earlier than before.
Instructions on how to use the new mechanism will follow on internals@
shortly...
Note - this (most probably) breaks the current implementation of
set_exception_handler()
2004-02-03 12:17:09 +00:00
Zeev Suraski
c15d4ddb2b
Forward-port fix for timeouts under Windows
2004-01-28 09:07:02 +00:00
Marcus Boerger
3ca44539a1
Switch from ZEND_ACC_DYNAMIC to ZEND_ACC_ALLOW_STATIC and disallow calling
...
internal non-static methods statically.
# As discussed with Zeev:
# - For BC standard userspace methods allow this with an E_STRICT message.
# - If you want to implement an internal method taht can be called both
# statically and non-statically then use flag ZEND_ACC_ALLOW_STATIC.
# - Magic user space methods __*() cannot and __construct, __destruct,
# __clone can never be called statically.
2004-01-24 16:59:24 +00:00
Sebastian Bergmann
1e902b696d
Change message as proposed by Jon.
2004-01-24 04:59:47 +00:00
Marcus Boerger
6020ffd007
Simplify detection of methods that must be called dynamic (with object)
2004-01-23 22:04:42 +00:00
Marcus Boerger
79e7145cc7
Disallow calling __clone/__construct/__destruct static
...
Send an E_STRICT when calling a non static method static
2004-01-23 20:58:23 +00:00
Marcus Boerger
3df0288490
Improove debug capabilities
2004-01-18 23:47:10 +00:00
Zeev Suraski
a72c1ab93b
Added error mask to set_error_handler()
...
Patch by Christian Schneider <cschneid@cschneid.com>
2004-01-10 11:43:42 +00:00
foobar
ccfc46b0aa
- Happy new year and PHP 5 for rest of the files too..
...
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Marcus Boerger
03e039b19d
Fix __autoload() with derived classes
2003-12-29 12:35:44 +00:00
Marcus Boerger
c6cb00fe59
Fixed bug #26697 (calling class_exists on a nonexistent class in __autoload
...
results in segfault).
2003-12-23 10:45:10 +00:00
Dmitry Stogov
ae4a09b239
*** empty log message ***
2003-12-17 15:08:13 +00:00
Dmitry Stogov
20f73cd267
Access to globals/autoglobals from class __destructor was fixed.
...
(see "tests/lang/bug24908.phpt" and "tests/classes/destructor_and_globals.phpt")
2003-12-17 14:25:12 +00:00
Dmitry Stogov
2d9281352b
Memory corruptions were fixed in zend_str_tolower_copy()
2003-12-15 07:17:27 +00:00
Marcus Boerger
39544e1c7f
Bugfix: #26591 [NEW]: "__autoload threw an exception" during an uncaught
...
Exception
2003-12-11 18:18:52 +00:00
Marcus Boerger
310d6c567a
Do not double copy the string
2003-12-10 10:24:35 +00:00
Andi Gutmans
d344648b07
- Fix __autoload() to preserve class case.
...
- Heads up, this patch might break stuff so please let me know if you
- bump into any problems.
2003-11-24 18:13:29 +00:00
Marcus Boerger
f3d385a587
Make __autoload() faster
2003-11-07 11:47:50 +00:00
Marcus Boerger
b28db6a2d3
Revert accidental commit
2003-10-24 18:42:00 +00:00
Marcus Boerger
071eaf8576
Zend/ZEND_CHANGES
2003-10-24 18:24:28 +00:00
Stanislav Malyshev
6a71c1d33f
The freed one is a hashtable - may matter if Hashtables are allocated
...
differently
2003-10-14 14:36:23 +00:00
Stanislav Malyshev
b163778fee
ws
2003-09-11 17:06:53 +00:00
Stanislav Malyshev
406ff728f1
Use scope from method, not from object
2003-09-11 17:04:26 +00:00
Marcus Boerger
1257b407a6
WS
2003-09-01 13:04:55 +00:00
Marcus Boerger
19ec7a09fc
- Provide appropriate way to destroy internal zval's.
...
- Allow internal zval's of type string and disallow complex types.
- Define the default string for extensions at class level instead of ctor.
2003-08-24 17:32:47 +00:00
Marcus Boerger
d3473d1f58
- Provide a unified way to display uncaught exceptions, which shows
...
file/line/message info if possible.
- Add zend_eval_string_ex() to be able to handle exceptions in eval'd code.
- Use above function to fix memleaks in CLI.
2003-08-24 13:10:03 +00:00
Zeev Suraski
5b312b571e
Clarify use of original_function_state_ptr
2003-08-07 07:37:19 +00:00
Marcus Boerger
e9a4c91ca4
- Fix warnings
...
- Fix code
2003-08-07 07:17:34 +00:00
Zeev Suraski
0a83ebfd56
clarify :)
2003-08-06 07:38:56 +00:00
foobar
cc011660e7
Fix the build
2003-08-05 23:50:59 +00:00
Zeev Suraski
92b4013e8d
Try to put an end to the endless number of call_user_function variants.
...
zend_call_function() now takes a structure that should contain all of the
necessary information. If further information is necessary in the future,
then we'll be able to add it without having to introduce a new function.
As for caching - the 2nd, optional argument is a struct that can hold all
of the information that's necessary to invoke the function, including its
handler, scope and object it operates on (if any). Note that you may only
use a cache if the arguments you provide to zend_call_function() are
identical to the ones of the last call, except for the argument and return
value information.
The recently introduced fast_call_user_function() was removed
I fixed most of the places that used fast_call_user_function() to use caching
but there are still some that need to be fixed (XML and reflection)
2003-08-05 10:24:40 +00:00
Stanislav Malyshev
f572897dea
remove stack clean - it makes trouble
2003-08-05 07:56:49 +00:00
Marcus Boerger
65557ef672
Nuke unused variables
2003-08-04 19:56:12 +00:00
Ilia Alshanetsky
1007b0a826
Fixed bug #23104 (hash position of static arrays not being reset)
2003-08-04 17:10:52 +00:00
Stanislav Malyshev
2884e8a715
oops. forgot function
2003-08-04 11:03:38 +00:00
Stanislav Malyshev
7cb1730293
fix crash #24842
2003-08-04 11:02:53 +00:00
Zeev Suraski
f8bbafd604
ntroduce infrastructure for supplying information about arguments,
...
including:
- Whether or not to pass by ref (replaces the old arg_types, with arg_info)
- Argument name (for future use, maybe introspection)
- Class/Interface name (for type hints)
- If a class/interface name is available, whether to allow a null instance
Both user and builtin functions share the same data structures.
To declare a builtin function that expects its first arg to be an instance
of class 'Person', its second argument as a regular arg, and its third by
reference, use:
ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0)
ZEND_ARG_OBJ_INFO(0, someone, Person, 1)
ZEND_ARG_PASS_INFO(0)
ZEND_ARG_PASS_INFO(1)
ZEND_END_ARG_INFO();
and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family
of macros.
The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref.
The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat
the arguments for which there's no explicit information as pass by reference
or not.
The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.
2003-08-03 17:40:44 +00:00
Zeev Suraski
9d7122fb53
Generalize fetch_class
2003-08-03 08:21:08 +00:00
Stanislav Malyshev
47fef22bc5
change shutdown order so that dtors would coexist with object error handlers
2003-07-27 15:59:37 +00:00
Stanislav Malyshev
5bfd386bc3
make shutdown more granular so in case some dtor goes ape we still
...
can shut down cleanly
2003-07-27 13:47:58 +00:00
Stanislav Malyshev
5a7b07701b
Fix bug #19859 - allow fast_call_user_function to support __call
2003-07-03 09:18:41 +00:00