Commit Graph

394 Commits

Author SHA1 Message Date
Brian Shire
d2ef7b42ee Make pass_two visible to extensions with ZEND_API (required for optimizer). 2009-06-05 23:20:58 +00:00
Andrei Zmievski
afa4e41c2f Implement JIT request decoding support for $_GET and $_POST. 2009-05-23 18:03:27 +00:00
Dmitry Stogov
b5c6e15ab8 Removed wrong warning message 2009-01-20 13:22:26 +00:00
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Stanislav Malyshev
636b2c9a6f MF5: Merge namespaces changes 2008-12-04 20:12:30 +00:00
Matt Wilmas
f41d6dba1d - Updated unary_op_type typedef with TSRMLS_DC
- Added binary_op_type typedef
- Added missing ZEND_BOOL_XOR to get_binary_op()
2008-08-29 18:12:15 +00:00
Felipe Pena
a5f867f3d5 - Constness (Added const qualifier to several function parameters) 2008-08-12 17:15:59 +00:00
Moriyoshi Koizumi
dea723c1fb - Sync function signature with the 5.3 branch 2008-07-28 06:07:19 +00:00
Dmitry Stogov
ef5f3cfdf2 . Added support for using static HEREDOCs to initialize static variables and class members or constants. (Matt)
. Improved syntax highlighting and consistency for variables in double-quoted strings and literal text in HEREDOCs and backticks. (Matt)
. Optimized interpolated strings to use one less opcode. (Matt)
2008-07-26 15:31:38 +00:00
Dmitry Stogov
bdf7981e28 Fixed is_callable/call_user_func mess that had done different things for very similar arguments e.g. array("A","B") and "A::B" 2008-07-26 13:14:56 +00:00
Dmitry Stogov
d8208b0541 Substitute persistent constants by their values at compile time. (Matt) 2008-07-25 04:54:56 +00:00
Dmitry Stogov
8d2e0a7e0f Added closures support 2008-07-08 07:05:04 +00:00
Dmitry Stogov
b8d7c7e91d - Removed direct executor recursion.
- Use fastcall calling convention in executor on x86.
2008-06-11 13:19:14 +00:00
Dmitry Stogov
25aaecc64d Fixed bug #44952 (isset() does not checks correctly variable variable) 2008-05-12 09:09:28 +00:00
Dmitry Stogov
37691b0cd0 Use IS_CV for dirrent access to $this variable 2008-05-07 12:04:58 +00:00
Dmitry Stogov
c1b01f7318 - 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:02:46 +00:00
Scott MacVicar
e55a0de496 MFB 5.3: Rewrite scanner to be based on re2c instead of flex
There are still changes in regards to parsing of Unicode encoded scripts to come.
2008-03-26 14:23:02 +00:00
Felipe Pena
c3ca82f363 - 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-22 19:10:20 +00:00
Dmitry Stogov
ea9305c543 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:49 +00:00
Dmitry Stogov
6fae346fb4 Fixed bug #44414 (Incomplete reporting about abstract methods) 2008-03-12 09:46:57 +00:00
Stanislav Malyshev
c38d56e371 MFB __DIR_ constant support 2008-02-12 01:02:06 +00:00
Dmitry Stogov
2971e13836 Changed EG(argument_stack) implementation. 2008-01-24 09:41:48 +00:00
Sebastian Bergmann
9b620d50b4 Bump copyright year, 2 of 2. 2007-12-31 07:12:20 +00:00
Dmitry Stogov
579defac82 Allowed import of global classes "use ::GlobalClassName;" (Gregory) 2007-12-13 10:02:26 +00:00
Dmitry Stogov
47dc82ecb9 Fixed bug #43128 (Very long class name causes segfault) 2007-11-22 13:33:53 +00:00
Dmitry Stogov
2a84434ea3 Added support for "namespace::" prefix that is resolved to current namespace name. 2007-11-20 08:53:17 +00:00
Dmitry Stogov
e860d95d24 T_IMPORT -> T_USE 2007-11-06 07:29:41 +00:00
Dmitry Stogov
a53eb396b3 Fixed variations of bug #35163 2007-10-23 12:52:51 +00:00
Dmitry Stogov
ce5c38af25 Fixed bug #42820 (defined() on constant with namespace prefixes tries to load class). 2007-10-03 10:33:45 +00:00
Dmitry Stogov
189ac4f201 Late Static Binding (Dmitry, Etienne Kneuss) 2007-09-26 07:16:33 +00:00
Dmitry Stogov
611abb17fc Namespace constants 2007-08-24 13:50:52 +00:00
Dmitry Stogov
c7d82c75c9 Added namespace related optimizations and comments 2007-08-20 09:48:41 +00:00
Dmitry Stogov
c04dc1699b Namespace support for name ambiguity between namespace and class name 2007-07-27 13:41:36 +00:00
Sara Golemon
b1bc911cee Add support got zend_class_entry->get_static_method() and matching __callStatic() userspace method @doc 2007-07-21 05:27:07 +00:00
Dmitry Stogov
1f413bbc37 Namespaces 2007-07-12 09:23:48 +00:00
Stanislav Malyshev
981ce312fc Fix HALT constant handling in unicode mode 2007-06-28 20:19:58 +00:00
Stanislav Malyshev
2ab4eededb MF5 __HALT_COMPILER fix:
Remove limitation of __HALT_COMPILER() that allowed only one instance
per request.

# Patch by Gregory Beaver
2007-06-28 00:01:58 +00:00
Dmitry Stogov
5dc51fecf8 Improved compilation of heredocs and interpolated strings. (Matt) 2007-05-18 13:12:47 +00:00
Marcus Boerger
80c2f1f92c - Improved version of ternary shortcut 2007-03-08 17:30:28 +00:00
Dmitry Stogov
d7df9badf6 Added runtime JIT auto-globals fetching and caching 2007-02-16 19:36:45 +00:00
Dmitry Stogov
cb5ae2b82c Fixed bug #40236 (php -a function allocation eats memory) 2007-02-15 10:42:52 +00:00
Sara Golemon
57da96bb42 Resolve autoglobals as global-fetch CVs when possible 2007-01-20 20:36:55 +00:00
Dmitry Stogov
f6387758c6 - 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:59:56 +00:00
Sebastian Bergmann
3717df72ae Bump year. 2007-01-01 09:29:37 +00:00
Dmitry Stogov
57d22421db Unicode support.
Now the real UG(unicode) value is available during MINIT calls.
2006-11-17 10:48:53 +00:00
Andrei Zmievski
75c272440e Turn doc comments into zstr strings with corresponding adjustments. 2006-10-27 21:22:05 +00:00
Antony Dovgal
53d94a9821 fix wrong function prototype (see bug #39260) 2006-10-26 09:28:44 +00:00
Dmitry Stogov
798d93c4da Fixed bug #38808 ("maybe ref" issue for current() and others) 2006-09-26 10:31:04 +00:00
Dmitry Stogov
7aeb4421b7 Fixed bugs #34065 and #38623 (throw in foreach/switch causes memory leaks) 2006-09-19 21:36:00 +00:00
Marcus Boerger
617a18fc40 - Fix for #34505 and repated (improved version of what is in 5.2, 5.1) 2006-07-24 17:51:41 +00:00