Dmitry Stogov
acfc31c0f8
Use zend_error_noreturn() for fatal errors
2015-04-01 13:32:23 +03:00
Nikita Popov
8d00385871
Reclassify E_STRICT notices
...
Per RFC https://wiki.php.net/rfc/reclassify_e_strict
While reviewing this, found that there are still three E_STRICTs
left in libraries - need to discuss those.
2015-04-01 11:17:55 +02:00
Xinchen Hui
4ef3f4e76a
Useless comment
2015-03-26 13:50:43 +08:00
Dmitry Stogov
4e11095438
Reimplemented special constant handling. Now __HALT_COMPILER_OFFSET__ is resolved at compile-time. __CLASS__ retrived using separate ZEND_FETCH_CLASS_NAME opcode.
2015-03-18 15:33:56 +03:00
Dmitry Stogov
ed9c8a23ba
More accurate reference counting on closures
2015-03-10 23:04:41 +03:00
Xinchen Hui
95b4aa5293
Fixed zend_hash_append result duplicated key
...
actually, maybe we should precalculate before calling zend_hash_appen
when we are not sure whether the hash is caclculated(prop_info->name).
but it looks a little ugly.. (also for zend_string_copy)
2015-03-08 00:21:02 +08:00
Dmitry Stogov
9f9ffdd0a0
Use fast zend_hash_append() API
2015-03-06 19:23:54 +03:00
Dmitry Stogov
6d065a8545
Avoid repeatable strlen() calls
2015-03-05 18:18:39 +03:00
Dmitry Stogov
c2c78dc963
Added specialized versions of DO_FCALL handler:
...
DO_ICALL - for internal functions
DO_UCALL - for user functions
DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)
2015-02-25 10:37:21 +03:00
Dmitry Stogov
e142e31137
Fixed memory leak
2015-02-20 20:50:01 +03:00
Dmitry Stogov
e10e151e9b
Merged zend_array and HashTable into the single data structure.
...
Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write
zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
2015-02-13 22:20:39 +03:00
Guilherme Blanco
8c81d80e10
Made ZEND_ACC_TRAIT a saner value
...
CC_TRAIT valued as 0x120 is too magical to be comprehensible by others.
2015-02-12 23:20:19 +01:00
Dmitry Stogov
97fe15db43
Fix "forech" statemt behaviour according to https://wiki.php.net/rfc/php7_foreach
...
Squashed commit of the following:
commit 1e41295097
Author: Dmitry Stogov <dmitry@zend.com>
Date: Sat Jan 31 07:28:58 2015 +0300
Generalize HashTableIterator API to allows its usage without involvement of HashTable.nInternalPonter
commit 5406f21b11
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 18:08:43 2015 +0300
Reduced alghorithms complexity
commit b37f1d58d2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 18:08:30 2015 +0300
Fixed test name
commit fb2d079645
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 18:08:05 2015 +0300
API cleanup
commit 08302c0d6d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 14:20:46 2015 +0300
Make array_splice() to preserve foreach hash position
commit cc4b7be41e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 12:24:31 2015 +0300
Make internal function, operation on array passed by reference, to preserve foreach hash position
commit 5aa9712b0a
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 09:49:35 2015 +0300
Implement consistent behavior for foreach by value over plain object
commit 4c5b385ff5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jan 30 07:56:37 2015 +0300
More careful iterators update.
commit 721fc9e80d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jan 29 21:43:28 2015 +0300
Added new test
commit 15a23b1218
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jan 29 21:05:02 2015 +0300
Reimplement iteration magic with HashTableIterators (see https://wiki.php.net/rfc/php7_foreach#implementation_details )
commit 10a3260b1f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jan 29 21:04:44 2015 +0300
New test
commit eef80c5837
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 16:52:21 2015 +0300
Fixed foreach by reference iteration over constant array
commit 61e7391873
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 14:59:54 2015 +0300
Fixed temporary variable re-allocation pass
commit 92e90c09f0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 12:44:57 2015 +0300
Fixed operand destruction in case of exceptions in iterator
commit dd2a36a207
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 10:02:34 2015 +0300
Use GET_OP1_ZVAL_PTR_DEREF() (IS_TMP_VAR and IS_CONST can't be IS_REFERENCE)
commit 4638f7b914
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jan 28 07:43:28 2015 +0300
Change "foreach" statement behavior (this is just a PoC yet)
- "foreach by value" don't relay on internal array/object pointer and doesnt perform array duplication. It just locks it incrementing reference counter. If the original array is modified by some code, the copy on write is performed and "foreach" still work with the old copy.
- it makes no difference if array given to "foreach by value" is reference itself
- "foreach by reference" still use internal array/object pointer and should work similar to PHP-5. (This id not completely implemented)
2015-02-12 13:57:12 +03:00
Xinchen Hui
fc33f52d8c
bump year
2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d
bump year
2015-01-15 23:26:37 +08:00
Xinchen Hui
73c1be2653
Bump year
2015-01-15 23:26:03 +08:00
Stanislav Malyshev
b7a7b1a624
trailing whitespace removal
2015-01-10 15:07:38 -08:00
Dmitry Stogov
c42ac09518
Added new API function 'zend_string* zend_string_tolower(zend_string*)'.
...
It simplifies code and avoids unnecessary allocation and copying if string is already in lower case.
2014-12-24 15:04:51 +03:00
Anatol Belski
2eef2abee5
Merge remote-tracking branch 'origin/master' into native-tls
...
* origin/master:
Optimize argument passing handlers:
Fix pcre non-FAST_ZPP build
Conflicts:
Zend/zend_compile.c
Zend/zend_execute.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/pcre/php_pcre.c
2014-12-16 17:13:47 +01:00
Dmitry Stogov
3a18597774
Optimize argument passing handlers:
...
- predcalculate offsets of passed argument and store it in opline->result.var for ZEND_SEND_*;
- don't update "number of passed arguments" op each ZEND_SEND_* opcode, store it on call frame creation
- Change ZEND_HANDLE_EXCEPTION to determine "number of passed arguments" in incomplete calls fefore freeing
2014-12-16 18:40:52 +03:00
Anatol Belski
f62ad3bc57
Merge remote-tracking branch 'origin/master' into native-tls
...
* origin/master:
made the apache ini holders to be zend_bool
Removed useless local variable
Use simpler functions
Fixed test
small fixes to UPGRADING
Reorder to save alignment size (of course, only for common used structs)
2014-12-15 13:57:43 +01:00
Dmitry Stogov
dd01ade999
Use simpler functions
2014-12-15 14:43:16 +03:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Dmitry Stogov
3893c1fc3d
Fixed compilation warnings
2014-12-12 21:57:34 +03:00
Anatol Belski
f4311686cc
Merge branch 'PHP-5.6'
...
* PHP-5.6:
updated NEWS
Fixed bug #68583 Crash in timeout thread
Conflicts:
Zend/zend_execute.h
Zend/zend_execute_API.c
2014-12-12 13:26:17 +01:00
Anatol Belski
c96ffaa653
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
Fixed bug #68583 Crash in timeout thread
Conflicts:
Zend/zend_execute.h
2014-12-12 12:05:47 +01:00
Anatol Belski
3affc0e8a2
Fixed bug #68583 Crash in timeout thread
...
This replaces the GUI element used for execution timeout handling
on Windows. Instead a timer queue technique is used, which is indeed
a thread pool. A timer queue timer is a lightweight object handled
but that thread pool and the timer thread spends most of the time
sleeping and waiting for an alert.
Please note also that this introduces neither binary nor source
breach. The custom timeout thread functions are deleted, however
they was not exported throug DLL, so couldn't be used by any
external code. As well they couldn't be used anywhere in the core
except in executor api, because those custom timeout thread
functions they used to operate on static variables which would
be overwritten (and that would blow).
So instead a relatively modern technique is used for the timeout
handling. It's still not perfect because the executor still has to
check EX(timed_out). This can be a topic for an improvement in
master. But brobably can be tricky as currently it seems to be not
possible to signal an individual thread. Also note another issue
that static variables aren't thread safe, but the current timer
implementation is.
2014-12-12 10:43:31 +01:00
Dmitry Stogov
27dc5986df
Moved zend_is_true() from zend_execute.h/zend_execute_API.c into zend_operators.h/zend_operators.c.
...
Splited the most expensive part of inline i_zend_is_true() into a separate zend_object_is_true().
Replaced zendi_convert_to_long() with cals to zend_is_true().
2014-12-11 13:18:40 +03:00
Dmitry Stogov
dcfe58773e
Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ZEND_CALL_VAR_NUM().
2014-11-28 11:11:33 +03:00
Dmitry Stogov
1da14c9f81
Pack EX(frame_info) into EX(This).u1.v.reserved. Rename "frame"kind" into "call_kind" and VM_FRAME_... into ZEND_CALL_...
2014-11-28 10:33:03 +03:00
Dmitry Stogov
11384ba77b
Pack EX(num_args) into EX(This).u2.num_args
2014-11-28 10:28:49 +03:00
Anatol Belski
317d7c62ee
fix incompatible pointer types
2014-11-17 09:34:20 +01:00
Anatol Belski
873a460c7c
fix incompatible pointer types
2014-11-17 09:33:58 +01:00
Anatol Belski
1504e9c9df
fix incompatible pointer types
2014-11-17 09:33:37 +01:00
Anatol Belski
14ccac0237
fix datatype mismatch
2014-11-13 19:57:33 +01:00
Xinchen Hui
b9e44888c0
Merge branch 'PHP-5.5' into PHP-5.6
2014-11-10 13:47:14 +08:00
Xinchen Hui
ab84939254
Fixed bug #68370 ("unset($this)" can make the program crash)
2014-11-10 13:46:47 +08:00
Anatol Belski
89ed34e3e9
fix datatype mismatches
2014-10-24 20:50:09 +02:00
Anatol Belski
7959e3faf2
fix datatype mismatches for strings from userspace
2014-10-22 17:56:17 +02:00
Nikita Popov
43f1c94dda
Review a few more SEPARATE_ZVAL_IF_NOT_REF usages
2014-10-09 12:51:05 +02:00
Dmitry Stogov
33e137d409
Merged EX(frame_kind) and EX(flags) into single word
2014-10-07 17:12:12 +04:00
Nikita Popov
9bc14f9632
Fix dynamic calls to static methods with fci->object
...
func may already be freed at the time the static flag was checked.
2014-10-05 23:11:17 +02:00
Dmitry Stogov
bd9a234645
Replaced EG(This) and EX(object) with EX(This).
...
Internal functions now recieves zend_execute_data as the first argument.
2014-10-03 19:32:46 +04:00
Dmitry Stogov
9f7564b12b
Removed zend_execute_data->prev_nested_call. Reuse prev_execute_data instead.
2014-10-01 10:46:13 +04:00
Dmitry Stogov
bccc653185
Avoid double IS_INTERNED() check
2014-09-19 17:32:50 +04:00
Dmitry Stogov
3bc8a958c5
Fixed useless or duplicated IS_INTERNED() checks
2014-09-19 15:41:01 +04:00
Anatol Belski
e940fc268a
fix signed/unsigned mismatch
2014-09-15 19:46:25 +02:00
Anatol Belski
f595ed4b8c
fix initializer struct
2014-09-15 11:30:26 +02:00
Stanislav Malyshev
d5b0606a62
Reintroduce fix from pull #770 in a PHP 7 way
2014-09-01 15:41:27 -07:00
Stanislav Malyshev
1ff1a0dde2
Revert "Merge branch 'PHP-5.6'"
...
This reverts commit aaf5689f4d
, reversing
changes made to 481bf25b6a
.
2014-09-01 14:35:04 -07:00
Stanislav Malyshev
aaf5689f4d
Merge branch 'PHP-5.6'
...
* PHP-5.6:
update NEWS
Only destruct if EG(active) in zend_shutdown(). (bug #65463 , #66036 )
Fix typo from commit 32314f6b6
Fix destruction order in zend_shutdown (bug #65463 , #66036 )
Conflicts:
Zend/zend_compile.h
Zend/zend_execute_API.c
2014-09-01 12:22:41 -07:00
Stanislav Malyshev
57f82819e9
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
update NEWS
Only destruct if EG(active) in zend_shutdown(). (bug #65463 , #66036 )
Fix typo from commit 32314f6b6
Fix destruction order in zend_shutdown (bug #65463 , #66036 )
2014-09-01 12:20:34 -07:00
Stanislav Malyshev
4b9fcc01d4
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
update NEWS
Only destruct if EG(active) in zend_shutdown(). (bug #65463 , #66036 )
Fix typo from commit 32314f6b6
Fix destruction order in zend_shutdown (bug #65463 , #66036 )
2014-09-01 12:15:54 -07:00
Stanislav Malyshev
197095c29e
Merge branch 'pull-request/770' into PHP-5.4
...
* pull-request/770:
Only destruct if EG(active) in zend_shutdown(). (bug #65463 , #66036 )
Fix typo from commit 32314f6b6
Fix destruction order in zend_shutdown (bug #65463 , #66036 )
2014-09-01 12:11:42 -07:00
Nikita Popov
b73bea9cc8
Combine foreach copy / switch cond stacks
...
Now one common stack to handle both, which stores znodes instead of
full oplines (foreach copy stack) or switch entries (switch cond
stack).
Also removed EG(start_op) while at it.
2014-08-29 21:53:09 +02:00
Dmitry Stogov
b1f53ca415
Use efree_size() instead of efree() where posible
2014-08-27 20:49:56 +04:00
Nikita Popov
59848e3fbb
Remove ZEND_ACC_INTERACTIVE and CG(interactive)
...
As far as I can discern these are leftovers of the interactive
shell implementation that was used before PHP 5.4. Now the readline
ext makes use of normal eval calls for this.
So, dropping these until there is evidence to the contrary, as they
currently wouldn't work anyway.
2014-08-25 23:46:43 +02:00
Nikita Popov
d2a3bf9daf
Fix compiler warnings
2014-08-25 23:08:01 +02:00
Nikita Popov
6db293d5e0
Merge remote-tracking branch 'php-src/master' into ast
...
Conflicts:
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_globals.h
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_types.h
2014-08-25 21:52:18 +02:00
Anatol Belski
6f9f0bf205
master renames phase 2
2014-08-25 19:28:33 +02:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00
Anatol Belski
97c5172ac7
Merge remote-tracking branch 'php/master'
...
Conflicts:
ext/date/lib/parse_date.c
2014-08-19 08:27:43 +02:00
Nikita Popov
ced6d3068a
Merge branch 'master' into ast
2014-08-18 18:16:11 +02:00
Nikita Popov
26a9dc3e04
Fix bug #67858 : Leak when $php_errormsg already set
2014-08-18 18:14:19 +02:00
Nikita Popov
904a83a137
Merge remote-tracking branch 'php-src/master' into ast
...
Conflicts:
ext/opcache/Optimizer/optimize_func_calls.c
2014-08-16 22:31:13 +02:00
Nikita Popov
71675a4bf8
Merge remote-tracking branch 'php-src/phpng' into ast
...
Conflicts:
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_language_parser.y
Incomplete merge!
2014-08-16 21:55:08 +02:00
Anatol Belski
5bb25776a0
further fixes on core
2014-08-16 15:34:04 +02:00
Anatol Belski
8ee2a4a9b5
first shot on merging the core fro the int64 branch
2014-08-16 11:16:11 +02:00
Xinchen Hui
d7f12b9b9c
Fixed initializing
2014-08-15 13:52:52 +08:00
Keyur Govande
5e338836ff
Fix typo from commit 32314f6b6
2014-08-14 01:14:11 +00:00
Keyur Govande
32314f6b67
Fix destruction order in zend_shutdown (bug #65463 , #66036 )
...
If Apache or a similar SAPI receives a signal during PHP processing
it calls zend_shutdown() without calling shutdown_executor().
#65463 : If a module like Gearman or Memcached is loaded,
in the unfixed version it is unloaded by zend_destroy_modules() before the
CG(CLASS_TABLE) is destructed. When CG(CLASS_TABLE) is destructed,
any pointers to methods (specifically around destruction) in the unloaded
module's .so are now dangling and the process segfaults.
#66036 : Any subclasses of an internal class like ArrayObject need
to be destructed in order: subclass first and then the internal class. In the
unfixed version zend_shutdown() clears the CG(CLASS_TABLE) from the head
of the list onwards, so internal classes are destructed first and user-defined
classes last. Internal classes are alloc/deallocated with malloc/free while
user-defined classes with emalloc/efree. If there's shared data between them
then efree() could be called instead of free() leading to a seg-fault.
2014-08-14 00:55:14 +00:00
Dmitry Stogov
c201ba8fff
execute_data->return_value should be initialized when call internal constructors
2014-07-31 10:51:49 +04:00
Nikita Popov
55f53e29a0
zend_get_class_fetch_type works on zend_string
2014-07-28 15:39:43 +02:00
Nikita Popov
edd9fcab1e
Fix leaks
...
Must find a good way to handle constant expressions...
2014-07-26 18:08:31 +02:00
Dmitry Stogov
de306e7088
Implement call_user_func() and call_user_func_array() using special opcodes.
...
In some rare cases it leads to insignificant changes in error messages.
2014-07-11 00:32:18 +04:00
Dmitry Stogov
21acbd5b75
Avoid useless check
2014-07-07 21:33:53 +04:00
Dmitry Stogov
5aa91be509
Simplify call-frame handling
2014-07-07 15:50:44 +04:00
Dmitry Stogov
6bf24f4dd0
Removed EG(active_symbol_table) and use corresponding value from EG(current_execute_data)
2014-07-04 18:03:45 +04:00
Dmitry Stogov
c4d99ec982
Removed EG(called_scope) and use corresponding value from EG(current_execute_data)
2014-07-03 02:34:43 +04:00
Dmitry Stogov
0a77dcd4b9
Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are executing something.
2014-07-03 01:02:25 +04:00
Dmitry Stogov
63c057e331
Removed EG(opline_ptr) and use corresponding value from EG(current_execute_data)
2014-07-02 23:29:53 +04:00
Dmitry Stogov
4b09dd69e6
Removed EG(active_op_array) and use corresponding value from EG(current_execute_data)
2014-07-02 22:03:21 +04:00
Dmitry Stogov
412ad4b254
Uinified call frame handling for user and internal functions.
...
Now EG(current_execute_data) always point to the call frame of the currently executed function.
2014-07-02 22:01:25 +04:00
Dmitry Stogov
d6bd21eab2
Use fast comparison for (func->type == ZEND_USER_FUNCTION || func->type == ZEND_EVAL_CODE)
2014-06-27 13:02:49 +04:00
Dmitry Stogov
032f33591a
Keep extra args in the same VM stack segment (after all CV and TMP vars)
2014-06-27 12:25:36 +04:00
Dmitry Stogov
c69781393c
Refactoring: merge call_frame and end_execute_data into single data structure. Keep only single copy of each argument on VM stack (previously ZE kept two copies of each arguments for user functions)
2014-06-26 23:51:14 +04:00
Dmitry Stogov
43477bc7a2
Refactoring: use call_frames instead of call_slots
2014-06-24 02:17:16 +04:00
Dmitry Stogov
bbc508dea5
Fixed string deallocation and code cleanup
2014-06-23 17:01:59 +04:00
Dmitry Stogov
bd10db271c
Use new zend_hash iteration API
2014-06-16 21:11:52 +04:00
Dmitry Stogov
14e6ee7f42
Use absolute addresses as branch targets for NEW, FE_RESET and FE_FETCH
2014-06-11 11:39:42 +04:00
Xinchen Hui
ebe6854dbc
Merge branch 'PHP-5.5' into PHP-5.6
...
Conflicts:
Zend/zend_execute_API.c
2014-06-10 21:58:16 +08:00
Xinchen Hui
e8699d75da
Remove unused included file
2014-06-10 21:56:30 +08:00
Xinchen Hui
3c69140a90
Remove unused codes
2014-06-10 21:53:46 +08:00
Dmitry Stogov
9a9bb8877e
Improved ZTS support
2014-06-09 21:29:20 +04:00
Nikita Popov
411a8757ad
Initialize GC_TYPE_INFO for EG(symbol_table)
2014-05-29 00:15:50 +02:00
Dmitry Stogov
40256e0f9c
Use specialized functions instead of macros
2014-05-26 17:16:16 +04:00
Xinchen Hui
b5f90e5103
Save some unnecessary zval copying
2014-05-26 17:25:57 +08:00
Xinchen Hui
bd4b9837e9
Improve call_user_function performance
...
params are all zval * now, and retval will be initialized in
zend_call_function.
maybe we can make call_user_function as a macro proxy to
call_user_function_ex later.
2014-05-26 17:16:22 +08:00
Xinchen Hui
0175d994c0
Fixed apply_func_arg_t, and it's better not using cast (compiler friendly)
2014-05-25 19:56:51 +08:00
Xinchen Hui
00e69ba164
typo
2014-05-24 21:45:07 +08:00
Xinchen Hui
b87cff66b8
fci->retval is always set
2014-05-24 21:37:15 +08:00
Dmitry Stogov
0c6a6f0fba
Re-applyed Bob's patch with minor fixes
2014-05-07 15:03:56 +04:00
Dmitry Stogov
4ecc527976
Reverted Bob's patch (it breaks many tests when run with opcache and needs to be fixed first).
2014-05-07 03:26:13 +04:00
Bob Weinand
f3c1881f1d
Re-added fix for bug #66015 and adapted for phpng branch
2014-05-06 14:59:03 +02:00
Dmitry Stogov
1fa4dcac87
Added comment with problem description and two soltions
2014-05-06 04:35:29 +04:00
Nikita Popov
5a03efe279
Don't allocate zend_stack elements individually
...
Instead allocate a vector of elements. Size must now be specified
on initialization rather than on push.
2014-05-01 09:08:29 +02:00
Dmitry Stogov
17d027ed47
Split IS_BOOL into IS_FALSE and IS_TRUE
2014-04-30 18:32:42 +04:00
Dmitry Stogov
6a911e833f
Optimized JMPZNZ to avoid multiplication at runtime (may be it makes sense to use relative addresses everywere it'll lead to Position Independent Code)
2014-04-30 11:23:19 +04:00
Dmitry Stogov
f9927a6c97
Merge mainstream 'master' branch into refactoring
...
During merge I had to revert:
Nikita's patch for php_splice() (it probably needs to be applyed again)
Bob Weinand's patches related to constant expression handling (we need to review them carefully)
I also reverted all our attempts to support sapi/phpdbg (we didn't test it anyway)
Conflicts:
Zend/zend.h
Zend/zend_API.c
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_constants.c
Zend/zend_exceptions.c
Zend/zend_execute.c
Zend/zend_execute.h
Zend/zend_execute_API.c
Zend/zend_hash.c
Zend/zend_highlight.c
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
Zend/zend_variables.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/date/php_date.c
ext/dom/documenttype.c
ext/hash/hash.c
ext/iconv/iconv.c
ext/mbstring/tests/zend_multibyte-10.phpt
ext/mbstring/tests/zend_multibyte-11.phpt
ext/mbstring/tests/zend_multibyte-12.phpt
ext/mysql/php_mysql.c
ext/mysqli/mysqli.c
ext/mysqlnd/mysqlnd_reverse_api.c
ext/mysqlnd/php_mysqlnd.c
ext/opcache/ZendAccelerator.c
ext/opcache/zend_accelerator_util_funcs.c
ext/opcache/zend_persist.c
ext/opcache/zend_persist_calc.c
ext/pcre/php_pcre.c
ext/pdo/pdo_dbh.c
ext/pdo/pdo_stmt.c
ext/pdo_pgsql/pgsql_driver.c
ext/pgsql/pgsql.c
ext/reflection/php_reflection.c
ext/session/session.c
ext/spl/spl_array.c
ext/spl/spl_observer.c
ext/standard/array.c
ext/standard/basic_functions.c
ext/standard/html.c
ext/standard/mail.c
ext/standard/php_array.h
ext/standard/proc_open.c
ext/standard/streamsfuncs.c
ext/standard/user_filters.c
ext/standard/var_unserializer.c
ext/standard/var_unserializer.re
main/php_variables.c
sapi/phpdbg/phpdbg.c
sapi/phpdbg/phpdbg_bp.c
sapi/phpdbg/phpdbg_frame.c
sapi/phpdbg/phpdbg_help.c
sapi/phpdbg/phpdbg_list.c
sapi/phpdbg/phpdbg_print.c
sapi/phpdbg/phpdbg_prompt.c
2014-04-26 00:32:51 +04:00
Dmitry Stogov
4e7cbf3f58
Use appropriate macros
2014-04-25 11:54:10 +04:00
Dmitry Stogov
df7ca608ce
Optimized constant lookup
2014-04-25 00:56:15 +04:00
Dmitry Stogov
65e2ed6e50
Redesigned zend_execute_data layout now EX(object), EX(scope) and EX(called_scope) arr properties of the current function execution co
...
ntext. They are set during zend_execute_data initialization and never changed.
2014-04-24 15:53:20 +04:00
Dmitry Stogov
1f181c0f4c
Chiper __autoload() function caching
2014-04-22 01:41:40 +04:00
Dmitry Stogov
72c287bd23
Combine HashTable.flags and HashTable.nApplyCount into single 32-bit word
2014-04-21 18:25:34 +04:00
Dmitry Stogov
f71da39210
Use ZEND_HASH_FOEACH_* instead of zend_hash_apply_*
2014-04-21 13:55:25 +04:00
Dmitry Stogov
ea2e1bb1eb
Optimized zend_leave_helper()
2014-04-18 13:46:36 +04:00
Dmitry Stogov
e96073b1e4
Moved zend_literal->cache_slot right into zval.
...
It should be accessed using Z_CACHE_SLOT() macro.
zend_literal structure is removed.
API functions that accepted pointer to zend_literal now accept pointer to zval or cache_slot directly.
Calls of such functiond that now accept cache_slot need to be changed to pass -1 instead of NULL.
2014-04-17 15:40:45 +04:00
Dmitry Stogov
fb4e0a6364
Removed invalid STR_RELEASE()
2014-04-16 12:28:20 +04:00
Dmitry Stogov
e99e6958bc
Cleanup
2014-04-16 01:45:40 +04:00
Dmitry Stogov
f9b26bc39a
Cleanup (2-nd round)
2014-04-15 21:56:30 +04:00
Dmitry Stogov
050d7e38ad
Cleanup (1-st round)
2014-04-15 15:40:40 +04:00
Bob Weinand
ccf863c8ce
Merge branch 'PHP-5.6'
2014-04-11 19:35:11 +02:00
Bob Weinand
35b895fdf0
Removed useless void* parameter and replaced with zend_bool on zval_update_constant* functions
2014-04-11 19:18:58 +02:00
Bob Weinand
9663193bbc
Merge branch 'PHP-5.6'
2014-04-11 10:11:58 +02:00
Bob Weinand
f614fc6898
Fix bug #66015 by reverting "Removed operations on constant arrays."
2014-04-11 10:08:44 +02:00
Dmitry Stogov
91ed685e26
Close all files and resources before before destroying object storage, because resources may point to objects. (THIS CHANGE MAY BE DANGEROUS)
2014-04-11 02:22:00 +04:00
Dmitry Stogov
7402af380b
Fixed destruction of objects and iterators on unclean request shutdown and GC (few cases are still unfixed).
...
Now we destroy objects it two steps. At first - object properties of all objects and only then the objects their selves.
2014-04-09 01:50:15 +04:00
Dmitry Stogov
3d17219cd8
Refactored zend_hash_* iteration API zend_hash_fove_forward_ex(ht, pos) and family require second argument to be real pointer.
...
&(ht)->nInternalPointer should be passed instead of NULL.
zend_hash_update_current_key() may work only with internal pointer.
2014-04-07 23:14:17 +04:00
Dmitry Stogov
76cc99fe60
Refactored ZVAL flags usage to simplify various checks (e.g. Z_REFCOUNTED(), candidate for GC, etc)
2014-04-03 15:26:23 +04:00
Dmitry Stogov
d8099d0468
Changed data layout to allow more efficient operations
2014-04-02 14:34:44 +04:00
Dmitry Stogov
6b2ed577fd
Avoid unnecessry reallocations
2014-04-01 22:36:17 +04:00
Dmitry Stogov
70b7950a75
Exclude interned flags from constant flags
2014-04-01 14:20:10 +04:00
Dmitry Stogov
ea85451b65
Refactored data structures to keep zend_object* instead of a whole zval in some places
2014-03-28 02:11:22 +04:00
Dmitry Stogov
9a8fbdf2f4
Use CV variable offset instead of CV variable number
2014-03-27 16:00:25 +04:00
Dmitry Stogov
c6cba55454
Use ZVAL_DEREF() macro
2014-03-27 13:39:09 +04:00
Dmitry Stogov
f53c31265f
Fixed symbol table detaching
2014-03-27 00:04:50 +04:00
Dmitry Stogov
887189ca31
Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing
2014-03-26 18:07:31 +04:00
Dmitry Stogov
ef6919e6f2
Fixed static data cleanup
2014-03-21 13:51:18 +04:00
Dmitry Stogov
6123deb30f
Fixed refcounting (proper fix)
2014-03-21 01:08:26 +04:00
Dmitry Stogov
cce7d5a1ec
Fixed refcounting
2014-03-21 00:34:26 +04:00
Dmitry Stogov
36cd92a7d3
Fixed passing argument by refefence from internal functions
2014-03-20 17:03:32 +04:00
Dmitry Stogov
da9a2872b0
Fixed cleanup on request shutdown
2014-03-18 14:52:54 +04:00
Dmitry Stogov
aa5f55306b
Refactored EG(active_symbol_table) to be zend_array* instead of HashTable*
2014-03-17 23:15:22 +04:00
Dmitry Stogov
d708d3c596
Fixed passing arguments by reference from internal functions
2014-03-11 22:33:28 +04:00
Xinchen Hui
53e312c663
Review ended
...
Revert "An demo(for review) to show how to fix the problem(symbol table resize)"
This reverts commit 60c354510b
.
2014-03-11 14:23:14 +08:00
Xinchen Hui
60c354510b
An demo(for review) to show how to fix the problem(symbol table resize)
2014-03-10 16:25:05 +08:00
Xinchen Hui
80625f20e5
Revert "An demo(for review) to show how to fix the problem we meet"
...
This reverts commit 4aeae15706
.
2014-03-10 16:24:35 +08:00
Xinchen Hui
4aeae15706
An demo(for review) to show how to fix the problem we meet
2014-03-10 11:29:28 +08:00
Xinchen Hui
4b40e40ad0
Fixed memleak while sending IS_REFERENCE
2014-03-09 11:48:09 +08:00
Dmitry Stogov
6b303a6bd6
Fixed refcounting
2014-03-07 01:33:33 +04:00
Dmitry Stogov
8d2fb9d479
Internal functions may return (e.g. on wrong arguments) keeping the original return_value. So we have to initialize return_value as IS_NULL.
2014-03-06 13:32:43 +04:00
Dmitry Stogov
f3b4b16883
Fixed passing reference by value in call_user_func()
2014-03-06 01:04:28 +04:00
Dmitry Stogov
018be97c0d
Fixed support for undefined constants in RECV_INIT
2014-03-06 00:15:56 +04:00
Dmitry Stogov
84c092f6d6
Fixed by reference parameter passing from internal functions
2014-03-05 16:17:00 +04:00
Dmitry Stogov
3733737328
Handle interned strings as non-refcounted scalars
2014-03-05 13:55:56 +04:00
Dmitry Stogov
19670c2bbc
Fixied calling object closures from internal functions
2014-03-05 01:54:21 +04:00
Dmitry Stogov
3810b4ab4a
Fixed constant expressions in array indeces handling
2014-02-27 16:41:41 +04:00
Dmitry Stogov
3696e038e5
Various fixes related to read_property(), read_dimension() and iterators refactoring
2014-02-27 16:07:36 +04:00
Dmitry Stogov
78fc6b3570
Fixed refcounting
2014-02-26 01:09:34 +04:00
Dmitry Stogov
77abd35b78
Fixed memory leak
2014-02-25 16:20:42 +04:00
Dmitry Stogov
639e4e1afa
Changes zend_is_callable() to use zend_string* instead of char*
2014-02-25 16:03:34 +04:00
Xinchen Hui
499b553c18
Fixed NULL pointer dereference
2014-02-25 18:14:22 +08:00
Dmitry Stogov
789eb6dfc3
Fixed create_function()
2014-02-24 16:35:55 +04:00
Dmitry Stogov
595fc4d901
More constant related fixes
2014-02-24 15:49:15 +04:00
Dmitry Stogov
abb57cc1c2
Merge branch 'refactoring2' of github.com:zend-dev/php into refactoring2
2014-02-24 15:25:43 +04:00
Dmitry Stogov
f4c2810ab4
fixed support for constant expressions
2014-02-24 15:25:24 +04:00
Xinchen Hui
479b82c0d4
Fixed invalid write in vsprintf tests
2014-02-24 17:26:09 +08:00
Dmitry Stogov
23c9d3eb01
Fixed zend_rebuild_symbol_table() using IS_INDIRECT
2014-02-24 11:31:46 +04:00
Dmitry Stogov
008a42e7c8
Fixed error messages
2014-02-21 20:53:09 +04:00
Dmitry Stogov
52bd62eca8
Fixed assertions
2014-02-21 20:35:40 +04:00
Xinchen Hui
76c28f878a
Fixed missed REFCOUNTED checking
2014-02-21 22:39:27 +08:00
Dmitry Stogov
8bae1daa0c
Use better data structures (incomplete)
2014-02-19 14:35:28 +04:00
Dmitry Stogov
9067dbcd0d
Use better data structures (incomplete)
2014-02-19 12:03:01 +04:00
Dmitry Stogov
557994d50d
Use better data structures (incomplete)
2014-02-19 01:12:05 +04:00
Dmitry Stogov
9e6c0c6a89
Use better data structures (incomplete)
2014-02-18 17:31:27 +04:00
Dmitry Stogov
5de7115679
Use better data structures (incomplete; able to run bench.php)
2014-02-18 16:27:38 +04:00
Dmitry Stogov
a0fe8e5a91
Use better data structures (incomplete)
2014-02-18 01:41:23 +04:00
Dmitry Stogov
2b9b9afa7a
Use better data structures (incomplete)
2014-02-17 17:59:18 +04:00
Dmitry Stogov
17bf59f895
Use better data structures (incomplete)
2014-02-14 17:48:45 +04:00
Dmitry Stogov
686a078258
Use better data structures (incomplete)
2014-02-14 14:55:48 +04:00
Dmitry Stogov
be82a07776
Use better data structures (incomplete)
2014-02-12 18:08:11 +04:00
Dmitry Stogov
4e66abad54
Use better data structures (incomplete) - refactored return_value handling
2014-02-12 14:29:51 +04:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00
Xinchen Hui
0f53e37494
Merge branch 'PHP-5.6'
2014-01-03 11:09:07 +08:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Xinchen Hui
47c9027772
Bump year
2014-01-03 11:06:16 +08:00
Xinchen Hui
c0d060f5c0
Bump year
2014-01-03 11:04:26 +08:00
Kalle Sommer Nielsen
d14670ccdb
Eliminate another TSRMLS_FETCH() in i_zend_is_true()
...
# Affected extensions have all been updated, ext/opcache and ext/zip
# both have macros for cross version compatibility
2013-12-18 07:25:05 +01:00
Dmitry Stogov
5a87b7ff39
Fixed bug #66252 (Problems in AST evaluation invalidating valid parent:: reference. Constant expessions have to be evaluated in context of defining class).
2013-12-10 14:19:17 +04:00
Dmitry Stogov
2cb0e1e4c1
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
Added validation of class names in the autoload process
Conflicts:
NEWS
2013-11-29 12:55:11 +04:00
Dmitry Stogov
967abd6153
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Added validation of class names in the autoload process
2013-11-29 12:54:22 +04:00
Dmitry Stogov
2d31eadbbf
Added validation of class names in the autoload process
2013-11-29 12:53:02 +04:00
Dmitry Stogov
9647c61dc1
Constant expressions refactoring
2013-11-06 22:21:07 +04:00
Bob Weinand
b45043a1b7
converted several switches to ifs and made more opcache friendly
2013-11-01 16:16:58 +01:00
Bob Weinand
b56c1ca95e
Fatal error about self referencing constants fixed
2013-10-31 19:05:29 +01:00
Bob Weinand
466c5dd1fe
Fixed mem leaks, added tests and ternary operator
2013-10-31 18:21:37 +01:00
Bob Weinand
2361745806
Working commit for constant scalar expressions (with constants).
...
Tests will follow.
2013-10-31 08:57:12 +01:00
Nikita Popov
bdfa03d79d
Save a TSRMLS_FETCH() for zval_ptr_dtor in executor
...
This gives me about 9% improvement on Zend/bench.php for a zts build.
2013-09-14 23:02:26 +02:00
Nikita Popov
96b1c2145c
Provide more macros for handling of interned strings
...
* str_erealloc behaves like erealloc for normal strings, but will
use emalloc+memcpy for interned strings.
* str_estrndup behaves like estrndup for normal strings, but will
not copy interned strings.
* str_strndup behaves like zend_strndup for normal strings, but
will not copy interned strings.
* str_efree_rel behaves like efree_rel for normal strings, but
will not free interned strings.
* str_hash will return INTERNED_HASH for interned strings and
compute it using zend_hash_func for normal strings.
2013-09-13 19:42:10 +02:00
Nikita Popov
0856714576
Always pass return_value_ptr to internal functions
...
Previous some places passed return_value_ptr only if the function
returned by reference. Now return_value_ptr is always set, even
for functions returning by-value.
This allows you to return zvals without copying their contents. For
this purpose two new macros RETVAL_ZVAL_FAST and RETURN_ZVAL_FAST
are added:
RETVAL_ZVAL_FAST(zv); /* Analog to RETVAL_ZVAL(zv, 1, 0) */
RETURN_ZVAL_FAST(zv); /* Analog to RETURN_ZVAL(zv, 1, 0) */
These macros behave similarly to the non-FAST versions with
copy=1 and dtor=0, with the difference that the FAST versions
will try return the zval without copying by utilizing return_value_ptr.
2013-08-31 13:16:41 +02:00
Stanislav Malyshev
c793a65690
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
non living code related typo fixes
Conflicts:
Zend/zend_compile.c
2013-08-04 16:06:24 -07:00
Veres Lajos
8d86597d73
non living code related typo fixes
2013-08-04 16:05:36 -07:00
Xinchen Hui
e89537f2a3
Merge branch 'PHP-5.4' into PHP-5.5
2013-06-05 17:30:09 +08:00
Xinchen Hui
f597f5561e
Merge branch 'PHP-5.3' into PHP-5.4
2013-06-05 17:26:10 +08:00
Xinchen Hui
3c87945c95
Fixed bug #64960 (Segfault in gc_zval_possible_root)
2013-06-05 17:25:00 +08:00
Dmitry Stogov
6e8aa09696
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fixed bug #64529 (Ran out of opcode space)
Conflicts:
NEWS
Zend/zend_execute_API.c
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
2013-03-28 00:08:11 +04:00
Dmitry Stogov
85e5e60777
Fixed bug #64529 (Ran out of opcode space)
2013-03-28 00:03:40 +04:00
Xinchen Hui
a666285bc2
Happy New Year
2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009
Happy New Year
2013-01-01 16:28:54 +08:00
Xinchen Hui
831fbcf385
Happy New Year
2013-01-01 16:23:31 +08:00
Dmitry Stogov
438cd86378
Removed unnecessary checks
2012-12-13 17:29:30 +04:00
Dmitry Stogov
ff1e1d7a8e
Removed redundand checks from release build
2012-12-13 14:46:44 +04:00
Dmitry Stogov
7651d64556
Optimized access to temporary and compiled VM variables
2012-12-04 10:14:39 +04:00
Dmitry Stogov
70f83f35d0
. The VM stacks for passing function arguments and syntaticaly nested calls were merged into a single stack. The stack size needed for op_array execution is calculated at compile time and preallocated at once. As result all the stack push operatins don't require checks for stack overflow any more.
...
. Generators implementation was improved using the new VM stack. Now it's a bit more clear and faster.
2012-11-30 13:39:23 +04:00
Stanislav Malyshev
531e2533dd
Use zend_execute_internal always to call internal functions
2012-10-05 08:14:20 +02:00
Stanislav Malyshev
bda93f5405
use zend_execute_internal
2012-10-04 22:43:13 -07:00
Nikita Popov
526db7db14
Replace code with zend_clean_and_cache_symbol_table() call
...
I replaced other instances of this code with the function call, but missed
this one.
2012-09-16 21:54:48 +02:00
Nikita Popov
c9709bfbd7
Remove asterix modifier (*) for generators
...
Generators are now automatically detected by the presence of a `yield`
expression in their body.
This removes the ZEND_SUSPEND_AND_RETURN_GENERATOR opcode. Instead
additional checks for ZEND_ACC_GENERATOR are added to the fcall_common
helper and zend_call_function.
This also adds a new function zend_generator_create_zval, which handles
the actual creation of the generator zval from an op array.
I feel like I should deglobalize the zend_create_execute_data_from_op_array
code a bit. It currently changes EG(current_execute_data) and
EG(opline_ptr) which is somewhat confusing (given the name).
2012-07-20 16:09:06 +02:00
Xinchen Hui
eac33b454c
Typo when merging from trunk
2012-03-11 15:31:19 +00:00
Xinchen Hui
a38ffd5705
Fixed bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes)
2012-03-11 15:28:31 +00:00
Xinchen Hui
b7ae5e0d86
Fixed bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes)
2012-03-11 15:28:31 +00:00
Xinchen Hui
7536bf963d
Fixed bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes)
2012-03-11 15:28:31 +00:00
Xinchen Hui
5f99d789b5
MFH: Fixed bug #60978 (exit code incorrect)
2012-03-02 03:25:41 +00:00
Xinchen Hui
27df8b6ff0
Revert -r319102 and -r322922 in 5.4 branch since they introduce #60978
...
Fixed #60978 in trunk without reverting previous fix
#see http://news.php.net/php.internals/57789
2012-02-08 03:03:05 +00:00
Xinchen Hui
ff63c09e6f
Revert -r319102 and -r322922 in 5.4 branch since they introduce #60978
...
Fixed #60978 in trunk without reverting previous fix
#see http://news.php.net/php.internals/57789
2012-02-08 03:03:05 +00:00
Derick Rethans
33863b2cf8
- Reinstated correct return values after David's fix for #60218 .
2012-01-29 15:25:40 +00:00
Derick Rethans
2c1285a573
- Reinstated correct return values after David's fix for #60218 .
2012-01-29 15:25:40 +00:00
Dmitry Stogov
b515bfbdfb
Improved traits implementation. Now to support __CLASS__ constant in traits php doesn't have to copy the complete compiled method, but can reuse the same code. The resolution of __CLASS__ constants in methods defined in traits are delayed till run-time. This approach also made possible to use __CLASS__ constant as default value for traits properties and method arguments.
2012-01-17 08:09:13 +00:00
Dmitry Stogov
032d140fd6
Improved traits implementation. Now to support __CLASS__ constant in traits php doesn't have to copy the complete compiled method, but can reuse the same code. The resolution of __CLASS__ constants in methods defined in traits are delayed till run-time. This approach also made possible to use __CLASS__ constant as default value for traits properties and method arguments.
2012-01-17 08:09:13 +00:00
Felipe Pena
e4ca0ed09f
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
8775a37559
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281
- Year++
2012-01-01 13:15:04 +00:00
Dmitry Stogov
f7278c161f
Fixed bug #60138 (GC crash with referenced array in RecursiveArrayIterator)
2011-11-18 12:43:53 +00:00
David Soria Parra
ce06b4397c
Fix #60218 (instantiating unknown class leads to memory leak in cli)
2011-11-12 17:05:08 +00:00
David Soria Parra
c4d5231a36
Fix #60218 (instantiating unknown class leads to memory leak in cli)
2011-11-12 17:05:08 +00:00
Arnaud Le Blanc
ea5a61e39b
Improved ternary operator performance when returning arrays
2011-10-18 19:42:42 +00:00
Arnaud Le Blanc
07b7ba8b40
Improved ternary operator performance when returning arrays
2011-10-18 19:42:42 +00:00
Dmitry Stogov
4a25a7740d
Fixed ZE specific compile warnings (Bug #55629 )
2011-09-13 13:29:35 +00:00
Dmitry Stogov
e43ff1359e
Fixed ZE specific compile warnings (Bug #55629 )
2011-09-13 13:29:35 +00:00
Pierre Joye
d566f0c88e
- fix build when no zend signal support
2011-09-08 09:17:21 +00:00
Pierre Joye
f20e705760
- fix build when no zend signal support
2011-09-08 09:17:21 +00:00
Rasmus Lerdorf
ca2234d18c
Make timeouts work again for shutdown functions.
...
Fixes the faling lang/045 test
2011-09-07 18:48:17 +00:00
Rasmus Lerdorf
2af36bd041
Make timeouts work again for shutdown functions.
...
Fixes the faling lang/045 test
2011-09-07 18:48:17 +00:00
Rasmus Lerdorf
80931fee0c
Since we have fci_cache = &fci_cache_local inside that block
...
and fci_cache is then later used outside the block, fci_cache_local
can't be block-scoped here
2011-08-07 00:50:46 +00:00
Rasmus Lerdorf
c44c0490d5
Since we have fci_cache = &fci_cache_local inside that block
...
and fci_cache is then later used outside the block, fci_cache_local
can't be block-scoped here
2011-08-07 00:50:46 +00:00
Ilia Alshanetsky
34d93f0c06
Zend Signal Handling
2011-06-22 14:23:21 +00:00
Ilia Alshanetsky
939875133a
Zend Signal Handling (see RFC: https://wiki.php.net/rfc/zendsignals )
...
This needs to go into 5.4 as well, but will wait for Pierre to review win32 situation
# Patch by Lucas Nealan, Arnaud Le Blanc, Brian Shire & Ilia Alshanetsky
2011-06-02 21:16:50 +00:00
Dmitry Stogov
5dcdf5c467
Fixed bug #54367 (Use of closure causes problem in ArrayAccess)
2011-05-11 06:58:33 +00:00
Dmitry Stogov
92e5b10c41
Fixed bug #54268 (Double free when destroy_zend_class fails)
2011-04-15 12:43:20 +00:00
Dmitry Stogov
50ce16deff
Fixed bug #54268 (Double free when destroy_zend_class fails)
2011-04-15 12:43:20 +00:00