Commit Graph

254 Commits

Author SHA1 Message Date
Felipe Pena
1e5aff9522 - Fixed bug #47054 (BC break in static functions called as dynamic) 2009-01-10 19:14:27 +00:00
Felipe Pena
4ed88343cc - Fixed bug #46701 (Creating associative array with long values in the key fails on 32bit linux)
Patch by Shire
2009-01-05 19:47:13 +00:00
Marcus Boerger
ef26541980 - Fix SEGV if get_method() returns a non bound function 2009-01-01 15:27:33 +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
Dmitry Stogov
e5454b359a Fixed bug #46409 (__invoke method called outside of object context when using array_map) 2008-11-27 19:02:45 +00:00
Etienne Kneuss
8251921307 Fix #46241 (stacked error_handlers, error_handling in general) 2008-11-19 01:59:07 +00:00
Felipe Pena
0d4b0f20f9 - Fixed bug #46238 (Segmentation fault on static call with empty string method) 2008-10-06 00:35:20 +00:00
Felipe Pena
2985b4f9e3 - Removed some TSRMLS_FETCH()s 2008-08-15 19:45:25 +00:00
Etienne Kneuss
6423606a63 Handlerify get_closure 2008-08-14 21:26:05 +00:00
Marcus Boerger
75b08f4adf - Improved exception linking 2008-08-14 10:06:39 +00:00
Dmitry Stogov
f83076cf4b Fixed bug #45805 (Crach on throwing exception from error handler) 2008-08-13 07:22:40 +00:00
Marcus Boerger
2b1b167538 - Fix warning 2008-08-10 22:45:47 +00:00
Antony Dovgal
a270199067 fix bug reported by Henrique
add test
2008-08-10 21:23:21 +00:00
Marcus Boerger
034d2e5916 - Turns out the easy solution for correct error_handling doesn't work. So
we need to provide save/replace/restore functions right away. It also
  to save/restore in the vm.
2008-08-08 17:10:49 +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
60daaf792f Fixed crashes and memory leak for objects with NULL write_property/has_property/unset_property handlers 2008-07-26 14:09:05 +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
fd2c7c2105 Fixed bug #45178 (memory corruption on assignment result of "new" by reference) 2008-07-24 11:48:30 +00:00
Dmitry Stogov
72dfe66661 LSB parent/self forwarding 2008-07-24 10:14:01 +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
Felipe Pena
737dd4ef6e - MFB: Fixed bug #45089 (__callStatic $name case sensitivity) 2008-06-03 19:01:26 +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
baa15b7780 Fixed possible memory leak 2008-05-06 16:59:24 +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
Dmitry Stogov
96ab33de6e 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:24 +00:00
Dmitry Stogov
1d0f893b49 Lazy EG(active_symbol_table) initialization 2008-04-29 08:15:49 +00:00
Dmitry Stogov
00b006ce74 Optimized handlers for ZEND_RECV and ZEND_RECV_INIT opocdes 2008-04-24 15:46:28 +00:00
Dmitry Stogov
903fa24eba Optimized function call helper 2008-04-21 10:15:26 +00:00
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
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
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
b8debfd876 Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single ZEND_ADD_INTERFACE opcode 2008-03-12 10:32:39 +00:00
Felipe Pena
3cbc824eb7 Better readability (USTR_BYTES) 2008-03-07 00:51:02 +00:00
Dmitry Stogov
c8b1dbff23 Optimized require_once() and include_once() by eliminationg open() syscall on se
cond usage.
2008-03-05 13:35:02 +00:00
Dmitry Stogov
d5e54a7f27 Fixed shared memory corruption of opcode caches 2008-03-04 11:44:15 +00:00
Dmitry Stogov
30bd877237 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:22 +00:00
Marcus Boerger
6b58678c63 - Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus) 2008-02-23 17:03:53 +00:00
Dmitry Stogov
478cbe5892 Fixed bug #44184 (Double free of loop-variable on exception) 2008-02-20 12:06:29 +00:00
Hannes Magnusson
276a9f0cae MFB: Fix segfaults when calling ctors statically 2008-02-11 15:54:46 +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
Dmitry Stogov
306369985b Fixed compilation warnings 2008-01-24 18:08:06 +00:00
Dmitry Stogov
2971e13836 Changed EG(argument_stack) implementation. 2008-01-24 09:41:48 +00:00
Dmitry Stogov
b9dcdd409d Additional executor specialization 2008-01-23 17:56:15 +00:00
Dmitry Stogov
6847c18150 Added garbage collector 2008-01-22 09:29:29 +00:00
Dmitry Stogov
8fc9047ce8 Eliminate unnecessary checks for INC/DEC IS_CV 2008-01-21 14:26:47 +00:00
Dmitry Stogov
c66fc45dcb Fixed unspecialized executor 2008-01-11 10:09:12 +00:00