| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | | |
PHP does not allow static calls to non-static internal methods
anyway, so these checks are redundant.
|
| | |
| | |
| | |
| | |
| | | |
And cleanup the implementation to perform a normal by-value
assignment.
|
| | |
| | |
| | |
| | | |
For symmetry with zend_read_property_ex.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was broken by 6dc0cd868d972885249ce40f2d64097cd0ba6c1f, which
moved static property initialization outside of constant updating.
Instead of replicating logic, use zend_get_static_property() API
in the reflection implementation, just like we're using
read_property for non-static proprety access.
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
* PHP-7.2:
Update NEWS
Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence)
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.1:
Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence)
|
| | |
| | |
| | |
| | | |
error handler). (Laruence)
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Avoid redundant unmangles and string copies, where possible.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Perform HT lookups using a zend_string. Don't copy the name for
the "name" property. We can always use the original name directly,
as properties case case-sensitive, so the original name should
always match the unmangled name of the fetched property info.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In PHP static properties are shared between inheriting classes,
unless they are explicitly overwritten. However, because this
functionality was implemented using reference, it was possible
to break the implementation by reassigning the static property
reference.
This is fixed by switching the implementation from using references
to using INDIRECTs, which cannot be affected by userland code.
|
| | |
| | |
| | |
| | | |
fields instead).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch normalizes the Reflection extension version in the phpinfo
output. It removes the Git attributes ident blob object name from Git
repository as an extension version.
Also the table output is synced with other extensions (i.e. enabled
in a row instead of table header).
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
where we sure about string persistence.
|
| | |
| | |
| | |
| | | |
is known to be a temporary allocated zend_string.
|
| | |
| | |
| | |
| | |
| | |
| | | |
doesn't have to be initialized.
It's used only as a result of zend_is_callable() in forward_static_call and spl_autoload.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
zend_get_type_by_name() now produces the correct value by itself,
so we no longer need these workarounds.
|
| | |
| | |
| | |
| | | |
object through address calculation, instead of op_array->prototype reuse. (reapply 781e1573afdc7c336b3577ceabc9c65cafea17e8, now it should be OK).
|
| | |
| | |
| | |
| | |
| | |
| | | |
closure object through address calculation, instead of op_array->prototype reuse." (this patch is incomplete or wrong)
This reverts commit 781e1573afdc7c336b3577ceabc9c65cafea17e8.
|
| | |
| | |
| | |
| | | |
object through address calculation, instead of op_array->prototype reuse.
|
| | |
| | |
| | |
| | | |
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
|
| | | |
|
| | |
| | |
| | |
| | | |
initialized if zend_fcall_info_cache.function_handler is set).
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Allow zend_string_tolower_ex() to create parsistent strings
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using ecalloc() to create objects is expensive, because the
dynamic-size memset() is unreasonably slow. Make sure we only
zero the main object structure with known size, as the properties
are intialized separately anyway.
Technically we do not need to zero the embedded zend_object
structure either, but as long as the memset argument is constant,
a couple more bytes don't really matter.
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.2:
Revert BC break caused by fixing bug #74035
|
| | |
| | |
| | |
| | | |
This reverts commit 9ffc6ca62f53431a4b32b30cdda8180142f47cdb.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| |/
| |
| |
| |
| | |
* PHP-7.1:
Update NEWS
Fixed bug #74949 (null pointer dereference in _function_string)
|
| |\
| | |
| | |
| | |
| | | |
* PHP-7.0:
Fixed bug #74949 (null pointer dereference in _function_string)
|