#
5c8f8f8f |
| 29-Dec-2017 |
Dmitry Stogov |
Use ZEND_FAST_CONCAT instead of ZEND_CONCAT for CONST operands.
|
#
f0104233 |
| 29-Dec-2017 |
Dmitry Stogov |
Use IS_EQUAL instead of CASE when first operand is CV or CONST. Removed CASE handlers that duplicated IS_EQUAL.
|
#
b6131364 |
| 19-Dec-2017 |
Nikita Popov |
Return false for instanceof on literal
|
#
6d4de4cf |
| 06-Oct-2017 |
David Walker |
Implement list() reference assignments Support list() reference assignments of the form: list(&$a, list(&$b, $c)) = $d; RFC: https://wiki.php.net/rfc/list_reference_ass
Implement list() reference assignments Support list() reference assignments of the form: list(&$a, list(&$b, $c)) = $d; RFC: https://wiki.php.net/rfc/list_reference_assignment
show more ...
|
#
6a9d2b21 |
| 07-Dec-2017 |
Dmitry Stogov |
Cleanup type conversion
|
#
74c84cd7 |
| 04-Dec-2017 |
Dmitry Stogov |
Use zend_string_equal*() API for zend_string equality check instead of direct memcmp() usage.
|
#
cc12acef |
| 04-Dec-2017 |
Dmitry Stogov |
Use cheaper functions
|
#
24d5adbd |
| 01-Dec-2017 |
Dmitry Stogov |
Set trailing zero
|
#
f98721b4 |
| 29-Nov-2017 |
Dmitry Stogov |
Intern auto global name strings in first place
|
#
8795893f |
| 25-Nov-2017 |
Nikita Popov |
Make sure string property/class const values are interned This was done for user-definde class constant values, however this is also important for properties and internal classes.
|
#
33b09447 |
| 23-Nov-2017 |
Dmitry Stogov |
TYPE_CHECK instruction changed. Now it keeps in extended_value a type mask. This makes check for "boolean" cheaper and allows check combination e.g. (is_string($a) || is_null($a))
|
#
9fbb0198 |
| 16-Nov-2017 |
Nikita Popov |
Move adjust_for_fetch_type directly after emission And drop the distinction between compile_X and compile_X_common. This avoids WTF moments like compile_simple_var_no_cv completely i
Move adjust_for_fetch_type directly after emission And drop the distinction between compile_X and compile_X_common. This avoids WTF moments like compile_simple_var_no_cv completely ignoring the BP_VAR type passed to it...
show more ...
|
#
d9da1666 |
| 16-Nov-2017 |
Nikita Popov |
Minor fetch type adjustment cleanup No need to call adjust_fetch_type on FETCH_THIS, just to special case it in adjust_fetch_type...
|
#
7fba7209 |
| 03-Nov-2017 |
Dmitry Stogov |
Fixed memory leak (Zend/tests/list_003.phpt)
|
#
990d8092 |
| 01-Nov-2017 |
Dmitry Stogov |
Reverted incomplete fix and too strict asserts.
|
#
02a05146 |
| 01-Nov-2017 |
Dmitry Stogov |
Fixed string interning during constants substitution
|
#
a8a17a72 |
| 01-Nov-2017 |
Xinchen Hui |
RC manipulation cleanup
|
#
d481d495 |
| 31-Oct-2017 |
Dmitry Stogov |
Fixed few inconsistent ZVALs in AST produced by compiler (REFCOUNTED and INTERNED strings)
|
#
5dbdc382 |
| 31-Oct-2017 |
Dmitry Stogov |
Intern file names and class constants in first place (they may be interned later during constant substitution)
|
#
fcc08ce1 |
| 30-Oct-2017 |
Dmitry Stogov |
Prevent reference-counting on persistent zvals (internal constants, default properties and constants of internal classes). New macro ZVAL_COPY_OR_DUP() is used perform duplication, if necessary.
Prevent reference-counting on persistent zvals (internal constants, default properties and constants of internal classes). New macro ZVAL_COPY_OR_DUP() is used perform duplication, if necessary. This should eliminate related race-coditions in ZTS build and prevent reference-counting bugs after unclean shutdown.
show more ...
|
#
49ea143b |
| 26-Oct-2017 |
Dmitry Stogov |
Encapsulate reference-counting primitives. Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead. Added mactros to validate reference-count
Encapsulate reference-counting primitives. Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead. Added mactros to validate reference-counting (disabled for now). These macros are going to be used to eliminate race-condintions during reference-counting on data shared between threads.
show more ...
|
#
9cf87aa1 |
| 24-Oct-2017 |
Dmitry Stogov |
Avoid HashTable allocations for empty arrays (using zend_empty_array).
|
#
edc7c8cc |
| 12-Oct-2017 |
Dmitry Stogov |
PHP must not create circular arrays when element is assigned by value.
|
#
ef5ea487 |
| 10-Oct-2017 |
Dmitry Stogov |
Always use IS_CONSTANT_AST (IS_CONSTANT is removed).
|
#
39ded1d5 |
| 09-Oct-2017 |
Dmitry Stogov |
Changed zend_ast_ref structure to use only one allocation, removing dichotomy between heap/arena ASTs.
|