History log of /PHP-7.4/Zend/zend_compile.c (Results 201 – 225 of 2214)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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.


12345678910>>...89