Commit graph

603 commits

Author SHA1 Message Date
Dmitry Stogov
b7938ab1bd Refactored GC (incomplete) 2014-03-19 17:00:28 +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
b8089696c4 Fixed support for references 2014-03-13 22:56:18 +04:00
Dmitry Stogov
c1236214fe REFERENCE is always REFCOUNTED 2014-03-13 22:07:37 +04:00
Dmitry Stogov
25d55d16fc Fixed foreach (now we store HashPointer in additional IS_TMP_VAR slot(s)) 2014-03-13 17:01:28 +04:00
Dmitry Stogov
e0dd8a4f4b Fixed IS_INDIRECT handling when assign array element by reference.
This might cause passing invalid pointer if the array could be resized before IS_INDIRECT usage.
Now we use IS_REFERENCE instead of IS_INDIRECT.
The following test crashed before:
<?php $a = array(0,1,2,3,4,5,6,7); $a[8] = &$a[7]; ?>
2014-03-13 00:30:53 +04:00
Dmitry Stogov
72f738c368 Fixed reference afto conversion 2014-03-12 12:07:03 +04:00
Dmitry Stogov
8863df3653 Fixed reference handling 2014-03-11 14:49:25 +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
6c557d867c Fixed ref hanlding in ADD_ARRAY_ELEMENT (by ext/standard/tests/array/bug30074.phpt) 2014-03-09 19:45:45 +08:00
Dmitry Stogov
e9855b1992 Fixed pass by reference special cases 2014-03-07 16:45:32 +04:00
Dmitry Stogov
03c7ab5a95 Fixed return by reference 2014-03-07 12:25:55 +04:00
Dmitry Stogov
70260d133e Fixed memory leak 2014-03-07 00:26:21 +04:00
Dmitry Stogov
9ed631a4d0 Fixed ArrayAccess behavior 2014-03-06 17:59:17 +04:00
Dmitry Stogov
60eac8b860 Fixed string offset handling 2014-03-06 16:00:38 +04:00
Xinchen Hui
b212461297 IS_REFERENCE is unfrequent 2014-03-06 18:23:16 +08:00
Dmitry Stogov
076da5a372 Fixed IS_REFERENCE support 2014-03-06 13:59:15 +04:00
Dmitry Stogov
9727b47418 Fixed ArrayAccess handling 2014-03-06 13:11:23 +04:00
Dmitry Stogov
018be97c0d Fixed support for undefined constants in RECV_INIT 2014-03-06 00:15:56 +04:00
Dmitry Stogov
712dd6c68e Fixed "foreach ($reference as $val)" 2014-03-05 23:22:50 +04:00
Dmitry Stogov
c5af715f2b Fixed hidden property handling 2014-03-05 17:57:21 +04:00
Dmitry Stogov
28aacbfe15 It's not possible to create reference to string-offset 2014-03-05 17:32:23 +04:00
Dmitry Stogov
b763baff97 Temporary fix for lazy symbol table initialization called from zemd_error(), that converts CV variables into IS_INDIRECT 2014-03-05 15:33:31 +04:00
Dmitry Stogov
3733737328 Handle interned strings as non-refcounted scalars 2014-03-05 13:55:56 +04:00
Dmitry Stogov
6b8c46dc76 Fixed passing by reference 2014-03-04 23:54:05 +04:00
Dmitry Stogov
8b82b3e735 Fixed return of references by value 2014-03-04 17:38:19 +04:00
Dmitry Stogov
38151a38ec Fixed dereferencing of value returned from function (foo()[1] = ...) 2014-03-04 17:23:23 +04:00
Dmitry Stogov
dbb6837627 EG(error_zval) must be passed as IS_INDIRECT 2014-03-04 16:32:40 +04:00
Dmitry Stogov
1be0df935f Fixed destruction of VM handler operands (FREE_OP1 and family) 2014-03-04 12:27:50 +04:00
Dmitry Stogov
53128644f3 Redesigned SRR_OFFSET handling 2014-02-28 17:39:08 +04:00
Dmitry Stogov
a18a95f70a Fixed support for references 2014-02-28 15:58:11 +04:00
Dmitry Stogov
17a009ddce Fixed isset($str[$double]) 2014-02-28 13:04:46 +04:00
Dmitry Stogov
3ed445f749 Fixed IS_REFERENCE support 2014-02-28 12:54:38 +04:00
Dmitry Stogov
6f578b57bc Fixed FETCH_OBJ_UNSET, FETCH_DIM_UNSET 2014-02-28 00:09:43 +04:00
Dmitry Stogov
3960b0acc4 Temporarry commented 2014-02-27 23:50:43 +04:00
Dmitry Stogov
10fd93343e Fixed reference counting 2014-02-27 23:25:41 +04:00
Dmitry Stogov
e43d0d1717 fixed refcounting in "$a->magic_prop += 2" 2014-02-27 23:18:37 +04:00
Dmitry Stogov
1c3ba95bb5 Refactored read_property() and read_dimension() handlers 2014-02-27 15:40:13 +04:00
Dmitry Stogov
ee3254a2e8 Temporary refcounting fix 2014-02-27 13:06:11 +04:00
Dmitry Stogov
1493b30501 Temporarry refcounting fix 2014-02-27 12:53:40 +04:00
Dmitry Stogov
054917619a Fixed empty() 2014-02-27 12:48:53 +04:00
Dmitry Stogov
60eadc80b8 Fixed return anf yield by reference 2014-02-26 18:07:16 +04:00
Dmitry Stogov
0bde8c9857 Fixed argument unpacking 2014-02-26 16:17:28 +04:00
Dmitry Stogov
6829be6c26 ifixed foreach() by reference 2014-02-26 15:38:58 +04:00
Dmitry Stogov
ff1778a89f Temorary fix for implicit IS_CV conversion into IS_INDIRECTR 2014-02-26 15:17:08 +04:00
Dmitry Stogov
495551aa8c Fixed iterators API. zend_iterator_init() has to be used in each get_iterator() callback. 2014-02-26 15:01:08 +04:00
Dmitry Stogov
d062fb3344 Generator related fixes 2014-02-26 13:58:59 +04:00