Dmitry Stogov
76a9a42ee2
- Removed direct executor recursion.
...
- Use fastcall calling convention in executor on x86.
2008-06-11 13:18:41 +00:00
Dmitry Stogov
af1ed80274
Fixed bug #44952 (isset() does not checks correctly variable variable)
2008-05-12 09:09:05 +00:00
Dmitry Stogov
5521912b15
Use IS_CV for dirrent access to $this variable
2008-05-07 12:04: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
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
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
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
00e236aa80
- Fix build
2008-03-16 21:42:42 +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
0f2247ae94
Fixed bug #44414 (Incomplete reporting about abstract methods)
2008-03-12 09:46:42 +00:00
Stanislav Malyshev
fd597dce1b
[DOC] Add compile-time __DIR__ constant which implements dirname(__FILE__)
2008-02-12 00:21:15 +00:00
Dmitry Stogov
0b6825102d
Changed EG(argument_stack) implementation.
2008-01-24 09:41:39 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Dmitry Stogov
64e8f22355
Allowed import of global classes "use ::GlobalClassName;"
2007-12-13 10:02:03 +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
9f230a0d79
Added support for "namespace::" prefix that is resolved to current namespace name.
2007-11-20 08:53:02 +00:00
Dmitry Stogov
b7d87bebc9
T_IMPORT -> T_USE
2007-11-07 09:13:50 +00:00
Dmitry Stogov
1530fe99c8
Fixed variations of bug #35163
2007-10-23 12:52:40 +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
b20ed0d2e0
Added support for __callstatic() magic method. (Sara)
2007-09-29 08:52:40 +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
Dmitry Stogov
80d2409fd8
Improved compilation of heredocs and interpolated strings. (Matt, Dmitry)
2007-05-18 13:12:05 +00:00
Ilia Alshanetsky
17c0c49a54
Addres limitation of __HALT_COMPILER() that allowed only one instance
...
per request.
# Patch by Greg Beaver
2007-04-04 00:42:42 +00:00
Dmitry Stogov
0291ad5fa6
Fixed bug #40236 (php -a function allocation eats memory)
2007-02-15 10:38:28 +00:00
Dmitry Stogov
e470e22e20
- Fixed bug #35106 (nested foreach fails when array variable has a reference).
...
- Fixed bug #36214 (__get method works properly only when conditional operator is used).
- Fixed bug #39449 (Overloaded array properties do not work correctly).
- Fixed bug #39990 (Cannot "foreach" over overloaded properties).
2007-01-10 15:58:08 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Dmitry Stogov
c3272ab020
Fixed bug #38808 ("maybe ref" issue for current() and others)
2006-09-26 10:30:51 +00:00
Dmitry Stogov
cd6537ed6d
Fixed bugs #34065 and #38623 (throw in foreach/switch causes memory leaks)
2006-09-19 21:36:54 +00:00
Marcus Boerger
519ed8e13b
- Better fix for #34505 and related, drop zend_unmangle_property_name_ex()
2006-07-24 17:58:32 +00:00
Stefan Esser
7bbf35320d
MFH: Added hook for compile_string()
2006-06-13 12:57:48 +00:00
Marcus Boerger
493f39da2d
- MFH: Fix bug #37212 (Access to protected property of common base class)
...
By adding "zend_class_entry *ce" to struct zend_property_info;
2006-05-27 18:39:53 +00:00
Marcus Boerger
7a5240e846
- MFH missing bits and pieces of the partial sync with head
...
# This time i added:
# ZEND_FE_RESET_VARIABLE
# ZEND_FE_RESET_REFERENCE
# and dapted parser,compiler,executor,interfaces to handle these flags
# their purpose is to be able to pass whetehr foreach is done by ref to
# the current() handler so that it can error out in case it is not capable
# to comply to the requested return signature/protocol/semantics (weyp).
2006-05-11 21:07:39 +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
Dmitry Stogov
ad10a538ee
Optimized cleanup loops on request shutdown
2006-03-13 11:13:42 +00:00
Marcus Boerger
941b0651dc
- MFH: Function deprecation flag
2006-02-25 18:25:45 +00:00
Andi Gutmans
61e93ccfe8
- Update copyright notices to 2006
2006-01-04 23:53:05 +00:00
Dmitry Stogov
d32c6512e1
Fixed bug #31177 (menory leaks and corruption because of incorrect refcounting).
2005-10-20 07:30:42 +00:00
Antony Dovgal
f8e8c5534b
MFH: fix #33771 (error_reporting falls to 0 when @ was used inside try/catch block)
2005-09-22 19:03:18 +00:00
Antony Dovgal
f43767b249
fix #34505 (possible memory corruption when unmangling properties with empty names)
...
1st part
2005-09-16 17:05:09 +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
ebd4ab4d78
Fixed bug #25359 (array_multisort() doesn't work in a function if array is global or reference)
2005-08-10 12:02:52 +00:00
foobar
916815b779
Bump up the year
2005-08-03 13:30:58 +00:00
Dmitry Stogov
345e0255b5
Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods)
2005-07-07 16:07:09 +00:00
Dmitry Stogov
343af548a6
Fixed SIGSEGV on 'global ${"{$blah}_ID"};'
2005-07-04 13:24:46 +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
21e071be06
Fixed bug #33257 (array_splice() inconsistent when passed function instead of variable)
2005-06-22 08:33:00 +00:00