History log of /php-src/Zend/zend_compile.h (Results 126 – 150 of 1017)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 36452922 19-Jun-2019 Nikita Popov

Merge branch 'PHP-7.4'


# 3d429869 19-Jun-2019 Nikita Popov

Fix shift UB in constants

We were shifting out the top bit of a signed integer.

# 61f78de4 26-May-2019 twosee

Constify some char* arguments or return values of ZEND_API

Closes GH-4247.

# e4fae9c0 11-Jun-2019 Nikita Popov

Merge branch 'PHP-7.4'


# 8f8fcbbd 27-May-2019 Nikita Popov

Support full variance if autoloading is used

Keep track of delayed variance obligations and check them after
linking a class is otherwise finished. Obligations may either be
unresolv

Support full variance if autoloading is used

Keep track of delayed variance obligations and check them after
linking a class is otherwise finished. Obligations may either be
unresolved method compatibility (because the necessecary classes
aren't available yet) or open parent/interface dependencies. The
latter occur because we allow the use of not fully linked classes
as parents/interfaces now.

An important aspect of the implementation is we do not require
classes involved in variance checks to be fully linked in order for
the class to be fully linked. Because the involved types do have to
exist in the class table (as partially linked classes) and we do
check these for correct variance, we have the guarantee that either
those classes will successfully link lateron or generate an error,
but there is no way to actually use them until that point and as
such no possibility of violating the variance contract. This is
important because it ensures that a class declaration always either
errors or will produce an immediately usable class afterwards --
there are no cases where the finalization of the class declaration
has to be delayed until a later time, as earlier variants of this
patch did.

Because variance checks deal with classes in various stages of
linking, we need to use a special instanceof implementation that
supports this, and also introduce finer-grained flags that tell us
which parts have been linked already and which haven't.

Class autoloading for variance checks is delayed into a separate
stage after the class is otherwise linked and before delayed
variance obligations are processed. This separation is needed to
handle cases like A extends B extends C, where B is the autoload
root, but C is required to check variance. This could end up
loading C while the class structure of B is in an inconsistent
state.

show more ...

# 89b2d886 24-May-2019 Nikita Popov

Register class before fetching parent

We want the class declaration to be available while compiling the
parent class.

# b4a3b49e 31-May-2019 Dmitry Stogov

Merge branch 'PHP-7.4'

* PHP-7.4:
Better hot/cold code splitting


# 1df9f238 31-May-2019 Dmitry Stogov

Better hot/cold code splitting

# c3ee12e7 23-May-2019 Nikita Popov

Merge branch 'PHP-7.4'


# 64918c77 22-May-2019 Nikita Popov

Forbid use of not fully linked classes

# 3518c4df 20-May-2019 Joe Watkins

Merge branch 'PHP-7.4'

* PHP-7.4:
Revert "Rename *.l files to *.re"


# e11233dc 20-May-2019 Joe Watkins

Revert "Rename *.l files to *.re"

This reverts commit 969047749d33bb88a0573aa91a57e2070335111a.

# 0a7d71b5 17-May-2019 Peter Kokot

Merge branch 'PHP-7.4'

* PHP-7.4:
Rename *.l files to *.re


# 96904774 17-May-2019 Peter Kokot

Rename *.l files to *.re

This syncs PHP lexer files to all use *.re extension. The *.re files are
processed with the RE2C tool.

# cbc90b1f 16-May-2019 Bob Weinand

Merge branch 'deprecate_concat_add_sub' into PHP-8.4


# 139da4b2 15-May-2019 Dmitry Stogov

Merge branch 'PHP-7.4'

* PHP-7.4:
Removed ability to compile PHP without EX(run_time_cache). ZEND_EX_USE_RUN_TIME_CACHE was always defined.


# f9e80158 15-May-2019 Dmitry Stogov

Removed ability to compile PHP without EX(run_time_cache). ZEND_EX_USE_RUN_TIME_CACHE was always defined.

# 3619cc78 07-May-2019 Nikita Popov

Merge branch 'PHP-7.4'


# 09ea55cb 09-Apr-2019 Nikita Popov

Deprecate left-associative ternary

Deprecate nesting ternary operators without explicit parentheses.

RFC: https://wiki.php.net/rfc/ternary_associativity

# 79f41944 02-May-2019 Nikita Popov

Merge branch 'PHP-7.4'


# f3e5bbe6 02-May-2019 Nikita Popov

Implement arrow functions

Per RFC: https://wiki.php.net/rfc/arrow_functions_v2

Co-authored-by: Levi Morrison <levim@php.net>
Co-authored-by: Bob Weinand <bobwei9@hotmail.com>

# 3d2a6d9b 29-Apr-2019 Dmitry Stogov

Merge branch 'PHP-7.4'

* PHP-7.4:
Also, use ZEND_ACC_PRELOADED for classes


# 8cdd2158 29-Apr-2019 Dmitry Stogov

Also, use ZEND_ACC_PRELOADED for classes

# e311f2a3 22-Apr-2019 Nikita Popov

Fix flag value clash affecting defined() function

# 55cc2804 11-Apr-2019 Dmitry Stogov

Backported call frame initialization improvement

12345678910>>...41