Commit Graph

443 Commits

Author SHA1 Message Date
Dmitry Stogov
b287ccf508 Optimized ZEND_RETURN opcode to not allocate and copy return value if it is not
used.
2008-04-11 09:43:49 +00:00
Rasmus Lerdorf
b911467d1d MFB
Here are the signal changes from the 5.3 branch that optimizes signal
handler registration and switches from longjmp to siglongjmp in order
to make signal mask handling consistent across different UNIX operating
systems.
2008-03-19 16:37:49 +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
Felipe Pena
3cbc824eb7 Better readability (USTR_BYTES) 2008-03-07 00:51:02 +00:00
Dmitry Stogov
d5e54a7f27 Fixed shared memory corruption of opcode caches 2008-03-04 11:44:15 +00:00
Marcus Boerger
6b58678c63 - Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus) 2008-02-23 17:03:53 +00:00
Marcus Boerger
8b12839a3b -Add comment that explains wh we need E_ERROR in those cases 2008-02-02 15:46:19 +00:00
Marcus Boerger
f7a0a44b84 - MFB static callable message mess 2008-02-02 15:23:22 +00:00
Antony Dovgal
dbd82ddf19 fix #43973 (__autoload called with wrong classname when triggered by static callback)
the issue was present only in HEAD
patch by Felipe
2008-01-30 12:30:57 +00:00
Dmitry Stogov
e8ecba4872 Fixed bug #43323 (Wrong count abstract methods). (Felipe, Dmitry) 2008-01-29 11:13:52 +00:00
Dmitry Stogov
2971e13836 Changed EG(argument_stack) implementation. 2008-01-24 09:41:48 +00:00
Dmitry Stogov
6847c18150 Added garbage collector 2008-01-22 09:29:29 +00:00
Dmitry Stogov
27d1e925e2 Changed exception handling. Now each op_array doesn't contain ZEND_HANDLE_EXCEPTION opcode in the end 2008-01-21 19:41:41 +00:00
Marcus Boerger
505ffcbca8 - Fix the fix 2008-01-15 11:47:29 +00:00
Marcus Boerger
0da8866e3f - Fix memleak (found by colder) 2008-01-14 18:14:00 +00:00
Dmitry Stogov
1d9894a0c5 Added missing warning message 2008-01-10 09:38:41 +00:00
Sebastian Bergmann
9b620d50b4 Bump copyright year, 2 of 2. 2007-12-31 07:12:20 +00:00
Dmitry Stogov
1ccc6a4f10 Fixed bug #43651 (is_callable() with one or more nonconsecutive colons crashes) 2007-12-25 10:58:49 +00:00
Dmitry Stogov
31f6f1583e Fixed bug #43344 (Wrong error message for undefined namespace constant) 2007-12-07 17:12:22 +00:00
Dmitry Stogov
3f247aaf10 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:44 +00:00
Dmitry Stogov
860fd6fd2b Reimplemented support for namespaces in indexes id constant arrays (removed zval.idx_type) 2007-11-02 10:11:59 +00:00
Jani Taskinen
9cc90f23b3 ws + cs + fix test 2007-11-02 00:15:13 +00:00
Yiduo (David) Wang
95da0dc570 Added macros for managing zval refcounts and is_ref statuses 2007-10-07 05:15:07 +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
19d7fed62d Fixed bug #42819 (namespaces in indexes of constant arrays) 2007-10-02 08:27:19 +00:00
Dmitry Stogov
f30167922a Fixed bug #42798 (__autoload() not triggered for classes used in method signature). 2007-10-01 09:33:02 +00:00
Dmitry Stogov
976afba41b Support for namespaces in dynamic calls 2007-09-28 19:51:49 +00:00
Dmitry Stogov
189ac4f201 Late Static Binding (Dmitry, Etienne Kneuss) 2007-09-26 07:16:33 +00:00
Dmitry Stogov
618644c201 - in case of ambiguity class name in namespace call __autoload() only after
checking for both (class from current namespace and internal class)
- improved class fetching performance
- fixed wrong (lowercase) name passed to __autoload() from call_user_func()
2007-09-11 11:23:12 +00:00
Johannes Schlüter
4a19c90d4f - Allow binary strings as method name in $class::$method(), fixes
tests/lang/044.phpt (Etienne Kneuss)
2007-08-30 14:48:39 +00:00
Dmitry Stogov
611abb17fc Namespace constants 2007-08-24 13:50:52 +00:00
Dmitry Stogov
046b878b5b Fixed name resolution
namespace A;
    B::foo(); // 1. this is function "foo" from namespace "B"
              // 2. this is static method "foo" of class "B" from namespace "A"
              // 3. this is static methos "boo" of internal class "B"
  namespace A;
    A::foo(); // 1. this is function "foo" from namespace "A"
              // 2. this is static method "foo" of class "A" from namespace "A"
              // 3. this is static methos "foo" of internal class "A"
2007-08-22 07:39:37 +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
Jani Taskinen
5d0176a32b - Fix compile warnings 2007-07-21 00:34:41 +00:00
Dmitry Stogov
1f413bbc37 Namespaces 2007-07-12 09:23:48 +00:00
Antony Dovgal
dd8af0654a fix folding, CS and WS 2007-07-11 11:19:58 +00:00
Dmitry Stogov
a8036bf489 Unicode support 2007-06-27 11:16:21 +00:00
Dmitry Stogov
0a7462e056 Fixed bug #41633 (Crash instantiating classes with self-referencing constants) 2007-06-13 16:48:29 +00:00
Dmitry Stogov
b898c98005 Fixed some class constant issues related to bug #41633 2007-06-13 14:50:33 +00:00
Antony Dovgal
52587a3d5c check if fci->object_pp points to NULL 2007-05-21 07:12:34 +00:00
Antony Dovgal
c63a3187e5 fix #41421 (Uncaught exception from a stream wrapper segfaults) 2007-05-18 11:51:40 +00:00
Antony Dovgal
0e5d853a8d initialize retval_ptr_ptr before returning FAILURE
this fixes invalid read in #41209
2007-04-27 08:11:37 +00:00
Dmitry Stogov
2908322c14 WIN64 support 2007-04-16 09:43:53 +00:00
Marcus Boerger
80c2f1f92c - Improved version of ternary shortcut 2007-03-08 17:30:28 +00:00
Marcus Boerger
6b4a1666a0 - Catch empty class name error earlier 2007-03-03 13:46:19 +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
Marcus Boerger
bd7d5b527c - No reason not to pass return_value_ptr for non return-by-reference functions 2007-02-08 14:47:32 +00:00