History log of /PHP-7.3/Zend/zend_API.c
Revision Date Author Comments
# e9481888 27-Aug-2020 twosee <twose@qq.com>

Improve error_handing replacement functions

We explicitly skip calls to user_error_handler in EH_THROW mode

Closes GH-6050.


# bb30fe9e 25-Nov-2019 Dmitry Stogov <dmitry@zend.com>

Fixed bug #78868 (Calling __autoload() with incorrect EG(fake_scope) value)


# 7821cc3b 29-May-2019 Joe Watkins <krakjoe@php.net>

disabled functions must not have return type


# e9aa0337 17-Apr-2019 Nikita Popov <nikita.ppv@gmail.com>

Fix more dl() interned string assertions


# ac12cc85 17-Apr-2019 Dmitry Stogov <dmitry@zend.com>

Fixed dl() function. It failed in DEBUG build without opcache because of assert during string interning.


# 73f222d7 24-Jan-2019 Dmitry Stogov <dmitry@zend.com>

Fixed bug #77494 (Disabling class causes segfault on member access)


# 9afce019 01-Nov-2018 Zeev Suraski <zeev@php.net>

Future-proof email addresses


# 902d39a3 13-Oct-2018 Peter Kokot <peterkokot@gmail.com>

Trim trailing whitespace in source code files


# 7f6387b5 13-Oct-2018 Peter Kokot <peterkokot@gmail.com>

Trim trailing whitespace in source code files


# 2527a0fc 21-Aug-2018 Massimiliano Braglia <massimiliano.braglia@fazland.com>

Fixed bug #75797

Fix zend_register_class_alias_ex() to use non-persistent strings
for (non-persistent) userland classes.


# 78d823d9 14-Aug-2018 Xinchen Hui <laruence@gmail.com>

Fixed zend_read_static_property


# b1d2a89a 31-Jul-2018 Anatol Belski <ab@php.net>

Fix length to copy


# 8d3f8ca1 03-Jul-2018 Peter Kokot <peterkokot@gmail.com>

Remove unused Git attributes ident

The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.


# ebd1f5af 23-Jul-2018 Dmitry Stogov <dmitry@zend.com>

API cleanup.
Removed useless filename and lineno arguments, used in DEBUG build.
The patch doesn't break source compatibility of public API (only binary compatibility).


# 41db5f73 06-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Fixed reference-counting in zend_parse_arg_str_weak()


# 8361c0a9 05-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Avoid useless checks in object_init()


# 4a475a49 04-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized destructors.
zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places.
Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.


# 43aca311 02-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Avoid string comparisons for magic methods (all magic methods start with "__")


# 7ac06d66 29-Jun-2018 Nikita Popov <nikita.ppv@gmail.com>

Add zend_update_static_property_ex API

And cleanup the implementation to perform a normal by-value
assignment.


# 813b6fc9 29-Jun-2018 Nikita Popov <nikita.ppv@gmail.com>

Add zend_read_static_property_ex API

For symmetry with zend_read_property_ex.


# 6e77a60a 29-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Removed INIT_OVERLOADED_CLASS... macros


# 6dc0cd86 26-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Fixed ZTS race condition (zend_class_entry->ce_flags of internal classes must not be modified, because internal class enties are shared between threads)


# 7f67513c 25-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Lazy function copying from op_cache SHM into process memory


# c8f355b1 25-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Micro-optimization


# 2543e61a 21-Jun-2018 Nikita Popov <nikita.ppv@gmail.com>

Fixed bug #76509

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.


# 0b90cf85 01-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Removed "dead" code (zend_hash_update() never fails)


# d90c6f24 29-May-2018 Dmitry Stogov <dmitry@zend.com>

Removed useless zval_ptr_dtor()


# 5eb1f92f 28-May-2018 Dmitry Stogov <dmitry@zend.com>

Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.


# 5681f652 14-May-2018 xKhorasan <xKhorasan@gmail.com>

Fixed bug #76337


# 524f5245 08-May-2018 Dmitry Stogov <dmitry@zend.com>

Avoid useless checks, using zend_string_efree(), in cases where the string is known to be a temporary allocated zend_string.


# fdb347a7 03-May-2018 Dmitry Stogov <dmitry@zend.com>

zend_is_callable() improvement


# 98ef183e 26-Apr-2018 shiguangqi2008@gmail.com <shiguangqi2008@gmail.com>

Fix memory leak in zend_disable_class()


# d0ee2a82 19-Jan-2018 Gabriel Caruso <carusogabriel34@gmail.com>

Add is_countable function

RFC: https://wiki.php.net/rfc/is-countable


# 7e329a82 16-Feb-2018 Dmitry Stogov <dmitry@zend.com>

Improved ZPP to reduce amount of generated code.


# fef879a2 04-Feb-2018 Gabriel Caruso <carusogabriel34@gmail.com>

Use bool instead of boolean while throwing a type error

PHP requires boolean typehints to be written "bool" and disallows
"boolean" as an alias. This changes the error messages to match
the actual type name and avoids confusing messages like "must be
of type boolean, boolean given".

This a followup to ce1d69a1f6dcf15d43029301059c25e5bc09a577, which
implements the same change for integer->int.


# ce1d69a1 04-Feb-2018 Gabriel Caruso <carusogabriel34@gmail.com>

Use int instead of integer in type errors

PHP requires integer typehints to be written "int" and does not
allow "integer" as an alias. This changes type error messages to
match the actual type name and avoids confusing messages like
"must be of the type integer, integer given".


# 5c77bac9 16-Jan-2018 Dmitry Stogov <dmitry@zend.com>

A cheaper way to reset type flags.


# c32d79b6 09-Jan-2018 Dmitry Stogov <dmitry@zend.com>

cleanup


# 64002648 31-Dec-2017 Gabriel Caruso <carusogabriel34@gmail.com>

Trailing whitespaces

Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>


# a6519d05 01-Jan-2018 Xinchen Hui <laruence@gmail.com>

year++


# 7a7ec01a 01-Jan-2018 Xinchen Hui <laruence@gmail.com>

year++


# ccd4716e 01-Jan-2018 Xinchen Hui <laruence@gmail.com>

year++


# d9f5ea69 27-Dec-2017 Dmitry Stogov <dmitry@zend.com>

zend_fcall_info_cache.initialized is removed (zend_fcall_info_cache is initialized if zend_fcall_info_cache.function_handler is set).


# a6fcbb7c 27-Dec-2017 Dmitry Stogov <dmitry@zend.com>

Use zend_hash_find() instead of zend_hash_find_ptr() to avoid double check


# b2b2b437 25-Dec-2017 Nikita Popov <nikita.ppv@gmail.com>

Add _IS_NUMBER as cast_object() target type

convert_scalar_to_number() will now call cast_object() with an
_IS_NUMBER argument, in which case the cast handler should return
either an integer or floating point number, whichever is more
appropriate.

Previously convert_scalar_to_number() unconditionally converted
objects to integers instead.

Fixes bug #53033.
Fixes bug #54973.
Fixes bug #73108.


# 580bae4a 13-Dec-2017 Levi Morrison <levim@php.net>

Fix copy-and-paste bugs


# 6a9d2b21 07-Dec-2017 Dmitry Stogov <dmitry@zend.com>

Cleanup type conversion


# 13424816 30-Nov-2017 Dmitry Stogov <dmitry@zend.com>

Only functions of temporary modules have to be unregistered here


# 084c17fe 29-Nov-2017 Dmitry Stogov <dmitry@zend.com>

Use zend_string_tolower() where it's possible (to avoid reallocations).
Allow zend_string_tolower_ex() to create parsistent strings


# 8795893f 25-Nov-2017 Nikita Popov <nikita.ppv@gmail.com>

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.


# d56a534a 01-Nov-2017 Xinchen Hui <laruence@gmail.com>

RC manipulation cleanup 2


# cb288467 30-Oct-2017 Nikita Popov <nikita.ppv@gmail.com>

Remove zend_get_parameters(_ex) APIs

zend_get_parameters_ex() has been marked as deprecated for a long
time already. What zend_get_paramers() does is even more
questionable under PHP7. Both functions are obsoleted by the ZPP
mechanism, so I'm dropping them.


# fcc08ce1 30-Oct-2017 Dmitry Stogov <dmitry@zend.com>

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.


# 8e01026b 27-Oct-2017 Dmitry Stogov <dmitry@zend.com>

Extend zend_register_class_alias_ex() with additional argument to allow creating persistent or per-request aliases


# 272f5a17 18-Oct-2017 Dmitry Stogov <dmitry@zend.com>

Extend zend_string API to avoid reallocation in zend_string_init_interned()


# ef5ea487 10-Oct-2017 Dmitry Stogov <dmitry@zend.com>

Always use IS_CONSTANT_AST (IS_CONSTANT is removed).


# a680d701 18-Sep-2017 Nester <andrew.nester.dev@gmail.com>

Fixed #75220 - Segfault when calling is_callable on parent


# 44e0b79a 19-Sep-2017 Dmitry Stogov <dmitry@zend.com>

Refactored array creation API. array_init() and array_init_size() are converted into macros calling zend_new_array(). They are not functions anymore and don't return any values.


# 41e5f916 18-Sep-2017 Dmitry Stogov <dmitry@zend.com>

Fixed bug #74878 (Data race in ZTS builds)


# 161c378c 09-Jul-2017 Dmitry Stogov <dmitry@zend.com>

Revert "Fixed bug #74878"

This reverts commit 9069734b57a556a23f977915ee2819477c6d6720.


# 9069734b 07-Jul-2017 Nikita Popov <nikita.ppv@gmail.com>

Fixed bug #74878


# bc5811f3 04-Jul-2017 Anatol Belski <ab@php.net>

further sync for vim mode lines


# 3f4340a7 29-Jun-2017 Julien Pauli <jpauli@php.net>

Fix bug #74832, crash in extension loading


# c0be77aa 27-Jun-2017 Dmitry Stogov <dmitry@zend.com>

Removed deprecated checks.


# ee8e75aa 25-Jun-2017 Nikita Popov <nikita.ppv@gmail.com>

Extract zend_get_callable_name() API

Instead of interleaving this inside zend_is_callable(), implement
this in a separate function instead.

Also add _deref() hash APIs. I've wanted these for a while, and
this is another place where they're useful, so finally do it...


# eb6614e4 04-Jun-2017 Jakub Zelenka <bukka@php.net>

Constify str in add_assoc_string_ex and add_assoc_stringl_ex


# ece7d223 26-May-2017 Xinchen Hui <laruence@gmail.com>

Correct the location


# 5269c4ca 26-May-2017 Xinchen Hui <laruence@gmail.com>

Fixed bug #74657 (Undefined constants in array properties result in broken properties)


# f00d1c72 25-May-2017 Dmitry Stogov <dmitry@zend.com>

Added ZEND_GET_CLASS, ZEMD_GET_CALLED_CLASS, ZEND_GET_TYPE instructions, to implement corresponding builtin functions.


# b6a4aad8 22-Apr-2017 Nikita Popov <nikita.ppv@gmail.com>

Remove the ZEND_ACC_CLONE flag

This one is completely unused


# 2bba4a0d 15-Mar-2017 Nikita Popov <nikita.ppv@gmail.com>

Fix bug #69676


# c6982995 04-Mar-2017 Anatol Belski <ab@php.net>

Interned strings unification for TS/NTS

Hereby, interned strings are supported in thread safe PHP. The patch
implements two types of interned strings

- interning per process, strings are not freed till process end
- interning per request, strings are freed at request end

There is no runtime interning.

With Opcache, all the permanent iterned strings are copied into SHM on
startup, additional copying into SHM might happen on demand.


# 141d1ba9 13-Jan-2017 Dmitry Stogov <dmitry@zend.com>

Introduced "zend_type" - an abstraction for type-hinting representation.


# dac6c639 04-Jan-2017 Sammy Kaye Powers <sammyk@sammykmedia.com>

Update copyright headers to 2017


# 478f119a 04-Jan-2017 Sammy Kaye Powers <sammyk@sammykmedia.com>

Update copyright headers to 2017


# 9e29f841 02-Jan-2017 Sammy Kaye Powers <sammyk@sammykmedia.com>

Update copyright headers to 2017


# 52db03b3 28-Dec-2016 Sara Golemon <pollita@php.net>

Support ZEND_PARSE_PARAMS_THROW in new ZPP API


# b204b3ab 26-Nov-2016 Anatol Belski <ab@php.net>

further normalizations, uint vs uint32_t

fix merge mistake

yet one more replacement run


# 2104bea5 12-Nov-2016 Kalle Sommer Nielsen <kalle@php.net>

Remove Netware support

If this does not break the Unix system somehow, I'll be amazed. This should get most of it out, apologies for any errors this may cause on non-Windows ends which I cannot test atm.


# a6715786 12-Oct-2016 Anatol Belski <ab@php.net>

finish 7.1 port

(cherry picked from commit f1fff032fcdb09a56c2fd763d1ee160106381586)


# 54003ab6 26-Sep-2016 Stanislav Malyshev <stas@php.net>

Fix bug #73147: Use After Free in PHP7 unserialize()

(cherry picked from commit 0e6fe3a4c96be2d3e88389a5776f878021b4c59f)
(cherry picked from commit f42cbd749cde1f91274c1d03df9024baba141a8f)


# f1fff032 12-Oct-2016 Anatol Belski <ab@php.net>

finish 7.1 port


# f42cbd74 26-Sep-2016 Stanislav Malyshev <stas@php.net>

Fix bug #73147: Use After Free in PHP7 unserialize()

(cherry picked from commit 0e6fe3a4c96be2d3e88389a5776f878021b4c59f)


# bf907b99 21-Sep-2016 Nikita Popov <nikic@php.net>

Revert ReflectionType::__toString() behavior + deprecate


# 0e6fe3a4 26-Sep-2016 Stanislav Malyshev <stas@php.net>

Fix bug #73147: Use After Free in PHP7 unserialize()


# 4dd70b6e 19-Sep-2016 Dmitry Stogov <dmitry@zend.com>

Fixed inconsistent meaning of zend_startup_module_ex() return value used in zend_hash_apply()


# 19866fb7 02-Sep-2016 Stanislav Malyshev <stas@php.net>

Fix various int size overflows.

Add function for detection of string zvals with length that does not fit
INT_MAX.


# d690014b 11-Sep-2016 Andrea Faulds <ajf@ajf.me>

Remove zpp fallback code (always use Fast ZPP)

Squashed commit of the following:

commit 3e27fbb3d22b42d181e15c345f1c59a007b6b58c
Author: Andrea Faulds <ajf@ajf.me>
Date: Sun Sep 11 19:14:37 2016 +0100

Keep dummy FAST_ZPP macro for compatibility

commit 8a7cfd00deaa4a3c5026c97580c49c886c72a5b4
Author: Andrea Faulds <ajf@ajf.me>
Date: Mon Sep 5 22:36:03 2016 +0100

Remove FAST_ZPP macro and plain zpp fallback code


# 0a50cbab 01-Sep-2016 Anatol Belski <ab@php.net>

fix unused assignment


# 12ee17d5 30-Aug-2016 Davey Shafik <me@daveyshafik.com>

Implement \ArgumentCountError exception


# a50a5c1b 14-Jul-2016 Nikita Popov <nikic@php.net>

Fix is_callable() on abstract method via object


# 00047fcf 14-Jul-2016 Nikita Popov <nikic@php.net>

Fix leak when dynamically calling abstract method


# ebb99a1a 21-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Fixed compilation warnings


# 16160386 21-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Added ZEND_ATTRIBUTE_FORMAT to some middind functions.
"%p" replaced by ZEND_LONG_FMT to avoid compilation warnings.
Fixed most incorrect use cases of format specifiers.


# 42184397 07-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Fixed bug #71266 (Missing separation of properties HT in foreach etc).


# 340a0000 03-Jun-2016 Aaron Piotrowski <aaron@trowski.com>

Add iterable to zend_get_type_by_const()


# 72692e9a 03-Jun-2016 Aaron Piotrowski <aaron@trowski.com>

Add iterable pseudo-type


# 9b27df8d 23-May-2016 Dmitry Stogov <dmitry@zend.com>

Fixed white-spaces


# 7b94b958 12-May-2016 Dmitry Stogov <dmitry@zend.com>

Intern some known (and offten used) strings.


# c19cb70d 06-May-2016 Dmitry Stogov <dmitry@zend.com>

Revert "Refactor zval cleanup into single function"

This reverts commit bac6fdb0c52c924e726c5a78de8858bf27b6586b.


# bac6fdb0 05-May-2016 Bob Weinand <bobwei9@hotmail.com>

Refactor zval cleanup into single function

Also use zval_ptr_dtor_nogc() everywhere in Zend in favor of zval_dtor()


# b4c50092 03-May-2016 Bob Weinand <bobwei9@hotmail.com>

Mark fcc as initialized for object calls

This results in 1% speedup (cycle count) on some real world applications


# 6499162f 28-Apr-2016 Dmitry Stogov <dmitry@zend.com>

- get rid of EG(scope). zend_get_executed_scope() should be used instead.
- ichanged zval_update_constant_ex(). Use IS_TYPE_IMMUTABLE flag on shared constants and AST, instead of "inline_change" parameter.


# f0a2e8eb 27-Apr-2016 Dmitry Stogov <dmitry@zend.com>

Removed "zend_fcall_info.function_table". It was assigned in many places, but is never used.


# 1e82ad80 30-Mar-2016 Andrea Faulds <ajf@ajf.me>

Warn about invalid strings in arithmetic

Squashed commit of the following:

commit e05d3b67325d4521418483ed924ac9211a188919
Author: Andrea Faulds <ajf@ajf.me>
Date: Wed Mar 30 01:43:35 2016 +0100

UPGRADING and NEWS

commit 6caf1d4585207d1b02fb06a216cd7da1a1f5e12d
Author: Andrea Faulds <ajf@ajf.me>
Date: Sun Mar 20 21:18:33 2016 +0000

Fixes

commit 6dadb1b0efe5e2ed071e95a55c806519e61377ac
Author: Andrea Faulds <ajf@ajf.me>
Date: Sun Feb 14 02:15:01 2016 +0000

Add test for numeric string errors in assignment

commit bd5f04e8dd576f92a48d25546f4f9a0f57f374de
Author: Andrea Faulds <ajf@ajf.me>
Date: Sat Feb 13 23:53:05 2016 +0000

Add test for numeric string errors

commit c72e92f16d512bcae30cc9639c89bcb08d971742
Author: Andrea Faulds <ajf@ajf.me>
Date: Tue Jan 26 23:28:33 2016 +0000

Add test for scientific notation in integer operations

commit d94c08852d405b3a7ef6c84d24bf7915c890ce78
Author: Andrea Faulds <ajf@ajf.me>
Date: Sun Feb 14 01:25:57 2016 +0000

Disable optimiser evaluation for numeric string errors

commit 30ee954ed13d933e766c68605d683c8ebae3d8ee
Author: Andrea Faulds <ajf@ajf.me>
Date: Sun Feb 14 01:46:25 2016 +0000

fixup

commit a6403b79e054c95e2b7345d787f3092b261eed27
Author: Andrea Faulds <ajf@ajf.me>
Date: Sat Feb 13 22:00:27 2016 +0000

Do not convert error-causing numeric strings ahead-of-time

commit f9dc35401471ef3035954cb6f171826769297548
Author: Andrea Faulds <ajf@ajf.me>
Date: Sat Feb 13 19:15:38 2016 +0000

Disable compile-time evaluation for numeric string errors

commit e05b0cc8496ea082c6db27efd8b8277ef1f785b5
Author: Andrea Faulds <ajf@ajf.me>
Date: Fri Feb 5 11:42:26 2016 +0000

Make _zval_get_long_func_noisy function for inlining

commit 84d66321a57e579759109650c8bb7e3d5002854a
Author: Andrea Faulds <ajf@ajf.me>
Date: Tue Jan 26 23:10:00 2016 +0000

Update tests

commit 5ac4a0cc4bff282e3a15eaa8ab44b67391881a6d
Author: Andrea Faulds <ajf@ajf.me>
Date: Tue Jan 26 22:08:19 2016 +0000

Use is_numeric_string_ex for zval_get_long etc.

commit c21f08848533723331012a62a153de3577731d6a
Author: Andrea Faulds <ajf@ajf.me>
Date: Thu Jan 7 21:13:04 2016 +0000

Update tests

commit 63e214cf8160420bfc51c6a2b4ae32f09ad8e8af
Author: Andrea Faulds <ajf@ajf.me>
Date: Wed Jan 6 00:28:01 2016 +0000

Warn on non-/bad numeric strings in arithmetic


# c67c166f 02-Mar-2016 Dmitry Stogov <dmitry@zend.com>

Removed zend_fcall_info.symbol_table


# 0bd64b50 20-Feb-2016 Nikita Popov <nikic@php.net>

Fixed bug #71617


# c9357f82 14-Feb-2016 Nikita Popov <nikic@php.net>

Format string fixes

Conflicts:
ext/pgsql/pgsql.c


# 97a9470d 02-Jan-2016 Xinchen Hui <laruence@gmail.com>

bump year which is missed in rev 49493a2


# 3537e95d 02-Jan-2016 Xinchen Hui <laruence@gmail.com>

bump year which is missed in rev 49493a2


# 07b33992 13-Dec-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #71109 (ZEND_MOD_CONFLICTS("xdebug") doesn't work)


# 04e3d82b 10-Dec-2015 Nikita Popov <nikic@php.net>

Make duplicate class constant error for internal class

And drop two duplicate constant declarations from intl. These
were leaking previously.


# a75c1950 07-Dec-2015 Dmitry Stogov <dmitry@zend.com>

Implemented the RFC `Support Class Constant Visibility`.

Squashed commit of the following:

commit f11ca0e7a57793fa0e3e7f6d451720e6c42bb0b9
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Dec 8 12:38:42 2015 +0300

Fixed test expectation

commit 211f873f542504d0a0f72b6b5cb23908a1c99a2d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Dec 8 12:28:38 2015 +0300

Embed zend_class_constant.flags into zend_class_constants.value.u2.access_flags

commit 51deab84b2cdbf9cdb1a838cf33b2ee45c61748b
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Dec 7 11:18:55 2015 +0300

Fixed issues found by Nikita

commit 544dbd5b47e40d38a8ccb96bc5583e9cb7fdd723
Author: Dmitry Stogov <dmitry@zend.com>
Date: Sat Dec 5 02:41:05 2015 +0300

Refactored immplementation of https://wiki.php.net/rfc/class_const_visibility
@reeze created an RFC here and I emailed internals here and didn't get any responses positive/negative.


# 0495bf56 08-Dec-2015 Xinchen Hui <laruence@gmail.com>

Revert "fix typos "paramer" -> "parameters""

ABI BC break

This reverts commit 6ac12f13379f3fc19f07abb9d1055274e5f98838.


# 6ac12f13 07-Dec-2015 Márcio Almada <marcio3w@gmail.com>

fix typos "paramer" -> "parameters"


# 2dcfd8d1 07-Dec-2015 Márcio Almada <marcio3w@gmail.com>

fix typos "paramer" -> "parameters"


# 7e9f4162 23-Nov-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70959 (ArrayObject unserialize does not restore protected fields)


# f8bf1f33 23-Nov-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70959 (ArrayObject unserialize does not restore protected fields)


# 366ba413 14-Oct-2015 Andrea Faulds <ajf@ajf.me>

Add void return type


# 2bed2152 12-Nov-2015 Xinchen Hui <laruence@gmail.com>

Revert "Fixed bug Bug #70895 null ptr deref and segfault"

This reverts commit 8eef11d3179fe7c6fed8393c1bbae96fcab05c49.


# c245fd7d 12-Nov-2015 Xinchen Hui <laruence@gmail.com>

Revert "refix bug #70895"

This reverts commit 93240102e0830802ca1b27ccabd9a899a1de7570.


# 75f85288 12-Nov-2015 Xinchen Hui <laruence@gmail.com>

Revert "Fixed bug #70898 (SIGBUS/GPF zend_mm_alloc_small (zend_alloc.c:1291))"

This reverts commit e4e54f33ceb4ecce33397c867b45862af85c1fda.


# e4e54f33 12-Nov-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70898 (SIGBUS/GPF zend_mm_alloc_small (zend_alloc.c:1291))

Include tail \0


# 93240102 12-Nov-2015 Anatol Belski <ab@php.net>

refix bug #70895

move this code to where it belongs, no behavior change to actual
throwing function, thus retaining compat with old ZPP


# 8eef11d3 11-Nov-2015 Anatol Belski <ab@php.net>

Fixed bug Bug #70895 null ptr deref and segfault


# ca36b7bc 29-Sep-2015 Dmitry Stogov <dmitry@zend.com>

Added zend_internal_function.reserved[] fields, to allow extensions keep additional associated information.
We didn't have zend_internal_function.reserved[] in PHP5, but we always allocated space for zend_function union, and extensions were able to reuse zend_function.op_array.reserved[] even for internal function. Now this is not possible. And extensions have to use zend_function.op_array.reserved[] for user functions and zend_function.internal_function.reserved[] for internal.


# 560e4fa3 29-Sep-2015 Dmitry Stogov <dmitry@zend.com>

Removed or simplified incorrect SEPARATE_*() macros usage.


# 95dbe1d0 20-Sep-2015 Bob Weinand <bobwei9@hotmail.com>

Short-circuit zend_parse_parameters_none() so that expensive zpp() call never happens in non-exceptional case


# 66770f9c 01-Sep-2015 Dmitry Stogov <dmitry@zend.com>

Added missing set of fcc->initialized flag.


# 37f0c6b5 31-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Add myself into list of authors of the most refactored files.


# 71af54e5 19-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Mark error and exception functions as "cold" (Matt's idea)


# 9a138b47 18-Aug-2015 Julien Pauli <jpauli@php.net>

Removed unused code


# 0bddc186 28-Jul-2015 Xinchen Hui <laruence@php.net>

Fixed bug #70156 (Segfault in zend_find_alias_name)


# 7554e830 13-Jul-2015 Dreamsxin <dreamsxin@126.com>

Updated zend_update_static_property


# 5df893ce 07-Jul-2015 Aaron Piotrowski <aaron@trowski.com>

Use NULL where possible for exception class

Matches usage of zend_throw_exception()/zend_throw_exception_ex().


# 1adf3df8 06-Jul-2015 Aaron Piotrowski <aaron@trowski.com>

Throw TypeError for invalid callback

Matches behavior of zend_internal_type_error() if E_ERROR is passed to
zend_wrong_callback_error().


# 22c38b2e 03-Jul-2015 Aaron Piotrowski <aaron@trowski.com>

Remove need to pass error level


# 5a99c07e 03-Jul-2015 Aaron Piotrowski <aaron@trowski.com>

Enable throwing custom exceptions from errors


# 7aa76271 30-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes).


# 4bd22cf1 29-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Improved zend_string API (Francois Laupretre)

Squashed commit of the following:

commit d96eab8d79b75ac83d49d49ae4665f948d15a804
Author: Francois Laupretre <francois@tekwire.net>
Date: Fri Jun 26 01:23:31 2015 +0200

Use the new 'ZSTR' macros in the rest of the code.

Does not change anything to the generated code (thanks to compat macros) but cleaner.

commit b3526439104ac7a89a8e0c79dbebf33b22bd01b8
Author: Francois Laupretre <francois@tekwire.net>
Date: Thu Jun 25 13:45:06 2015 +0200

Improve zend_string API

Add missing methods


# 628d4394 22-Jun-2015 Nikita Popov <nikic@php.net>

Drop superfluous __toString handling code

This is already covered by the cast_object invokation above it. We
do not use this kind of fallback in any other casting code anymore.


# 8e10e8f9 11-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Avoid zval duplication in ZVAL_ZVAL() macro (it was necessary only in few places).
Switch from ZVAL_ZVAL() to simpler macros where possible (it makes sense to review remaining places)


# 6bcf121f 03-Jun-2015 Dmitry Stogov <dmitry@zend.com>

micro-optimization


# ca64b41b 21-May-2015 Dmitry Stogov <dmitry@zend.com>

Fixed zend_update_class_constants() to always resolve all constants.
Call zend_update_class_constants() only when necessary.


# 70c86732 05-May-2015 Dmitry Stogov <dmitry@zend.com>

Use zend_string to represent pdo_column_data.name and avoid duplication.


# 388c2cbd 28-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Micro optimizations


# 49cf7c5d 22-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Don't propogate "fake" EX(called_scope) and EX(This) into each internal function.
They need quite seldom and it's cheaper to get them from corresponfing upper stack frame.


# 15a5f61c 22-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Use fast method to check if first arguments should be passed by reference (not tested onbig endian).


# ec8671d4 16-Apr-2015 Xinchen Hui <laruence@php.net>

Remove duplicated assignment


# 5e8133f4 10-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Squashed commit of the following:

commit 2399fc84c541da9c2176c5b7f6dd039a3c84dc64
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 12:38:08 2015 +0300

Removed useless assignment

commit 796b6338174348eee0d74a67706d77b7ce1a60c3
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 12:35:31 2015 +0300

Fixed execution with overriden zend_execute_ex()

commit 4a9fb125aa999059f8bc42ebb6ee573c7866b35b
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 02:02:58 2015 +0300

Fixed executor without global registers

commit d456c30e00589ccda35a4b57ae903ef2d3c07d95
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 01:30:35 2015 +0300

Restored original behavior for tests/classes/__call_004.phpt

commit 479646d37fef050536f1afb12b082618f1f1a3d0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 00:32:17 2015 +0300

Fixed test. We don't keep stack frame for fake function anymore.

commit 9ae61e33e24b2c811d4ab1ca4ab22847c64a780e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 00:30:09 2015 +0300

Use ZEND_ACC_CALL_VIA_TRAMPOLINE instead of ZEND_ACC_CALL_VIA_HANDLER. Keep ZEND_ACC_CALL_VIA_HANDLER for compatibility.

commit 0a8403a2a0c27aa3db271774f8559739a6b8400e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 00:05:43 2015 +0300

Rename PROXY_CALL into CALL_TRAMPLINE.
Generalize API to allow reuse EG(trampline) for other purposes.

commit 4ea0525c10554e36185a0b8b6303106813b6a1c2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 23:22:25 2015 +0300

Reuse EG(proxy_call_op) for all proxy. Move proxy related functions from zend_objects_API to zend_object_handlers.

commit 529bf737ca388ad56fb4ae20ccb81e6276f25ec0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 21:42:23 2015 +0300

Accurate use of proxy_call

commit 5d62837d5ba3855743fe1981786ebd65d9da0b63
Merge: 83e749f 690843f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 19:40:00 2015 +0300

Merge branch 'master' into opcodefy-call

* master:
Fixed GOTO executor
Fixed typo
Changed ArrayIterator implementation using zend_hash_iterator_... API. Allowed modification of itterated ArrayObject using the same behavior as proposed in `Fix "foreach" behavior`. Removed "Array was modified outside object and internal position is no longer valid" hack.

commit 83e749ff3b6623e39b236a72e9b907d5b788ae5e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 19:39:10 2015 +0300

Improved ZEND_PROXY_CALL

commit 0c829afc534e6d5ff27a0dea3a4815da303bd1ef
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 15:14:49 2015 +0300

Reverted white-space changes

commit df65144488afa3e9020d75e1ada5529b138afc5a
Merge: 5fd2f97 97756d9
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 14:37:07 2015 +0300

Merge branch 'opcodefy-call' of github.com:laruence/php-src into opcodefy-call

* 'opcodefy-call' of github.com:laruence/php-src:
Ready for PR
Fixed static call
Improve performance by using prealloated op_arrray
Respect called_scope
Support internal magical __call/__callStatic
opcode-fy magical __callStatic
Opcode-fy magical __call

commit 97756d9190e07a072a7b48135304dc25a964845f
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 19:07:59 2015 +0800

Ready for PR

commit 74f993084627061e783645a866390b68e2981698
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 19:03:00 2015 +0800

Fixed static call

commit ec1d9eb592db0c3b7b0e3d21e7f445ed8bccfd4d
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 18:23:17 2015 +0800

Improve performance by using prealloated op_arrray

commit df7fbbf949c99f2c5ae3da2a1199235651c7cc82
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 15:10:02 2015 +0800

Respect called_scope

commit 769d1d59fb48b6f7f93d7412eefbf26135fa3e59
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 12:19:23 2015 +0800

Support internal magical __call/__callStatic

commit a980fedd5b0e0683713dd4f6eaad62adf4b4732f
Author: Xinchen Hui <laruence@gmail.com>
Date: Wed Apr 8 18:35:41 2015 +0800

opcode-fy magical __callStatic

commit 73855f7d53baa2efc2b8a88314f51c784c81b59d
Author: Xinchen Hui <laruence@gmail.com>
Date: Wed Apr 8 14:21:55 2015 +0800

Opcode-fy magical __call


# 122d7596 02-Apr-2015 Nikita Popov <nikic@php.net>

Always throw TypeException on throwing zpp failures

Introduces a ZEND_PARSE_PARAMS_THROW flag for zpp, which forces to
report FAILURE errors using a TypeException instead of a Warning,
like it would happen in strict mode.

Adds a zend_parse_parameters_throw() convenience function, which
invokes zpp with this flag.

Converts all cases I could identify, where we currently have
throwing zpp usage in constructors and replaces them with this API.
Error handling is still replaced to EH_THROW in some cases to handle
other, domain-specific errors in constructors.


# f920f974 04-Apr-2015 Nikita Popov <nikic@php.net>

Clarify that some zpp errors are just for debugging

These occur when the extension author messed up, not during normal
script execution.

Make these core errors and show them even with PARAMS_QUIET.


# ad863c17 02-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Convert fatal errors into EngineException


# 53d20140 02-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Fixed performance degradation introduced with lateast EnfineException related changes.
Restore original errors order in executor.


# ea09a9fa 01-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Convert fatal errors into EngineExceptions
Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.


# ec760d8f 01-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Convert fatal errors into EngineExceptions


# 780a8123 01-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Convert fatal errors into EngineExceptions


# acfc31c0 01-Apr-2015 Dmitry Stogov <dmitry@zend.com>

Use zend_error_noreturn() for fatal errors


# 08577499 01-Apr-2015 Nikita Popov <nikic@php.net>

Drop support for static calls from incompatible context

Implemented by NULLing $this.


# 8d003858 15-Mar-2015 Nikita Popov <nikic@php.net>

Reclassify E_STRICT notices

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

While reviewing this, found that there are still three E_STRICTs
left in libraries - need to discuss those.


# 1018f462 30-Mar-2015 Dmitry Stogov <dmitry@zend.com>

Patch improvement:

Removed the corresponding core code.
Fixed ext/com_dotnet and ext/date.
Refactored ext/intl changes.
Improved ext/fileinfo and ext/pdo changes.
Fixed tests.


# 02be73b5 25-Mar-2015 Kalle Sommer Nielsen <kalle@php.net>

Constness to zend_get_object_type(), thanks Michael!


# 927d53fd 25-Mar-2015 Kalle Sommer Nielsen <kalle@php.net>

Change "Cannot redeclare class X" into "Cannot redeclare class/interface/trait X", meaning that the following:

C:\> php -r "trait A { } trait A { }"

Will now properly print "Cannot redeclare trait A" instead of "Cannot redeclare class A" to make error messages a tiny bit clearer. Admittedly, a better solution can most likely be made by actually telling what the colliding object is a type of.

Internally this adds a new function:
zend_get_object_type()


# a50e9d87 22-Mar-2015 Nikita Popov <nikic@php.net>

Partially revert "Fix uninitialized value condition"

This reverts commit e874f76096a346c5ee073c8aaf252d916f3be925,
which broke zpp quite mode.

Only the initialization of the "severity" variable is retained.


# e874f760 21-Mar-2015 Bob Weinand <bobwei9@hotmail.com>

Fix uninitialized value condition


# 35f9b90b 20-Mar-2015 Dmitry Stogov <dmitry@zend.com>

ZPP changed to lazely check for "strict/weak" only if it's really necessary.
Cleanup.


# 59356126 20-Mar-2015 Dmitry Stogov <dmitry@zend.com>

Improved type hinting:

EX_PREV_USES_STRICT_TYPES() and family changed/renamed to fit with other macros
Optimized zend_verify_internal_arg_type() and family (they don't need "strict" argument anymore)
Standerd ZPP is called from VM only for weak type check or strict exception (int -> double)
Fixed ZEND_RECV_VARIADIC
Fixed ZEND_STRLEN

TODO: should we accept IS_NULL for non-nullable arguments?


# 44669e8f 20-Mar-2015 Dmitry Stogov <dmitry@zend.com>

Fixed white spaces


# 7044f9c6 19-Mar-2015 Anthony Ferrara <ircmaxell@gmail.com>

Refactor as to not use call info, but add the flag to the op_array.


# 0ef80ac3 19-Mar-2015 Anthony Ferrara <ircmaxell@gmail.com>

Fix severity issues with callbacks, start work porting ZEND_STRLEN opcode to work with strict mode, more refactoring to come


# 78d23994 18-Mar-2015 Anthony Ferrara <ircmaxell@gmail.com>

Fix C89 compatibility by moving a misplaced if statement


# 579e7fa4 18-Mar-2015 Anthony Ferrara <ircmaxell@gmail.com>

Style cleanup, as well as fixing bug with missing argument for WRONG_PARAM_COUNT_WITH_RETVAL


# 8be4266f 18-Mar-2015 Anthony Ferrara <ircmaxell@gmail.com>

Clean up API renames for zend_wrong_param_count to maintain BC, introducing a zend_wrong_param_count_ex() function when you know strict value


# 7feebead 18-Mar-2015 Anthony Ferrara <ircmaxell@gmail.com>

Refactor error implementation significantly to centralize error mode behavior. Add zend_internal_type_error() function


# aa63449b 03-Mar-2015 Xinchen Hui <laruence@php.net>

Remove wrong commit committed by accident


# 7ad6711a4 03-Mar-2015 Xinchen Hui <laruence@php.net>

Fixed bug #69167 (call_user_func does not support references anymore)


# 5f76eed1 20-Feb-2015 Dmitry Stogov <dmitry@zend.com>

don't count op_arrays stored in opcache SHM


# 8c81d80e 12-Feb-2015 Guilherme Blanco <guilhermeblanco@hotmail.com>

Made ZEND_ACC_TRAIT a saner value

CC_TRAIT valued as 0x120 is too magical to be comprehensible by others.


# 07fdc1c7 12-Feb-2015 Anatol Belski <ab@php.net>

fix data types


# 86b0685f 25-Jan-2015 Andrea Faulds <ajf@ajf.me>

Prefix zend_wrong_param_count with _ to discourage use


# fe663cc4 13-Jan-2015 Andrea Faulds <ajf@ajf.me>

Partial ZPP strictness implementation


# 1a28ad03 06-Jan-2015 Andrea Faulds <ajf@ajf.me>

Forbid scalar type hint names for use, class_alias


# c3c0f531 13-Dec-2014 Andrea Faulds <ajf@ajf.me>

Scalar type hints with ZPP casting rules


# 49073fcf 07-Feb-2015 Reeze Xia <reeze@php.net>

Add zend assert deleted by accident


# 61239e1e 07-Feb-2015 Reeze Xia <reeze@php.net>

Let's keep it simple


# d9c28c55 07-Feb-2015 Reeze Xia <reeze@php.net>

Improve internal function return types checking for parent

Previously the checking was against 'self', 'parent' need
to be checked as user land declearation as well.

This also add two missing test cases.


# 601fcc31 05-Feb-2015 Reeze Xia <reeze@php.net>

Add load time return type checking to match user land logic


# bff4c47f 04-Feb-2015 Reeze Xia <reeze@php.net>

Implemented internal function return types


# 9e70d767 04-Feb-2015 Dmitry Stogov <dmitry@zend.com>

Move zend_object->guards into additional slot of zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced.


# 836dcb1d 03-Feb-2015 Dejan Marjanovic <dm@php.net>

Rename __callstatic (internal name) to __callStatic (userland name) in error message


# c8576c5a 08-Jan-2015 Levi Morrison <levim@php.net>

Implement return types

RFC is documented here: https://wiki.php.net/rfc/return_types


# 061c0ed9 21-Jan-2015 Dmitry Stogov <dmitry@zend.com>

Fixed double free and cleanup


# 3e31838d 22-Jan-2015 Dmitry Stogov <dmitry@zend.com>

zend_read_property() has to provide a holder for return value.
Previously it was possible that zend_read_property() returned pointer to zval allocated on stack.


# 6f67d5ad 19-Jan-2015 Xinchen Hui <laruence@php.net>

Unused parse_arg_object_to_string


# fc33f52d 15-Jan-2015 Xinchen Hui <laruence@php.net>

bump year


# 0579e827 15-Jan-2015 Xinchen Hui <laruence@php.net>

bump year


# 73c1be26 15-Jan-2015 Xinchen Hui <laruence@php.net>

Bump year


# 2193de0d 14-Jan-2015 Xinchen Hui <laruence@gmail.com>

Faster sorting algo


# 7e93de10 13-Jan-2015 Dmitry Stogov <dmitry@zend.com>

Handle run-time cache for static properties directly in executor.
Removed cache_slot argument in zend_std_get_static_property() and zend_std_unset_static_property().


# b7a7b1a6 03-Jan-2015 Stanislav Malyshev <stas@php.net>

trailing whitespace removal


# 84f2311b 10-Jan-2015 Xinchen Hui <laruence@php.net>

Fixed #68779 (Incorrect sizeof)


# 41e3fdba 15-Dec-2014 Andrea Faulds <ajf@ajf.me>

Make zend_parse_parameters share fast zpp implementation where possible

Rename shared implementation functions and build them unconditionally

Don't fail on empty path for zend_parse_arg_path

Update type names

Fix behaviour of by-reference "z"

Make 'o' use zend_parse_arg_object

Fix NULL string check in zend_parse_arg_path(_str)


# f2c2acb9 24-Dec-2014 Dmitry Stogov <dmitry@zend.com>

For disabled function, to disable arguments checks, we have to reset num_args and some related flags (in addition to arg_info)


# c42ac095 24-Dec-2014 Dmitry Stogov <dmitry@zend.com>

Added new API function 'zend_string* zend_string_tolower(zend_string*)'.
It simplifies code and avoids unnecessary allocation and copying if string is already in lower case.


# 2646f7bc 22-Dec-2014 Dmitry Stogov <dmitry@zend.com>

Don't count variadic argument in zend_func.common.num_args. This allows faster CALL/RETURN code.


# e5eb9530 14-Dec-2014 Andrea Faulds <ajf@ajf.me>

Use "float" and "integer" in typehint and zpp errors


# 8f177fde 15-Dec-2014 Xinchen Hui <laruence@php.net>

Save 8 bytes on 64 bits


# bdeb220f 13-Dec-2014 Anatol Belski <ab@php.net>

first shot remove TSRMLS_* things


# 3893c1fc 12-Dec-2014 Dmitry Stogov <dmitry@zend.com>

Fixed compilation warnings


# f0a17c29 04-Dec-2014 Michael Wallner <mike@php.net>

Fix zend_fcall_info_arg*() to use ZVAL_COPY

As zend_fcall_info_args_clear() calls zval_ptr_dtor() we also have
to increase the refcount of refcounted zvals added as params,
like it is already done in zend_fcall_info_args_ex().


# 5dd427ea 03-Dec-2014 Dmitry Stogov <dmitry@zend.com>

Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*.


# f90b877f 29-Nov-2014 Andrea Faulds <ajf@ajf.me>

Refactor ZEND_LONG_MAX/MIN checks into ZEND_DOUBLE_FITS_LONG()


# dcfe5877 28-Nov-2014 Dmitry Stogov <dmitry@zend.com>

Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ZEND_CALL_VAR_NUM().


# 11384ba7 28-Nov-2014 Dmitry Stogov <dmitry@zend.com>

Pack EX(num_args) into EX(This).u2.num_args


# 75041379 06-Nov-2014 Dmitry Stogov <dmitry@zend.com>

Improved object property access.


# d9d181e5 31-Oct-2014 Xinchen Hui <laruence@php.net>

Fixed Bug #68104 (Segfault while pre-evaluating a disabled function)


# f7d3355e 24-Oct-2014 Anatol Belski <ab@php.net>

fix datatype mismatches

and convert len args to size_t where the underlaying API uses zend_string


# ca46bd04 24-Oct-2014 Anatol Belski <ab@php.net>

fix datatype mismatch warnings


# f2279224 23-Oct-2014 Anatol Belski <ab@php.net>

move key lengths to use size_t as zend_string is used internally anyway


# 7471c217 17-Oct-2014 Dmitry Stogov <dmitry@zend.com>

Optimized property access handlers. Removed EG(std_property_info).


# c00424e4 15-Oct-2014 Anatol Belski <ab@php.net>

bring back all the TSRMLS_FETCH() stuff

for better comparability with the mainstream


# c96a6b44 12-Oct-2014 Anatol Belski <ab@php.net>

DLL export several APIs needed for phpdbg


# df79b9b2 09-Oct-2014 Nikita Popov <nikic@php.net>

Update get_class_name semantics

* get_class_name is now only used for displaying the class name
in debugging functions like var_dump, print_r, etc. It is no
longer used in get_class() etc.
* As it is no longer used in get_parent_class() the parent
argument is now gone. This also fixes incorrect parent classes
being reported in COM.
* get_class_name is now always required (previously some places
made it optional and some required it) and is also required
to return a non-NULL value.
* Remove zend_get_object_classname. This also fixes a number of
potential leaks due to incorrect usage of this function.


# e5e9d834 09-Oct-2014 Nikita Popov <nikic@php.net>

Remove zend_get_class_entry function


# b3a779de 09-Oct-2014 Nikita Popov <nikic@php.net>

Remove get_class_entry object handler


# ee5b30fa 09-Oct-2014 Nikita Popov <nikic@php.net>

Remove support for classes without class entries

get_class_entry must be non-NULL and return non-NULL.


# bd9a2346 03-Oct-2014 Dmitry Stogov <dmitry@zend.com>

Replaced EG(This) and EX(object) with EX(This).
Internal functions now recieves zend_execute_data as the first argument.


# f248b17e 28-Sep-2014 Xinchen Hui <laruence@php.net>

Fixed segfault


# 06d0230a 26-Sep-2014 Anatol Belski <ab@php.net>

cleanup TSRMLS_FETCH


# d11734b4 25-Sep-2014 Anatol Belski <ab@php.net>

reworked the patch, less new stuff but worky

TLS is already used in TSRM, the way exporting the tsrm cache through
a thread local variable is not portable. Additionally, the current
patch suffers from bugs which are hard to find, but prevent it to
be worky with apache. What is done here is mainly uses the idea
from the RFC patch, but

- __thread variable is removed
- offset math and declarations are removed
- extra macros and definitions are removed

What is done merely is

- use an inline function to access the tsrm cache. The function uses
the portable tsrm_tls_get macro which is cheap
- all the TSRM_* macros are set to placebo. Thus this opens the way
remove them later

Except that, the logic is old. TSRMLS_FETCH will have to be done once
per thread, then tsrm_get_ls_cache() can be used. Things seeming to be
worky are cli, cli server and apache. I also tried to enable bz2
shared and it has worked out of the box. The change is yet minimal
diffing to the current master bus is a worky start, IMHO. Though will
have to recheck the other previously done SAPIs - embed and cgi.

The offsets can be added to the tsrm_resource_type struct, then
it'll not be needed to declare them in the userspace. Even the
"done" member type can be changed to int16 or smaller, then adding
the offset as int16 will not change the struct size. As well on the
todo might be removing the hashed storage, thread_id != thread_id and
linked list logic in favour of the explicit TLS operations.


# bb55397b 22-Sep-2014 Andrea Faulds <ajf@ajf.me>

Make zpp fail if NaN passed for int, or out-of-range float for non-capping int


# b3aebda9 20-Sep-2014 krakjoe <joe.watkins@live.co.uk>

native tls initial patch


# c343ca4e 18-Sep-2014 Nikita Popov <nikic@php.net>

Split inheritance into separate file

This moves handling of inheritance and interface implementation
from zend_compile.c into a separate zend_inheritance.c file, as
this is not really related to compilation.


# 3bc8a958 19-Sep-2014 Dmitry Stogov <dmitry@zend.com>

Fixed useless or duplicated IS_INTERNED() checks


# d3622c24 15-Sep-2014 Anatol Belski <ab@php.net>

fix signed/unsigned mismatch


# ebc6da56 13-Sep-2014 Nikita Popov <nikic@php.net>

zend_get_property_info takes a zend_string* now


# 88e07324 13-Sep-2014 Nikita Popov <nikic@php.net>

Drop dead assignments


# d6faac2c 28-Aug-2014 Anatol Belski <ab@php.net>

make array/object APIs accept large strings as values of elements/props


# 32344808 27-Aug-2014 Anatol Belski <ab@php.net>

first show to make 's' work with size_t


# 46b53e81 25-Aug-2014 Nikita Popov <nikic@php.net>

Add zend_string_equals and zend_string_equals_literal


# af59e92b 25-Aug-2014 Anatol Belski <ab@php.net>

master renames phase 7


# 4d997f63 25-Aug-2014 Anatol Belski <ab@php.net>

master renames phase 3


# 6f9f0bf2 25-Aug-2014 Anatol Belski <ab@php.net>

master renames phase 2


# c3e3c98e 25-Aug-2014 Anatol Belski <ab@php.net>

master renames phase 1


# 70de6180 24-Aug-2014 Anatol Belski <ab@php.net>

fixes to %pd format usage


# b9a5db2b 21-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Fixed incorrect string length


# 8cda420f 20-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Fixed ext/pdo_*/tests/pdo_005.phpt tests failure


# 90d6f60b 17-Aug-2014 Anatol Belski <ab@php.net>

mostly fixes to spl, but also some other


# 864172d9 16-Aug-2014 Anatol Belski <ab@php.net>

further fixes to ext/standard and zend


# 1169de3e 16-Aug-2014 Anatol Belski <ab@php.net>

fix some cases with fast zpp


# b7e7a895 15-Aug-2014 Anatol Belski <ab@php.net>

several fixes -

- param parsing Z_PARAM_STR vs Z_PARAM_STRING
- some functions for new params
- etc


# cb25136f 16-Aug-2014 Anatol Belski <ab@php.net>

fix macros in the 5 basic extensions


# 8ee2a4a9 16-Aug-2014 Anatol Belski <ab@php.net>

first shot on merging the core fro the int64 branch


# dc70139d 11-Aug-2014 krakjoe <joe.watkins@live.co.uk>

update zend_make_printable_zval to take TSRM context


# 42c4bcae 14-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Fixed ZTS build


# 27f38798 11-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Fast parameter parsing API

This API is experemental. It may be changed or removed.
It should be used only for really often used functions.
(Keep the original parsing code and wrap usage with #ifndef FAST_ZPP)


# 9d6e45a0 09-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Changed zend_make_printable_zval() to return "use_copy" instead of additional reference argument.
Improved branch prediction.


# 2ed8a170 07-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Refactored run_time_cache usage in object handlers


# c4d99ec9 02-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Removed EG(called_scope) and use corresponding value from EG(current_execute_data)


# 0a77dcd4 02-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are executing something.


# 63c057e3 02-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Removed EG(opline_ptr) and use corresponding value from EG(current_execute_data)


# 4b09dd69 02-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Removed EG(active_op_array) and use corresponding value from EG(current_execute_data)


# 412ad4b2 02-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Uinified call frame handling for user and internal functions.
Now EG(current_execute_data) always point to the call frame of the currently executed function.


# b7715c7e 30-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Refactored parameter passing mechanism.

In PHP-5.6 and below each argument passed to user function was copies on VM stack twice.
Now we always have ZEND_INIT_FCALL (or simular) opcode that pushes "call frame" on top of VM stack.
"Call frame" is actually the same zend_execute_data structure.
All the following ZEND_SEND instructions push arguments on top of the stack in a way that they directly comes into corresponding CV variables of the called frame. Extra arguments are copied at the end of stack frame (after all CV and TMP variables) on function enterance.

There are two minor incompatibilities:
1) It's not allowed to decalre functions redefining arguments e.g. "function foo($a,$a) {}".
2) func_get_arg() and func_get args() return the current value of argument and not the original value that was sent.


# c6978139 26-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Refactoring: merge call_frame and end_execute_data into single data structure. Keep only single copy of each argument on VM stack (previously ZE kept two copies of each arguments for user functions)


# f75c04ac 26-Jun-2014 Xinchen Hui <laruence@php.net>

No need to initialize it


# a7ce96d0 26-Jun-2014 Xinchen Hui <laruence@php.net>

More optimizations


# 64c5eb00 26-Jun-2014 Xinchen Hui <laruence@php.net>

Let's assume the name is already lowercased


# 284141ca 24-Jun-2014 Xinchen Hui <laruence@php.net>

Fixed _zend_get_parameters_array

it should not decrease the refcount (spotted by
register_shutdown_function in ext/mysqli/tests/bug49442.phpt)


# 43477bc7 23-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Refactoring: use call_frames instead of call_slots


# e1b18e59 17-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Use arena allocator for zend_class_entry, zend_op_array and zend_property_info that live till the end of request


# 909acec2 16-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Avoid useles constants update


# bd10db27 16-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Use new zend_hash iteration API


# c1965f58 05-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Use reference counting instead of zval duplication


# 6e733870 03-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Avoid useless merge


# e34a6e92 26-May-2014 Dmitry Stogov <dmitry@zend.com>

Use new zend_hash API


# 0175d994 25-May-2014 Xinchen Hui <laruence@php.net>

Fixed apply_func_arg_t, and it's better not using cast (compiler friendly)


# c2082ece 25-May-2014 Xinchen Hui <laruence@php.net>

Fixed apply_func_t (they should be broken before)


# 3e131b41 15-May-2014 Dmitry Stogov <dmitry@zend.com>

Fixed memory leaks


# c446e575 14-May-2014 Dmitry Stogov <dmitry@zend.com>

ext/soap support for phpng (incomplete - just compilable)


# 075a6ced 13-May-2014 Xinchen Hui <laruence@php.net>

Save one type checking if the type is already string


# f089be82 12-May-2014 Dmitry Stogov <dmitry@zend.com>

Fixed wrong buffer length (added place for terminating zero)


# 0c6a6f0f 07-May-2014 Dmitry Stogov <dmitry@zend.com>

Re-applyed Bob's patch with minor fixes


# 4ecc5279 06-May-2014 Dmitry Stogov <dmitry@zend.com>

Reverted Bob's patch (it breaks many tests when run with opcache and needs to be fixed first).


# 4d8c59f0 06-May-2014 Nikita Popov <nikic@php.net>

Fix parse_method_params


# ccc2c8ae 06-May-2014 Nikita Popov <nikic@php.net>

Fix error message in parse_method_params


# f3c1881f 06-May-2014 Bob Weinand <bobwei9@hotmail.com>

Re-added fix for bug #66015 and adapted for phpng branch


# bea30846 05-May-2014 Xinchen Hui <laruence@gmail.com>

Refactor Zip (1 test failed)


# 17d027ed 30-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Split IS_BOOL into IS_FALSE and IS_TRUE


# 5864ce8a 22-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Fixed compilation warnings


# 0d43a277 21-Apr-2014 Nikita Popov <nikic@php.net>

Use zval_get_string in a few more places


# acd77dec 21-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Use alloca() for temporary allocation


# 7652a977 18-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Use ZEND_FETCH_FOREACH_* macros to iterate over HashTables instead of zend_hash_move_forward() and family.


# e96073b1 17-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Moved zend_literal->cache_slot right into zval.
It should be accessed using Z_CACHE_SLOT() macro.
zend_literal structure is removed.
API functions that accepted pointer to zend_literal now accept pointer to zval or cache_slot directly.
Calls of such functiond that now accept cache_slot need to be changed to pass -1 instead of NULL.


# f9b26bc3 15-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Cleanup (2-nd round)


# 050d7e38 15-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Cleanup (1-st round)


# a0690ff2 15-Apr-2014 Xinchen Hui <laruence@gmail.com>

Fixed zend_object_get_t in simpleXML


# 35b895fd 11-Apr-2014 Bob Weinand <bobwei9@hotmail.com>

Removed useless void* parameter and replaced with zend_bool on zval_update_constant* functions


# f614fc68 11-Apr-2014 Bob Weinand <bobwei9@hotmail.com>

Fix bug #66015 by reverting "Removed operations on constant arrays."


# 20f2e598 09-Apr-2014 Nikita Popov <nikic@php.net>

Fix ZTS build

This only makes it compile, it doesn't actually work, presumably
because interned strings are assumed in some places.


# 7402af38 08-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Fixed destruction of objects and iterators on unclean request shutdown and GC (few cases are still unfixed).
Now we destroy objects it two steps. At first - object properties of all objects and only then the objects their selves.


# 3bc8810b 03-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Constant duplication optimization
Argument receiving optimization


# 58f0f250 03-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Various VM optimizations


# 76cc99fe 03-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Refactored ZVAL flags usage to simplify various checks (e.g. Z_REFCOUNTED(), candidate for GC, etc)


# 042c937f 01-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Use STR_COPY() instead of STR_DUP() where possible


# 3647fc6f 28-Mar-2014 Xinchen Hui <laruence@gmail.com>

Refactor session (incompleted)


# ea85451b 27-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Refactored data structures to keep zend_object* instead of a whole zval in some places


# d83d34ba 27-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Cleanup


# c6cba554 27-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Use ZVAL_DEREF() macro


# 54d559d8 27-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Replaced (Z_TYPE(x) == IS_REFERENCE) with (Z_ISREF(x))


# 887189ca 26-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing


# acc71976 19-Mar-2014 Dmitry Stogov <dmitry@zend.com>

More accurate zval comparison


# d708d3c5 11-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixed passing arguments by reference from internal functions


# 3da247e7 07-Mar-2014 Xinchen Hui <laruence@gmail.com>

Forgot to remove unused codes


# 4b3e6fc1 07-Mar-2014 Xinchen Hui <laruence@gmail.com>

Refactor reference handling


# 81531116 07-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixed support for references


# 84f20dc2 05-Mar-2014 Xinchen Hui <laruence@gmail.com>

Invalid free of args("+")


# 37337373 05-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Handle interned strings as non-refcounted scalars


# 36f01f15 05-Mar-2014 Xinchen Hui <laruence@gmail.com>

Fixed NULL pointer dereference


# 040dea8b 05-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Arguments taken by internal functions using zend_parse_parameters() with "+" and "*" specifications must not be deallocated anymore.


# 19670c2b 04-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixied calling object closures from internal functions


# ca146a6e 03-Mar-2014 Xinchen Hui <laruence@gmail.com>

Elements in array could be reference


# 84342371 28-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed user stream filters


# 0680cdb4 28-Feb-2014 Xinchen Hui <laruence@gmail.com>

Fixed refcount handling


# d0311ad2 28-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed method argument parsing


# 9d1294e3 28-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed memory leak


# 3ed445f7 27-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed IS_REFERENCE support


# 1c3ba95b 27-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Refactored read_property() and read_dimension() handlers


# 639e4e1a 25-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Changes zend_is_callable() to use zend_string* instead of char*


# 71dac3d5 25-Feb-2014 Xinchen Hui <laruence@gmail.com>

Don't add_ref in add_*_str functions


# ff162410 24-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed traits support


# 844887ed 24-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed IS_RESOURCE handling


# 6f6573ef 24-Feb-2014 Xinchen Hui <laruence@gmail.com>

Fixed several memory leaks


# bc3fb147 21-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed char/zend_string mesh


# d149228b 21-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# 008a42e7 21-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed error messages


# 5fa6dbba 21-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed class_alias()


# 92450f9d 21-Feb-2014 Xinchen Hui <laruence@gmail.com>

Fixed test tests/classes/__call_007.php


# 7e03f371 21-Feb-2014 Dmitry Stogov <dmitry@zend.com>

All zend_parse_parameters("Z") has to be replaced with zend_parse_parameters("z")


# 2b7ca1c7 21-Feb-2014 Xinchen Hui <laruence@gmail.com>

Fixed segfault due to missing REFCOUNTED check


# 6fbea9ce 21-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Fixed exception constructor


# 8bae1daa 19-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# 5de71156 18-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete; able to run bench.php)


# 1e752ce9 18-Feb-2014 Sara Golemon <pollita@php.net>

Add __debugInfo() magic method

class Foo {
private $val = 'Random, meaningless data';

public function count() { return 42; }

public function __debugInfo() {
return ['count' => $this->count()];
}
}

$f = new Foo;
var_dump($f);


# a0fe8e5a 17-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# 2b9b9afa 17-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# 0e425121 17-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# 2fd7f7c8 15-Feb-2014 Anatol Belski <ab@php.net>

backported Zend


# 17bf59f8 14-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# 686a0782 14-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# be82a077 12-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# f4cfaf36 10-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)


# 89035184 03-Feb-2014 Anatol Belski <ab@php.net>

fixed types for num_args at various places


# c081ce62 03-Jan-2014 Xinchen Hui <laruence@php.net>

Bump year


# 47c90277 03-Jan-2014 Xinchen Hui <laruence@php.net>

Bump year


# c0d060f5 03-Jan-2014 Xinchen Hui <laruence@php.net>

Bump year


# e2df932e 27-Dec-2013 Anatol Belski <ab@php.net>

revamp the hash api once more


# a06a89db 23-Dec-2013 Anatol Belski <ab@php.net>

removed the all style function arg formats 'l', 's', 'p'


# e11fbd97 22-Dec-2013 Anatol Belski <ab@php.net>

next wave of revamp in Zend


# f2fc9355 20-Dec-2013 Anatol Belski <ab@php.net>

next wave on semantical replacements long vs. int


# 61252782 19-Dec-2013 Anatol Belski <ab@php.net>

more semantical replacements LONG vs. INT


# f58d0b35 19-Dec-2013 Anatol Belski <ab@php.net>

massive update semantical LONG vs INT replacements


# b1abe4ca 18-Dec-2013 Anatol Belski <ab@php.net>

mass replacement for zend_size_t/php_size_t


# eeb37c40 17-Dec-2013 Xinchen Hui <laruence@php.net>

Save one char compare


# 0fc8e6af 12-Dec-2013 Kalle Sommer Nielsen <kalle@php.net>

Eliminate another straight forward TSRMLS_FETCH() in zend_startup_module()

# For THTTPD:
# The code that uses a call to this function is for older versions of PHP anyway so its not covered

# For Zend OpCache:
# Added a new define for 5.6 and wrapped the code around that so its still compatible with older version


# 5d257626 28-Nov-2013 Dmitry Stogov <dmitry@zend.com>

Removed unused "pHashFunction" argument in _zend_hash_init() and family (must be 99% source compatible)


# 57c1335f 28-Nov-2013 Dmitry Stogov <dmitry@zend.com>

Don't check argument types for internal functions without type hinting


# d8c7d695 24-Nov-2013 Anatol Belski <ab@php.net>

printf int format fixes


# 1a1e83a5 17-Nov-2013 krakjoe <joe.watkins@live.co.uk>

export more Zend API


# f046189e 17-Nov-2013 krakjoe <joe.watkins@live.co.uk>

export more Zend API


# 637e9fc5 10-Nov-2013 Anatol Belski <ab@php.net>

fix 64 bit integer values


# 98c6e0d5 07-Nov-2013 Anatol Belski <ab@php.net>

first shot for 64 bit array indexes, more broken things to fix


# 82cd3779 01-Nov-2013 Bob Weinand <bobwei9@hotmail.com>

Whitespace fix


# b45043a1 01-Nov-2013 Bob Weinand <bobwei9@hotmail.com>

converted several switches to ifs and made more opcache friendly


# 23617458 31-Oct-2013 Bob Weinand <bobwei9@hotmail.com>

Working commit for constant scalar expressions (with constants).
Tests will follow.


# f6cf0064 17-Jul-2013 Anatol Belski <ab@php.net>

the very first porting try, many things not worky


# 6484eaf7 02-Jul-2013 Anthony Ferrara <ircmaxell@gmail.com>

Better test coverage


# e6f90ecc 02-Jul-2013 Anthony Ferrara <ircmaxell@gmail.com>

It compiles. Sort-of. In a way. Yeah. But nothing works. Sigh


# c224e239 01-Jul-2013 Anthony Ferrara <ircmaxell@gmail.com>

Re-do a lot of it using a conditional define, and legacy type information for APIs


# 58606fc1 29-Aug-2013 Dmitry Stogov <dmitry@zend.com>

Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)


# db11ad2e 29-Aug-2013 Xinchen Hui <laruence@php.net>

Avoid compiler warning


# acbfd16d 29-Aug-2013 Adam Harvey <aharvey@php.net>

Fix bug #65579 (Using traits with get_class_methods causes segfault).

Specifically, this checks if there are trait aliases defined in the class scope
before attempting to dereference the first trait alias. This handles the case
where a trait alias was used in a child trait but no aliases exist in the
concrete class.


# 0d7a6388 26-Sep-2013 Nikita Popov <nikic@php.net>

Implement variadic function syntax

As per RFC: https://wiki.php.net/rfc/variadics


# 96b1c214 13-Sep-2013 Nikita Popov <nikic@php.net>

Provide more macros for handling of interned strings

* str_erealloc behaves like erealloc for normal strings, but will
use emalloc+memcpy for interned strings.
* str_estrndup behaves like estrndup for normal strings, but will
not copy interned strings.
* str_strndup behaves like zend_strndup for normal strings, but
will not copy interned strings.
* str_efree_rel behaves like efree_rel for normal strings, but
will not free interned strings.
* str_hash will return INTERNED_HASH for interned strings and
compute it using zend_hash_func for normal strings.


# dfc6feb6 29-Aug-2013 Dmitry Stogov <dmitry@zend.com>

Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)


# 747daa53 29-Aug-2013 Xinchen Hui <laruence@php.net>

Avoid compiler warning


# 72027cd0 29-Aug-2013 Adam Harvey <aharvey@php.net>

Fix bug #65579 (Using traits with get_class_methods causes segfault).

Specifically, this checks if there are trait aliases defined in the class scope
before attempting to dereference the first trait alias. This handles the case
where a trait alias was used in a child trait but no aliases exist in the
concrete class.


# 8b8f7d4a 17-Jul-2013 Anatol Belski <ab@php.net>

the very first porting try, many things not worky


# 91abad1e 02-Jul-2013 Anthony Ferrara <ircmaxell@gmail.com>

Better test coverage


# 6e008d40 02-Jul-2013 Anthony Ferrara <ircmaxell@gmail.com>

It compiles. Sort-of. In a way. Yeah. But nothing works. Sigh


# ea58b542 01-Jul-2013 Anthony Ferrara <ircmaxell@gmail.com>

Re-do a lot of it using a conditional define, and legacy type information for APIs


# 9cf3e653 24-Jun-2013 Xinchen Hui <laruence@php.net>

Fixed bug (is_callable() triggers Fatal Error)

This bug is also exists in 5.4, and previous fix by dsp is not complete
for __callStatic stituation, see test script


# ecd9d762 24-Jun-2013 David Soria Parra <dsp@php.net>

Fix #65108 (is_callable() triggers Fatal Error)

We have to check if the fcall info cache contains a pointer if we
use __call, otherwise we endup in a static lookup.


# 02e4d7a2 10-Jun-2013 Stanislav Malyshev <stas@php.net>

Merge branch 'pull-request/341'

* pull-request/341: (23 commits)
typofixes


# ac40c0b5 10-Jun-2013 Stanislav Malyshev <stas@php.net>

Merge branch 'pull-request/341'

* pull-request/341: (23 commits)
typofixes


# 7dce0194 21-Mar-2013 Xinchen Hui <laruence@php.net>

Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11)


# 7687b8b8 19-Mar-2013 Anatol Belski <ab@php.net>

fix C90 compat


# 7b0993bf 19-Mar-2013 Dmitry Stogov <dmitry@zend.com>

Fixed bug #63976 (Parent class incorrectly using child constant in class property)


# b7788c52 15-Mar-2013 Nikita Popov <nikic@php.net>

Fix wrong macro usage and add missing NEWS entry


# fcc6611d 16-Feb-2013 Nikita Popov <nikic@php.net>

Add support for non-scalar Iterator keys in foreach

RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys


# 07590e6e 09-Jan-2013 Gustavo Lopes <gustavo@icemobile.com>

Export zend_parse_parameter()


# a666285b 01-Jan-2013 Xinchen Hui <laruence@php.net>

Happy New Year


# 0a7395e0 01-Jan-2013 Xinchen Hui <laruence@php.net>

Happy New Year


# 831fbcf3 01-Jan-2013 Xinchen Hui <laruence@php.net>

Happy New Year


# 3d86e6d8 10-Dec-2012 Xinchen Hui <laruence@php.net>

Fixed bug #63726 (Memleak with static properties and internal/user classes)

No test scripts provided (will try to find one)


# ad553a7a 10-Dec-2012 Xinchen Hui <laruence@php.net>

Fixed bug #63726 (Memleak with static properties and internal/user classes)


# 396c1e99 19-Nov-2012 Dmitry Stogov <dmitry@zend.com>

Fixed bug #63468 (wrong called method as callback with inheritance)


# 4db74b7f 21-Sep-2012 Dmitry Stogov <dmitry@zend.com>

Fixed bug #63111 (is_callable() lies for abstract static method)


# 4c6678d6 15-Sep-2012 Xinchen Hui <laruence@php.net>

Fixed bug #63093 (Segfault while load extension failed in zts-build).


# 22f55d56 22-Aug-2012 Anatoliy Belsky <ab@php.net>

Fixed bug #62313 Zend\tests\errmsg_021.phpt fails


# 001966c7 19-Aug-2012 Felipe Pena <felipensp@gmail.com>

- Value stored to var is never used


# f4a315fc 04-Aug-2012 Xinchen Hui <laruence@php.net>

This becomes useless, since we have set that in the INIT macro


# 03a1fcab 04-Aug-2012 Xinchen Hui <laruence@php.net>

Fixed bug #62744 (dangling pointers made by zend_disable_class)

the test will be added while commit the fix for #62737


# 13f1d53b 18-Jul-2012 Gustavo André dos Santos Lopes <cataphract@php.net>

Expose zend_parse_arg() as zend_parse_parameter()

Sometimes, one wants to accept several types for a given parameter. zpp
has special functionality for detecting the NULL type, since the NULL
type is frequently used to skip parameters.

However, supporting several types is otherwise very tedious. There are
many cases where this situation arises -- for instance one may want
to accept an arbitrary number of integer and expect them in an array,
but allow a bare integer too; one may want to accept something that
will be used as an array key (which can be either and int or a string);
one may want to accept integer and double numbers. A search for IS_LONG
reveals many situations where this need arises.

The usual solution is to fetch the argument with 'z'/'Z', check its
type, and then convert the argument, e.g. with convert_to_long_ex().
As explain in the last commit, this has different behavior and
generates inconsistency.

Another -- even more flawed strategy --, is to try zpp with a specific
format, forcing it quiet, and if it fails retrying with another form.
But because zpp changes the arguments directly in the stack (for
instance, using "l" converts the zval in the stack to IS_LONG), the
arguments may look different after the first zpp, leaving subtle bugs.

This commit also allows more complex scenarios, for instance where the
expected type of one parameter depends on other parameters.


# 980dc711 18-Jul-2012 Gustavo André dos Santos Lopes <cataphract@php.net>

zend_parse_parameters: allow ! for non pointers

This commit allows getting information about whether a certain value
was a NULL value by using the ! modifier together with the l/L, d and
b.

Example:
long l;
zend_bool is_null;
zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l!", &l, &is_null)

For the specifiers l/L, d and b, NULL values are reported as 0, 0., or
false. But sometimes one wants to distinguish NULL from those other
values -- for instance, to give NULL the same effect as the argument
not having been passed.

The usual way this problem is handled is by fetching the parameter
with 'z' or 'Z', check if it is NULL and if not use
convert_to_long_ex()/convert_to_double_ex(), etc. Unfortunately, this
is not equivalent. convert_to_long_ex() does a cast, while zpp() is
stricter. For instance, zpp will not accept 'foo' for a long argument,
and it will emit a notice when encountering '5foo'.

In fact, the only way to otherwise zpp semantics (without duplicating
its logic) is to fetch the raw zval from the stack and check whether
it's NULL (with zpp itself or its relatives) and then run zpp again.
That is not an elegant solution.


# 82c05eed 05-Apr-2012 Johannes Schlüter <johannes@schlueters.de>

Copy default properties of internal classes for different threads


# ecf8986a 06-Mar-2012 Derick Rethans <derick@php.net>

Add the ZEND_DONT_UNLOAD_MODULES environment variable for debugging to 5.3 as
well.


# e182aeec 05-Mar-2012 Dmitry Stogov <dmitry@php.net>

Fixed module numbering


# 56a3f7ec 05-Mar-2012 Dmitry Stogov <dmitry@php.net>

Fixed module numbering


# ecdf2012 05-Mar-2012 Dmitry Stogov <dmitry@php.net>

Fixed module numbering


# 0e4d46a3 02-Mar-2012 Xinchen Hui <laruence@php.net>

MFH: Fix bug #61165 (Segfault - strip_tags())


# 5f4ae284 26-Feb-2012 Xinchen Hui <laruence@php.net>

Improve fix for #61165, the previous one cause #43450 test failed


# 1923ecfe 26-Feb-2012 Xinchen Hui <laruence@php.net>

Improve fix for #61165, the previous one cause #43450 test failed


# cfa9c90b 25-Feb-2012 Xinchen Hui <laruence@php.net>

Fixed bug #61165 (Segfault - strip_tags())


# 1ee93c83 25-Feb-2012 Xinchen Hui <laruence@php.net>

Fixed bug #61165 (Segfault - strip_tags())


# e4ca0ed0 01-Jan-2012 Felipe Pena <felipe@php.net>

- Year++


# 8775a375 01-Jan-2012 Felipe Pena <felipe@php.net>

- Year++


# 4e198252 01-Jan-2012 Felipe Pena <felipe@php.net>

- Year++


# ada5cda0 31-Oct-2011 Stefan Marr <gron@php.net>

Fixed Bug #60173 (Wrong error message on reflective trait instantiation)


# 2e5d5e5a 31-Oct-2011 Stefan Marr <gron@php.net>

Fixed Bug #60173 (Wrong error message on reflective trait instantiation)


# 4a25a774 13-Sep-2011 Dmitry Stogov <dmitry@php.net>

Fixed ZE specific compile warnings (Bug #55629)


# e43ff135 13-Sep-2011 Dmitry Stogov <dmitry@php.net>

Fixed ZE specific compile warnings (Bug #55629)


# e5553b21 07-Sep-2011 Hannes Magnusson <bjori@php.net>

Revert r316345 which fixes all the tests again


# 4e9a7658 07-Sep-2011 Hannes Magnusson <bjori@php.net>

Revert r316345 which fixes all the tests again


# 59614b05 07-Sep-2011 Pierre Joye <pajoye@php.net>

- reject paths with trainling spaces using the very good new zend arg


# 6b4717da 07-Sep-2011 Pierre Joye <pajoye@php.net>

- reject paths with trainling spaces using the very good new zend arg


# 306c4202 16-Aug-2011 Hannes Magnusson <bjori@php.net>

Callable typehint following the rules of is_callable($arg, false);


# 550980cf 16-Aug-2011 Hannes Magnusson <bjori@php.net>

Callable typehint following the rules of is_callable($arg, false);


# f9ca0cac 07-Aug-2011 Felipe Pena <felipe@php.net>

- Revert r314387
(property_info.name has the mangled name)


# 619cfeef 07-Aug-2011 Felipe Pena <felipe@php.net>

- Revert r314387
(property_info.name has the mangled name)


# e2315d29 07-Aug-2011 Rasmus Lerdorf <rasmus@php.net>

Use property_info.name here instead since *name might be free'ed at this point
@dmitry please review


# 71af9259 07-Aug-2011 Rasmus Lerdorf <rasmus@php.net>

Use property_info.name here instead since *name might be free'ed at this point
@dmitry please review


# 13eb47a8 06-Aug-2011 Felipe Pena <felipe@php.net>

- Added missing PHP_FE_END/ZEND_FE_END


# 783b0532 06-Aug-2011 Felipe Pena <felipe@php.net>

- Added missing PHP_FE_END/ZEND_FE_END


# 9c289189 06-Aug-2011 Felipe Pena <felipe@php.net>

- Added missing PHP_FE_END/ZEND_FE_END


# 2b6a290d 05-Aug-2011 Rasmus Lerdorf <rasmus@php.net>

Another potential missing va_end() found by Coverity


# c1c2e18c 05-Aug-2011 Rasmus Lerdorf <rasmus@php.net>

Another potential missing va_end() found by Coverity


# dc1e1481 05-Aug-2011 Rasmus Lerdorf <rasmus@php.net>

Another potential missing va_end() found by Coverity


# ecd9d194 14-Jul-2011 Derick Rethans <derick@php.net>

- Added a check for an enviroment variable (ZEND_DONT_UNLOAD_MODULES) that, if
set, prevents PHP from dl_closing() modules on shutdown.
- This makes it possible to spot memory leaks with valgrind in shared modules.


# 4e5960ed 14-Jul-2011 Derick Rethans <derick@php.net>

- Added a check for an enviroment variable (ZEND_DONT_UNLOAD_MODULES) that, if
set, prevents PHP from dl_closing() modules on shutdown.
- This makes it possible to spot memory leaks with valgrind in shared modules.


# 17a7fd06 10-Jul-2011 Felipe Pena <felipe@php.net>

- Minor optimization taking the computed hash of interned strings


# 9aa25d09 10-Jul-2011 Felipe Pena <felipe@php.net>

- Minor optimization taking the computed hash of interned strings


# 5d20a8f8 10-Jul-2011 Felipe Pena <felipe@php.net>

- Minor optimization, use the computed hash when available


# ce211cf5 10-Jul-2011 Felipe Pena <felipe@php.net>

- Minor optimization, use the computed hash when available


# 0a0443f0 09-Jun-2011 Felipe Pena <felipe@php.net>

- Missing fixes for grammar fix 's/valid path/a valid path/'


# 8f4d4979 09-Jun-2011 Felipe Pena <felipe@php.net>

- Missing fixes for grammar fix 's/valid path/a valid path/'


# ddaddf6c 08-Jun-2011 Felipe Pena <felipe@php.net>

s/valid path/a valid path/


# 547ab485 08-Jun-2011 Felipe Pena <felipe@php.net>

s/valid path/a valid path/


# 32b5f8a1 06-Jun-2011 Felipe Pena <felipe@php.net>

- Added new parameter parsing option (p - for valid path (string without null byte in the middle))
# The tests will be fixed in the next commits


# 4737910b 06-Jun-2011 Felipe Pena <felipe@php.net>

- Added new parameter parsing option (p - for valid path (string without null byte in the middle))
# The tests will be fixed in the next commits


# e1861890 03-Jun-2011 Stanislav Malyshev <stas@php.net>

scalar types cleanup


# d7c9c5af 03-Jun-2011 Stanislav Malyshev <stas@php.net>

scalar types cleanup


# eaeb4537 31-May-2011 Dmitry Stogov <dmitry@php.net>

MFH: Fixed bug #54910 (Crash when calling call_user_func with unknown function name)


# c989a369 31-May-2011 Dmitry Stogov <dmitry@php.net>

Fixed bug #54910 (Crash when calling call_user_func with unknown function name)


# d9ba7820 31-May-2011 Dmitry Stogov <dmitry@php.net>

Fixed bug #54910 (Crash when calling call_user_func with unknown function name)


# 6aed8176 31-Mar-2011 Pierre Joye <pajoye@php.net>

- fix bug #54423, fix build in trunk, introduce by previous related commit


# dd5781bc 31-Mar-2011 Antony Dovgal <tony2001@php.net>

fix bug #54423 (classes from dl()'ed extensions are not destroyed)


# 6e7a3015 31-Mar-2011 Antony Dovgal <tony2001@php.net>

fix bug #54423 (classes from dl()'ed extensions are not destroyed)


# 64bbdd76 12-Jan-2011 Felipe Pena <felipe@php.net>

- Fixed bug #53717 (checking the number of arguments is wrong in zend_parse_method_parameters_ex())
patch by: klaus at triendl dot eu


# c6544fad 12-Jan-2011 Felipe Pena <felipe@php.net>

- Fixed bug #53717 (checking the number of arguments is wrong in zend_parse_method_parameters_ex())
patch by: klaus at triendl dot eu


# 927bf09c 01-Jan-2011 Felipe Pena <felipe@php.net>

- Year++


# 0203cc3d 01-Jan-2011 Felipe Pena <felipe@php.net>

- Year++


# 3690ce39 15-Oct-2010 Dmitry Stogov <dmitry@php.net>

zend_collect_module_handlers() has to be called after zend_extensions startup, because they can register additional 'hidden' extensions


# aaa2f1c3 14-Oct-2010 Hartmut Holzgraefe <hholzgra@php.net>

marked char pointer arguments as const in lots of
places where strings pointed to are not modified
to prevent compiler warnings about discarded qualifiers ...


# f2df6a4a 15-Sep-2010 Dmitry Stogov <dmitry@php.net>

- Improved memory usage
. zend_function.pass_rest_by_reference is replaced by
ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags
. zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE
in zend_function.fn_flags
. zend_arg_info.required_num_args removed. it was needed only for internal
functions. Now the first arg_info for internal function (which has special
meaning) is represented by zend_internal_function_info structure.
. zend_op_array.size, size_var, size_literal, current_brk_cont,
backpatch_count moved into CG(context), because they are used only during
compilation.
. zend_op_array.start_op is moved into EG(start_op), because it's used
only for 'interactive' execution of single top-level op-array.
. zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in
zend_op_array.fn_flags.
. op_array.vars array is trimmed (reallocated) during pass_two.
. zend_class_entry.constants_updated is replaced by
ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags
. the size of zend_class_entry is reduced by sharing the same memory space
by different information for internal and user classes.
See zend_class_inttry.info union.


# 984560f9 12-Aug-2010 Sascha Schumann <sas@php.net>

separate properties of internal classes in ZTS mode fully,
otherwise multiple threads will modify the zvals' contents
without any synchronisation.


# 50a0ea7b 12-Aug-2010 Sascha Schumann <sas@php.net>

separate properties of internal classes in ZTS mode fully,
otherwise multiple threads will modify the zvals' contents
without any synchronisation.


# 7566ff38 11-Aug-2010 Dmitry Stogov <dmitry@php.net>

Fixed support for static properties of internal classes


# 3ea3bbac 06-Jul-2010 Felipe Pena <felipe@php.net>

- Fix ZTS build


# 1a1178a6 06-Jul-2010 Dmitry Stogov <dmitry@php.net>

eliminated unnecessary iterations during request startup/shutdown


# 578d3159 26-May-2010 Dmitry Stogov <dmitry@php.net>

Conditional compilation is replaced by macro


# 435aa876 25-May-2010 Antony Dovgal <tony2001@php.net>

fix zend_std_get_static_property() in ZTS mode


# f7ce6958 25-May-2010 Dmitry Stogov <dmitry@php.net>

- Interned string related callbacks moved turned from compiler_globals into real globals
- Updated API version number


# 33fae4ca 24-May-2010 Ilia Alshanetsky <iliaa@php.net>

Added support for numeric & scalar type hint as defined within
http://wiki.php.net/rfc/typecheckingstrictandweak RFC


# f23e8576 24-May-2010 Dmitry Stogov <dmitry@php.net>

Fixed ZTS build


# c5237d82 24-May-2010 Dmitry Stogov <dmitry@php.net>

Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties


# 1bc92476 20-May-2010 Derick Rethans <derick@php.net>

- Added scalar typehinting.


# f5f4a359 14-May-2010 Felipe Pena <felipe@php.net>

- Fixed bug #51827 (Bad warning when register_shutdown_function called with wrong num of parameters)


# c9fc939b 14-May-2010 Felipe Pena <felipe@php.net>

- Fixed bug #51827 (Bad warning when register_shutdown_function called with wrong num of parameters)


# f4b927a4 11-May-2010 Dmitry Stogov <dmitry@php.net>

Fixed a possible memory corruption because of unexpected call-time pass by refernce and following memory clobbering through callbacks.


# 5b18acdc 11-May-2010 Dmitry Stogov <dmitry@php.net>

Fixed a possible memory corruption because of unexpected call-time pass by refernce and following memory clobbering through callbacks.


# 3a15e981 04-May-2010 Dmitry Stogov <dmitry@php.net>

Fixed a possible memory corruption in addcslashes().


# eb7e848f 28-Apr-2010 Johannes Schlüter <johannes@php.net>

spread some more const


# dd5c478b 20-Apr-2010 Dmitry Stogov <dmitry@php.net>

Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed.


# 94dd8372 20-Apr-2010 Dmitry Stogov <dmitry@php.net>

Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table


# 15a3c450 11-Feb-2010 Pierre Joye <pajoye@php.net>

- those are in 5.3.2 now, merge to 5.3.2 section is coming


# 13a78acb 05-Jan-2010 Sebastian Bergmann <sebastian@php.net>

sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php


# 35e83d2a 05-Jan-2010 Sebastian Bergmann <sebastian@php.net>

sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php


# d2281d1d 05-Jan-2010 Sebastian Bergmann <sebastian@php.net>

sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php


# b9acd570 24-Dec-2009 Stanislav Malyshev <stas@php.net>

fix flags handling in zend_parse_method_parameters_ex


# 6ae89a4c 24-Dec-2009 Stanislav Malyshev <stas@php.net>

fix flags handling in zend_parse_method_parameters_ex


# 29ac18dd 24-Dec-2009 Stanislav Malyshev <stas@php.net>

fix flags handling in zend_parse_method_parameters_ex


# 832e1813 30-Nov-2009 Dmitry Stogov <dmitry@php.net>

Reverted accidental change


# 9ef40c12 30-Nov-2009 Dmitry Stogov <dmitry@php.net>

Fixed bug #50261 (Crash When Calling Parent Constructor with call_user_func())


# 5c56abb6 30-Nov-2009 Dmitry Stogov <dmitry@php.net>

Fixed bug #50261 (Crash When Calling Parent Constructor with call_user_func())


# ad929b4a 16-Nov-2009 David Soria Parra <dsp@php.net>

Add object-create and object-destroy dtrace probe


# 51986f9c 13-Nov-2009 Felipe Pena <felipe@php.net>

- Drop brackets


# 98c32cf3b 05-Sep-2009 Pierre Joye <pajoye@php.net>

- WS


# 9ec72d04 05-Sep-2009 Pierre Joye <pajoye@php.net>

- don't hide early declaration


# 7f36b2ea 05-Sep-2009 Pierre Joye <pajoye@php.net>

- don't hide early declaration


# ac40eed8 05-Sep-2009 Pierre Joye <pajoye@php.net>

- don't hide early declaration


# c54f6df9 06-Aug-2009 Scott MacVicar <scottmac@php.net>

Fix bug #48575 - Use dlopen() just like all the other *nixes instead of OSX specific code.


# afcc47ef 06-Aug-2009 Scott MacVicar <scottmac@php.net>

Fix bug #48575 - Use dlopen() just like all the other *nixes instead of OSX specific code.


# bffd0807 15-Jul-2009 Felipe Pena <felipe@php.net>

- MFH: Fixed bug #48899 (is_callable returns true even if method does not exist in parent class)


# dd6e75c2 15-Jul-2009 Felipe Pena <felipe@php.net>

- Fixed bug #48899 (is_callable returns true even if method does not exist in parent class)


# b907aa43 04-Jun-2009 Matt Wilmas <mattwil@php.net>

MFH:
Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior:
* Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit)
* See bug #42868 (presumably-rare platform with different results in 5.2)
* On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added,
otherwise it's the same as 5.2
* Use this conversion method everywhere instead of some plain (long) casts

Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit:
* Essentially what 5.3's new conversion was doing in most cases
* Functions with "limit" or "length" type params could be updated to use this,
and prevent confusing overflow behavior with huge numbers (*also* in 5.2)
- See bug #47854, for example; or even #42868 again

# Test updates coming


# 8aa97270 04-Jun-2009 Matt Wilmas <mattwil@php.net>

Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior:
* Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit)
* See bug #42868 (presumably-rare platform with different results in 5.2)
* On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added,
otherwise it's the same as 5.2
* Use this conversion method everywhere instead of some plain (long) casts

Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit:
* Essentially what 5.3's new conversion was doing in most cases
* Functions with "limit" or "length" type params could be updated to use this,
and prevent confusing overflow behavior with huge numbers (*also* in 5.2)
- See bug #47854, for example; or even #42868 again

# Test updates coming


# 6d34e06a 25-May-2009 Felipe Pena <felipe@php.net>

- Dropped *_TEXT* macros in favor of unicode macros direct usage


# 0c54cd40 08-May-2009 Scott MacVicar <scottmac@php.net>

PPC machines mark char as unsigned, rather than signed.
This caused a segfault when using the T type for zend_parse_parameters because the default value
ended up being 255 and never -1


# 78d2e0b9 06-Apr-2009 Dmitry Stogov <dmitry@php.net>

Bug #47880 (crashes in call_user_func_array())


# 82b86c1c 06-Apr-2009 Dmitry Stogov <dmitry@php.net>

Bug #47880 (crashes in call_user_func_array())


# f970a1e5 02-Apr-2009 Dmitry Stogov <dmitry@php.net>

Fixed bug #47851 (is_callable throws fatal error)


# 875a27b7 02-Apr-2009 Dmitry Stogov <dmitry@php.net>

Fixed bug #47851 (is_callable throws fatal error)


# 8ecf8ede 26-Mar-2009 Felipe Pena <felipe@php.net>

- Removed:
- UG(unicode) checks
- pcre_cache_entry.unicode_mode
- Changed:
- ZEND_STR_TYPE -> IS_UNICODE
- convert_to_text -> convert_to_unicode
- convert_to_text_ex -> convert_to_unicode_ex

(Felipe, Steph)


# 5dda7e70 24-Mar-2009 Dmitry Stogov <dmitry@php.net>

Fixed double efree()


# 343bcc26 24-Mar-2009 Dmitry Stogov <dmitry@php.net>

Fixed double efree()


# a7fceff3 24-Mar-2009 Dmitry Stogov <dmitry@php.net>

Fixed double efree()


# 2cfd6cd1 14-Jan-2009 Dmitry Stogov <dmitry@php.net>

Fixed __call() to be invoked on private/protected method access through callback
s


# 5d060ebe 14-Jan-2009 Dmitry Stogov <dmitry@php.net>

Fixed __call() to be invoked on private/protected method access through callbacks


# 7ac1f7ee 08-Jan-2009 Andrei Zmievski <andrei@php.net>

Handle __call() on protected/private method access for callbacks too.


# ef49b9a8 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 3 of 3.


# 08659c2d 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 3 of 3.


# 7f4dc870 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

Bump copyright year, 3 of 3.


# 3e94ce6a 19-Dec-2008 SVN Migration <svn@php.net>

This commit was manufactured by cvs2svn to create tag 'NEWS'.


# 636b2c9a 04-Dec-2008 Stanislav Malyshev <stas@php.net>

MF5: Merge namespaces changes


# e5454b35 27-Nov-2008 Dmitry Stogov <dmitry@php.net>

Fixed bug #46409 (__invoke method called outside of object context when using array_map)


# 7d4fd3fd 27-Nov-2008 Dmitry Stogov <dmitry@php.net>

Fixed bug #46409 (__invoke method called outside of object context when using array_map)


# 3a54f031 25-Nov-2008 Stanislav Malyshev <stas@php.net>

cleanup


# 2016a84c 25-Nov-2008 Stanislav Malyshev <stas@php.net>

cleanup


# 04c16527 24-Nov-2008 Stanislav Malyshev <stas@php.net>

add object-compatible array parameters


# fce39ed9 24-Nov-2008 Stanislav Malyshev <stas@php.net>

add object-compatible array modes


# 7126de49 04-Nov-2008 Marcus Boerger <helly@php.net>

- Next step in namespaces, using / as namespace separator.


# 3c5ff0f8 10-Oct-2008 Dmitry Stogov <dmitry@php.net>

Fixed bug #46246 (difference between call_user_func(array($this, $method)) and $this->$method())


# a54d8e5d 10-Oct-2008 Dmitry Stogov <dmitry@php.net>

Fixed bug #46246 (difference between call_user_func(array($this, $method)) and $this->$method())


# 72daf80c 22-Aug-2008 Antony Dovgal <tony2001@php.net>

MFH: fix zend_register_functions() not displaying duplicate functions (reported by Gopal)


# b6a2c272 22-Aug-2008 Antony Dovgal <tony2001@php.net>

MFH: fix zend_register_functions() not displaying duplicate functions (reported by Gopal)


# dcb76bf1 22-Aug-2008 Antony Dovgal <tony2001@php.net>

fix zend_register_functions() not displaying duplicate functions (reported by Gopal)


# f90255c6 14-Aug-2008 Etienne Kneuss <colder@php.net>

MFH: Handlerify get_closure


# 6423606a 14-Aug-2008 Etienne Kneuss <colder@php.net>

Handlerify get_closure


# 66dab838 13-Aug-2008 Felipe Pena <felipe@php.net>

- Fix build


# 3a9f17df 13-Aug-2008 Felipe Pena <felipe@php.net>

- Fix build


# cf7384aa 12-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Constness (Added const qualifier to several function parameters)


# a5f867f3 12-Aug-2008 Felipe Pena <felipe@php.net>

- Constness (Added const qualifier to several function parameters)


# 106864bc 11-Aug-2008 Marcus Boerger <helly@php.net>

- MFH Fix memleak with new error handling stack'ing


# 320c9544 11-Aug-2008 Marcus Boerger <helly@php.net>

- Fix memleak with new error handling stack'ing


# 3f7a4b7e 08-Aug-2008 Marcus Boerger <helly@php.net>

- MFH error handling, now with save, replace, restore


# 034d2e59 08-Aug-2008 Marcus Boerger <helly@php.net>

- Turns out the easy solution for correct error_handling doesn't work. So
we need to provide save/replace/restore functions right away. It also
to save/restore in the vm.


# 43f278cc 07-Aug-2008 Dmitry Stogov <dmitry@php.net>

Fixed bug #45744 (Case sensitive callback behaviour)


# d24ecd14 07-Aug-2008 Dmitry Stogov <dmitry@php.net>

Fixed bug #45744 (Case sensitive callback behaviour)


# e304515d 02-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Added parameter TSRMLS_DC in zend_is_callable()


# 611ecc51 02-Aug-2008 Felipe Pena <felipe@php.net>

- Added parameter TSRMLS_DC in zend_is_callable()


# 11bc1de7 02-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Removed unnecessary TSRMLS_FETCH()


# dd3d9fc4 02-Aug-2008 Felipe Pena <felipe@php.net>

- Removed unnecessary TSRMLS_FETCH()


# 182de3e9 29-Jul-2008 Antony Dovgal <tony2001@php.net>

add zend_u_read_property() and zend_u_update_property()


# d379f1fd 26-Jul-2008 Dmitry Stogov <dmitry@php.net>

Added checks for destroied objects


# 8ee5b58b 26-Jul-2008 Dmitry Stogov <dmitry@php.net>

Added checks for destroied objects


# bdf7981e 26-Jul-2008 Dmitry Stogov <dmitry@php.net>

Fixed is_callable/call_user_func mess that had done different things for very similar arguments e.g. array("A","B") and "A::B"


# af05ce0a 26-Jul-2008 Dmitry Stogov <dmitry@php.net>

Fixed is_callable/call_user_func mess that had done different things for very similar arguments e.g. array("A","B") and "A::B"


# 0fbe6a0c 24-Jul-2008 Felipe Pena <felipe@php.net>

- MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments.


# 8e1b4a55 24-Jul-2008 Felipe Pena <felipe@php.net>

- Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments.


# 72dfe666 24-Jul-2008 Dmitry Stogov <dmitry@php.net>

LSB parent/self forwarding


# feb85801 24-Jul-2008 Dmitry Stogov <dmitry@php.net>

LSB parent/self forwarding


# 0fa7fedf 14-Jul-2008 Dmitry Stogov <dmitry@php.net>

Fixed is_callable() to support closures and return appropriate function name


# 84625f5e 14-Jul-2008 Dmitry Stogov <dmitry@php.net>

Fixed is_callable() to support closures and return appropriate function name


# d5ef2f46 14-Jul-2008 Dmitry Stogov <dmitry@php.net>

Added support for lambda functions and closures


# 8d2e0a7e 08-Jul-2008 Dmitry Stogov <dmitry@php.net>

Added closures support


# 579dcade 05-Jun-2008 Felipe Pena <felipe@php.net>

- MFB: Fixed bug #45186 (__call depends on __callstatic in class scope)


# 0da88458 05-Jun-2008 Felipe Pena <felipe@php.net>

- Fixed bug #45186 (__call depends on __callstatic in class scope)


# 7da75d81 27-May-2008 Matt Wilmas <mattwil@php.net>

MFH: Add array_init_size() and use it where array size is known at initialization


# 9c37df90 27-May-2008 Matt Wilmas <mattwil@php.net>

Add array_init_size() and use it where array size is known at initialization


# 1e267607 12-May-2008 Dmitry Stogov <dmitry@php.net>

Added API to use namesapces in internal extensions


# 907fa665 12-May-2008 Dmitry Stogov <dmitry@php.net>

Added API to use namesapces in internal extensions


# 1e650ca3 08-May-2008 Felipe Pena <felipe@php.net>

- MFH: Fixed detection of invalid class name


# 49609927 08-May-2008 Felipe Pena <felipe@php.net>

- Fixed detection of invalid class name


# cb9f7f67 08-May-2008 Felipe Pena <felipe@php.net>

- Fix valgrind report (Conditional jump or move depends on uninitialised value)


# 5a0253c1 05-May-2008 Dmitry Stogov <dmitry@php.net>

Support for old-style constructors in namespaces


# a0f5a72a 05-May-2008 Dmitry Stogov <dmitry@php.net>

Support for old-style constructors in namespaces


# f2ca4aaf 26-Mar-2008 Antony Dovgal <tony2001@php.net>

allow NULL argument to be passed where binary string expected


# ad40998e 25-Mar-2008 Dmitry Stogov <dmitry@php.net>

Optimized detection of "__call" and "__callstatic" methods.


# 00346c2d 25-Mar-2008 Dmitry Stogov <dmitry@php.net>

Optimized detection of "__call" and "__callstatic" methods.


# 2b10c53a 18-Mar-2008 Felipe Pena <felipe@php.net>

MFH: Dropped zend.ze1_compatibility_mode
[DOC]


# ba9ad966 06-Mar-2008 Antony Dovgal <tony2001@php.net>

MFH: fix segfault when trying to clone uncloneable object


# cbdc4b9a 06-Mar-2008 Antony Dovgal <tony2001@php.net>

fix segfault when trying to clone uncloneable object because of zend.ze1_compatibility_mode which we should have got rid of years ago


# d6aacd5e 05-Mar-2008 Felipe Pena <felipe@php.net>

Fixed error message on unicode mode


# 87784c32 19-Feb-2008 Sebastian Bergmann <sebastian@php.net>

MFH: Fugbix typo.


# 1b03ecf1 19-Feb-2008 Sebastian Bergmann <sebastian@php.net>

MFH: Fugbix typo.


# b1d4185f 19-Feb-2008 Sebastian Bergmann <sebastian@php.net>

Fugbix typo.


# f29c6b45 15-Feb-2008 Dmitry Stogov <dmitry@php.net>

MFH: Fixed bug #43128 (Very long class name causes segfault)


# da2a1799 09-Feb-2008 Marcus Boerger <helly@php.net>

- MFH Windows build fix


# 43b623f2 09-Feb-2008 Marcus Boerger <helly@php.net>

- Windows build fix


# c7f71a7d 07-Feb-2008 Marcus Boerger <helly@php.net>

- MFH Simplify


# 7329e71e 07-Feb-2008 Marcus Boerger <helly@php.net>

- Simplify


# cbf04002 06-Feb-2008 Marcus Boerger <helly@php.net>

- Is there an easier way to figure out something is a string?


# 812d2030 06-Feb-2008 Marcus Boerger <helly@php.net>

- Fix unicode
# I hate unicode, it is getting tooo complex


# b7b41a66 06-Feb-2008 Marcus Boerger <helly@php.net>

- MFH Fix missing check and tests


# 4ad89748 06-Feb-2008 Marcus Boerger <helly@php.net>

- Fix missing check and tests


# 0976a264 05-Feb-2008 Marcus Boerger <helly@php.net>

- MFH Fix cross class tree reference issues with callbacks (colder,helly)


# 7c377ca1 05-Feb-2008 Marcus Boerger <helly@php.net>

- Fix cross class tree reference issues with callbacks


# 27f610f7 04-Feb-2008 Marcus Boerger <helly@php.net>

- Spread some %v's


# 49048895 02-Feb-2008 Antony Dovgal <tony2001@php.net>

MFH: fix leak appearing when calling non-static protected or private methods as static


# 803d3a82 02-Feb-2008 Antony Dovgal <tony2001@php.net>

fix leak appearing when calling non-static protected or private methods as static
(error message is allocated twice)


# da5b979f 02-Feb-2008 Marcus Boerger <helly@php.net>

- MFH Add comment that explains why we need E_ERROR in those cases


# 8b12839a 02-Feb-2008 Marcus Boerger <helly@php.net>

-Add comment that explains wh we need E_ERROR in those cases


# f7a0a44b 02-Feb-2008 Marcus Boerger <helly@php.net>

- MFB static callable message mess


# ac8e76c7 02-Feb-2008 Marcus Boerger <helly@php.net>

- Fix remaining issue (should be last one)


# 7769fda1 02-Feb-2008 Marcus Boerger <helly@php.net>

- Drop useless TODO, this would need to be fixed in a generic way


# 95a3cccf 02-Feb-2008 Marcus Boerger <helly@php.net>

- Fix flag handling in message generation


# 539eaced 02-Feb-2008 Rasmus Lerdorf <rasmus@php.net>

What's the [0] for here? Looks wrong and causes stuff to segv


# 45db15ad 01-Feb-2008 Rasmus Lerdorf <rasmus@php.net>

Small tweak. Need to make array and string callback syntax behave the
same way. Also change "cannot" to "should not" since we obviously
"can" make the call.


# e8a8acdf 01-Feb-2008 Marcus Boerger <helly@php.net>

[DOC]
- Fix callable/static mess, the following will now all result in a E_STRICT
. binding a dynamic function as a static callback
. static call of a dynamic function
. is_callable() on a static binding to a dynamic function
# [marcus@frodo PHP_5_3]$ php -a -d error_reporting=8191
# make: `sapi/cli/php' is up to date.
# Interactive shell
#
# php > class t{ function f() { echo "Funny\n"; } }
# php > $c = array("t","f");
# php > call_user_func($c);
#
# Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method t::f() cannot be called statically in php shell code on line 1
# Funny
# php > var_dump(is_callable($c));
#
# Strict Standards: Non-static method t::f() cannot be called statically in php shell code on line 1
# bool(true)
# php > t::f();
#
# Strict Standards: Non-static method t::f() should not be called statically in php shell code on line 1
# Funny
# php >


# dfd32b69 24-Jan-2008 Dmitry Stogov <dmitry@php.net>

Fixed GC bug


# 03c018d3 24-Jan-2008 Dmitry Stogov <dmitry@php.net>

Fixed GC bug


# 2971e138 24-Jan-2008 Dmitry Stogov <dmitry@php.net>

Changed EG(argument_stack) implementation.


# 0b682510 24-Jan-2008 Dmitry Stogov <dmitry@php.net>

Changed EG(argument_stack) implementation.


# d9f3a130 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 2 of 2.


# d1dded87 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 2 of 2.


# 9b620d50 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

Bump copyright year, 2 of 2.


# 1ccc6a4f 25-Dec-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #43651 (is_callable() with one or more nonconsecutive colons crashes)


# 43f6392e 25-Dec-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #43651 (is_callable() with one or more nonconsecutive colons crashes)


# 11a93f62 21-Dec-2007 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #43644 (is_callable(':') crashes)


# 47dc82ec 22-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #43128 (Very long class name causes segfault)


# 648fbe9d 22-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #43128 (Very long class name causes segfault)


# c3ab6bd0 20-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #43136 (possible crash on script execution timeout. The EG(function_state_ptr) is completely removed, EG(current_execute_data)->function_state must be used instead)


# 129c125f 05-Nov-2007 Jani Taskinen <jani@php.net>

- Fix confusing logic (sync with HEAD)


# b4892511 02-Nov-2007 Jani Taskinen <jani@php.net>

- MFH from HEAD:
. Folding tags
. Parameter parsing
. SPL debug info
. array function improvements (not all yet)
. Improvements to function calling with call_user_* functions
. Improvements to debugging info in var_dump/print_r
# I propably forgot already something but this all was pretty close tied
# to each other so it wasn't possible to do it in parts.


# 7bfd3459 01-Nov-2007 Jani Taskinen <jani@php.net>

cs + ws


# 7cef86c2 30-Oct-2007 Antony Dovgal <tony2001@php.net>

backport zero args checks from HEAD
(fixes error message when passing parameters to a function accepting none)


# b38282c3 29-Oct-2007 Sara Golemon <pollita@php.net>

Backport +/* vararg specifiers from PHP6


# 4b4d634c 07-Oct-2007 Yiduo (David) Wang <davidw@php.net>

MFH: Added macros for managing zval refcounts and is_ref statuses


# 95da0dc5 07-Oct-2007 Yiduo (David) Wang <davidw@php.net>

Added macros for managing zval refcounts and is_ref statuses


# b6817f82 30-Sep-2007 Ilia Alshanetsky <iliaa@php.net>

Nuke unused vars


# b20ed0d2 29-Sep-2007 Dmitry Stogov <dmitry@php.net>

Added support for __callstatic() magic method. (Sara)


# 51640ce6 29-Sep-2007 Dmitry Stogov <dmitry@php.net>

optimization


# 166266df 29-Sep-2007 Dmitry Stogov <dmitry@php.net>

Added support for Late Static Binding. (Dmitry, Etienne Kneuss)


# f32ffe9b 28-Sep-2007 Dmitry Stogov <dmitry@php.net>

Namespaces


# 8146078f 27-Sep-2007 Dmitry Stogov <dmitry@php.net>

Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)


# 6c810b0d 27-Sep-2007 Dmitry Stogov <dmitry@php.net>

Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)


# 189ac4f2 26-Sep-2007 Dmitry Stogov <dmitry@php.net>

Late Static Binding (Dmitry, Etienne Kneuss)


# 90d58d46 31-Aug-2007 Antony Dovgal <tony2001@php.net>

MFH: prohibit arguments by ref in magic methods


# e8a72ac5 31-Aug-2007 Antony Dovgal <tony2001@php.net>

prohibit arguments by ref in magic methods


# c7d82c75 20-Aug-2007 Dmitry Stogov <dmitry@php.net>

Added namespace related optimizations and comments


# a382ede3 01-Aug-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #42119 (array_push($arr,&$obj) doesn't work with zend.ze1_compatibility_mode On)


# b1bc911c 21-Jul-2007 Sara Golemon <pollita@php.net>

Add support got zend_class_entry->get_static_method() and matching __callStatic() userspace method @doc


# 5e21f121 14-Jul-2007 Dmitry Stogov <dmitry@php.net>

Fixed compilation on Windows


# 06bad726 13-Jul-2007 Sara Golemon <pollita@php.net>

Wrong function name in error message


# 1f413bbc 12-Jul-2007 Dmitry Stogov <dmitry@php.net>

Namespaces


# 34383f0b 11-Jul-2007 Dmitry Stogov <dmitry@php.net>

Made uniform error reporting for unicode/non-unicode modes


# d5477683 10-Jul-2007 Antony Dovgal <tony2001@php.net>

fix folding and ws


# 0cfa8b1a 06-Jul-2007 Antony Dovgal <tony2001@php.net>

MFH


# 232eebb8 06-Jul-2007 Antony Dovgal <tony2001@php.net>

fix indentation and make Andrey happy =)


# 770790af 30-May-2007 Antony Dovgal <tony2001@php.net>

set module in internal_function struct


# eab558a7 28-May-2007 Antony Dovgal <tony2001@php.net>

fix #41517 (different behaviour of floatval() in Unicode mode)


# bfbbe411 16-May-2007 Marcus Boerger <helly@php.net>

- MFH Extensions are indexed lowercased and not case aware


# dc41d46e 16-May-2007 Marcus Boerger <helly@php.net>

- Extensions are indexed lowercased and not case aware


# fcc82f18 14-May-2007 Antony Dovgal <tony2001@php.net>

allow passing Unicode strings when a boolean is expected


# 9b6f46a8 04-May-2007 Dmitry Stogov <dmitry@php.net>

Fixed wrong deallocation


# fe6fd4ed 04-May-2007 Antony Dovgal <tony2001@php.net>

fix disabled classes


# e181e3ac 30-Apr-2007 Johannes Schlüter <johannes@php.net>

- MFH Fix "f" modifier for zend_parse_parameters_ex in case of a __call call
# only affects iterator_apply() in 5_2 branch


# b9c840c5 30-Apr-2007 Johannes Schlüter <johannes@php.net>

- Fix "f" modifier for zend_parse_parameters_ex in case of a __call call
(fixes Zend/tests/bug19859.phpt and Zend/tests/bug34260.phpt)


# 3a89cfae 16-Apr-2007 Johannes Schlüter <johannes@php.net>

- Fix zend_parse_parameters_ex() for format specifiers like "+f", like multiple
values followed by forced parameters. Fixes tests like
ext/standard/tests/array/007.phpt and others


# 2908322c 16-Apr-2007 Dmitry Stogov <dmitry@php.net>

WIN64 support


# e1814f0d 16-Apr-2007 Dmitry Stogov <dmitry@php.net>

WIN64 support


# b2e2994a 09-Apr-2007 Antony Dovgal <tony2001@php.net>

fix #41026 (segfault when calling "self::method()" in shutdown functions)


# 9c5ea420 05-Apr-2007 Marcus Boerger <helly@php.net>

- MFH zend_info_call_*() stuff, fixes coverity issue #328, noticed by tony


# 10f0e0a5 08-Feb-2007 Marcus Boerger <helly@php.net>

- Fix potential issue with 'f'-parameter parsing
- Complete zend_fcall_info_*() API


# 70777b7d 08-Feb-2007 Marcus Boerger <helly@php.net>

- More ZEND_API's


# 135c947f 02-Feb-2007 Andrei Zmievski <andrei@php.net>

- Add ^ specifier that returns original string type before conversion.
- Add ZVAL_ENC_STRING[L] macro that allows returning either a binary
string or an encoded strings as Unicode based on type, instead of
UG(unicode)


# 92bf7d98 02-Feb-2007 Antony Dovgal <tony2001@php.net>

-exactly 1 arguments
+exactly 1 argument


# 7dcebde6 07-Jan-2007 Sara Golemon <pollita@php.net>

Add add_property_zstr(l)(_ex)()


# 4223aa4d 01-Jan-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump year.


# 3717df72 01-Jan-2007 Sebastian Bergmann <sebastian@php.net>

Bump year.


# bbb923c7 20-Dec-2006 Antony Dovgal <tony2001@php.net>

MFH


# 722ad46c 20-Dec-2006 Antony Dovgal <tony2001@php.net>

fix leak in zend_disable_class()


# de0f972b 20-Dec-2006 Andrei Zmievski <andrei@php.net>

Check for conversion failure in "s&" and return appropriately.


# da3d27dc 19-Dec-2006 Marcus Boerger <helly@php.net>

- Implement parameter parsing 'x'


# bea25195 01-Dec-2006 Dmitry Stogov <dmitry@php.net>

Fixed buffer overflow. (Rob)


# 0e647693 20-Nov-2006 Antony Dovgal <tony2001@php.net>

fix leak in zend_register_functions()
this is very odd, but Zend MM said nothing about it..


# 57d22421 17-Nov-2006 Dmitry Stogov <dmitry@php.net>

Unicode support.
Now the real UG(unicode) value is available during MINIT calls.


# 75c27244 27-Oct-2006 Andrei Zmievski <andrei@php.net>

Turn doc comments into zstr strings with corresponding adjustments.


# 1e1f3efb 17-Oct-2006 Andrei Zmievski <andrei@php.net>

Fix thread safety.


# 2602e49e 17-Oct-2006 Andrei Zmievski <andrei@php.net>

Implement add_utf8_property_* API.


# 83e0dbb3 13-Oct-2006 Andrei Zmievski <andrei@php.net>

- Add an extra parameter to the cast_object handler that can be used by
various types as needed.
- Use that parameter to pass a specific converter for
IS_UNICODE/IS_STRING types.


# 97d03722 11-Oct-2006 Andrei Zmievski <andrei@php.net>

Extend zend_fcall_info_args functions. (Patch from Mike Wallner)


# d8652457 07-Oct-2006 Andrei Zmievski <andrei@php.net>

Hash functions for UTF-8 keys.


# e8ddcf10 03-Oct-2006 Dmitry Stogov <dmitry@php.net>

Speedup array/HashTable copying. (Matt W)


# c1ad451c 03-Oct-2006 Dmitry Stogov <dmitry@php.net>

Speedup array/HashTable copying. (Matt W)


# 3b24a795 21-Sep-2006 Sara Golemon <pollita@php.net>

Add missing function protos


# 7ff8b9b0 20-Sep-2006 Andrei Zmievski <andrei@php.net>

Bug fixes for substr_replace().


# 128548a5 19-Sep-2006 Dmitry Stogov <dmitry@php.net>

Disabled autoconversion of hash keys (from string to unicode) for PHP arrays


# 70ad4607 19-Sep-2006 Dmitry Stogov <dmitry@php.net>

ZTS fix


# 81b83f32 18-Sep-2006 Andrei Zmievski <andrei@php.net>

More work on Unicode support in PCRE. When UG(unicode) is on, all
strings passed to PCRE have to be IS_UNICODE or IS_STRING in UTF-8
encoding. Failure to do so will result in unpredictable results.


# 9b222e6f 11-Sep-2006 Dmitry Stogov <dmitry@php.net>

fix


# 21bc25e0 11-Sep-2006 Andrei Zmievski <andrei@php.net>

Add a couple more UTF-8 functions.


# 11ca9006 28-Aug-2006 Andrei Zmievski <andrei@php.net>

Add APIs for UTF-8 strings (common with XML, PCRE, etc)


# 2701f53a 14-Aug-2006 Andrei Zmievski <andrei@php.net>

add_next_index_zstr[l]()


# 180e98f5 14-Aug-2006 Andrei Zmievski <andrei@php.net>

Typo.


# ea7ab72f 14-Aug-2006 Andrei Zmievski <andrei@php.net>

Set T_arg_type to default string type if we were not able to determine
it from the args.


# a90da206 09-Aug-2006 Andrei Zmievski <andrei@php.net>

Make params API sound less like Raymond Babbitt.


# 9320e167 08-Aug-2006 Andrei Zmievski <andrei@php.net>

Adjust zend_get_unified_string_type() to give correct types.


# dda05970 04-Aug-2006 Andrei Zmievski <andrei@php.net>

Add add_assoc_zstr_ex() and related.


# aa398bf8 04-Aug-2006 Andrei Zmievski <andrei@php.net>

One fewer walks needed.


# 2bfe0a8c 04-Aug-2006 Andrei Zmievski <andrei@php.net>

Scan through all the modifiers at once, setting flags.


# fd39d28d 04-Aug-2006 Andrei Zmievski <andrei@php.net>

Fix '&' handling. (patch by Rob R)


# 433c40c3 02-Aug-2006 Andrei Zmievski <andrei@php.net>

Add '&' modifier (for 's' type) that will apply the specified converter
during conversion of Unicode strings.


# 0d1957e7 25-Jul-2006 Derick Rethans <derick@php.net>

- MFB: Fixed typo


# c3e5ee18 25-Jul-2006 Derick Rethans <derick@php.net>

- Fixed typo.


# 2b8ad5a0 22-Jul-2006 foobar <sniper@php.net>

MFH:- Fixed bug #38183 (disable_classes=Foobar causes disabled class to be called Foo)


# bca80ac6 22-Jul-2006 foobar <sniper@php.net>

- Fixed bug #38183 (disable_classes=Foobar causes disabled class to be called Foo)


# 881258ad 21-Jul-2006 Dmitry Stogov <dmitry@php.net>

Fixed wrong "type" argument to read_property() handler


# 9a98904d 21-Jul-2006 Dmitry Stogov <dmitry@php.net>

Fixed wrong "type" argument to read_property() handler


# 8619c361 20-Jul-2006 Marcus Boerger <helly@php.net>

- Add new unicode functions: add_u_assoc_*[_ex]() which allow to add values
using a unicode key.


# 0e05886a 19-Jul-2006 Andrei Zmievski <andrei@php.net>

Fix usage of 'return_null' option in parameter parsing.


# 80839710 19-Jul-2006 Andrei Zmievski <andrei@php.net>

Make 't' and 'T' use zstr for storage type.


# f45c16cb 19-Jul-2006 Andrei Zmievski <andrei@php.net>

Add '+' varargs specifier that requires at least one arg.


# 4bf31abb 19-Jul-2006 Andrei Zmievski <andrei@php.net>

Initialize some vars.


# bbd3cd27 18-Jul-2006 Andrei Zmievski <andrei@php.net>

Implement varargs parameter parsing. See README for examples.


# 06678646 18-Jul-2006 Andrei Zmievski <andrei@php.net>

Callable checks and class fetching and lookup should support identifer
normalization now. (Marcus, Andrei)


# fdf280b4 17-Jul-2006 Andrei Zmievski <andrei@php.net>

- Upgrade usort() to support Unicode (including valid Unicode callbacks).
- Make usort() use 'f' specifier for function call info/cache.


# 2fbc3649 13-Jul-2006 Andrei Zmievski <andrei@php.net>

- Let the caller output a warning instead of having
zend_get_unified_string_type() do it.
- Mark a few more functions are Unicode compatible.


# 1fb6a441 12-Jul-2006 Antony Dovgal <tony2001@php.net>

fix argument parsing utilities
test before commit?


# f5419623 12-Jul-2006 Sara Golemon <pollita@php.net>

Fix typo/Syntax error


# a1fcfe36 11-Jul-2006 Andrei Zmievski <andrei@php.net>

Remove unused 'y' specifier.


# b41169d4 11-Jul-2006 Andrei Zmievski <andrei@php.net>

Rename to a more explanatory macro.


# 637f6028 10-Jul-2006 Andrei Zmievski <andrei@php.net>

Optimize zero-arg case for parameter parsing. No more need for manual
checks.


# 5ffbb851 20-Jun-2006 Antony Dovgal <tony2001@php.net>

MFH: init variables


# 59e16e52 20-Jun-2006 Antony Dovgal <tony2001@php.net>

init variables


# ada4e506 15-Jun-2006 Dmitry Stogov <dmitry@php.net>

MFH: Added automatic module globals management.


# 2cbde064 13-Jun-2006 Dmitry Stogov <dmitry@php.net>

Added automatic module globals management.


# 64c353ab 07-Jun-2006 Marcus Boerger <helly@php.net>

- MFH zend_fcall_info_*() and parameter parsing option 'f'
# Right now i see this as the best option but we might shuffle code around
# later if someone comes up with a better solution.


# 5cdefd07 07-Jun-2006 Marcus Boerger <helly@php.net>

- MFH Fix issue with interfaces being inherited multiple times


# f2a8d8cb 07-Jun-2006 Marcus Boerger <helly@php.net>

- Fix issue with interfaces being inherited multiple times


# 51d49585 05-Jun-2006 Zeev Suraski <zeev@php.net>

Restore ZE1 compatibility mode (Zend Engine part - the modules patches
will follow later today)


# 6c0f1667 04-Jun-2006 Marcus Boerger <helly@php.net>

- Fix function flag check


# 45c17137 04-Jun-2006 Marcus Boerger <helly@php.net>

- Fix function flag check


# 5f63b5c4 27-May-2006 Marcus Boerger <helly@php.net>

- Revert until there is an ok for the full patch


# 5925a262 27-May-2006 Marcus Boerger <helly@php.net>

- Take care of refcounting in zend_fcall_info_*() functions
- Add docu
# I know it is unpopular to add docu here but i think we should add more


# ca6a2021 27-May-2006 Marcus Boerger <helly@php.net>

- WS


# f93bf100 27-May-2006 Marcus Boerger <helly@php.net>

- WS


# 493f39da 27-May-2006 Marcus Boerger <helly@php.net>

- MFH: Fix bug #37212 (Access to protected property of common base class)
By adding "zend_class_entry *ce" to struct zend_property_info;


# 92655459 27-May-2006 Marcus Boerger <helly@php.net>

- Fix bug #37212 (Access to protected property of common base class)
By adding "zend_class_entry *ce" to struct zend_property_info;
# Besides closing the bug this patch allows to optimize a bunch of
# property handling optimizations. I need to find out what all can be
# optimized. All other tests relevant to class handling still PASS.


# a228b7f6 26-May-2006 Sara Golemon <pollita@php.net>

Fix ZTS build, call with TSRMLS_CC not DC


# 9114bc25 25-May-2006 Marcus Boerger <helly@php.net>

- Ease writing functions that deal with php function 'pointers'


# 34126e4a 25-May-2006 Antony Dovgal <tony2001@php.net>

MFB: fix error messages when converting objects to other types


# 9dd24c6d 25-May-2006 Antony Dovgal <tony2001@php.net>

fix error messages when converting objects to other types
add new function
MFB will follow soon


# f88a1729 23-May-2006 Marcus Boerger <helly@php.net>

- MFH Handle NULL in C argument parsing correct


# 30bc5adf 23-May-2006 Marcus Boerger <helly@php.net>

- Handle NULL in C argument parsing correct


# 8d4eea74 23-May-2006 Marcus Boerger <helly@php.net>

- Fix double error raising issue


# 223dce98 21-May-2006 Marcus Boerger <helly@php.net>

- Improve error messages (missing unicode todo)


# d45250a0 13-May-2006 Marcus Boerger <helly@php.net>

- MFH code layout for __toString() use in parameter parsing api


# 601523f2 13-May-2006 Marcus Boerger <helly@php.net>

- Support __tostring() in argument parsing


# b3c3c6de 12-May-2006 Marcus Boerger <helly@php.net>

- Missing __toString() pieces


# b636a534 11-May-2006 Marcus Boerger <helly@php.net>

- Drop second superflous zval_ptr_dtor in string arg parsing


# 085e0fc5 11-May-2006 Antony Dovgal <tony2001@php.net>

fix segfault when passing objects where strings are expected


# 848c5c76 10-May-2006 Marcus Boerger <helly@php.net>

- Missing __tostring() conversion snippets


# 4f37b2f3 10-May-2006 Antony Dovgal <tony2001@php.net>

nuke extra semi-colon


# 637a4042 09-May-2006 Marcus Boerger <helly@php.net>

- MFH as discussed
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D)
. zend_get_error_exception() -> zend_get_error_exception(TSRMLS_D)
. added E_RECOVERABLE_ERROR
. added ZEND_TOSTRING_FUNC_NAME
. added __tostring function cache to zend_class_entry
. added ZEND_NAMED_ME
. modified ZEND_ME_MAPPING to support method flags
. added ZEND_MN
. method entries now use prefix "zim_" instead of "zif_"
. drop EG(ze1_compatibility_mode)
. changed cast handler, now without (int should_free):
typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
. changed get_iterator, now receives whether value is by ref:
zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC);
. added zend_objects_store_add_ref_by_handle
. added zend_objects_store_del_ref_by_handle
. convert_to_explicit_type(pzv, type)


# bdef85af 20-Apr-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #37138 (__autoload tries to load callback'ed self and parent)


# c5817007 18-Apr-2006 Sara Golemon <pollita@php.net>

Fix ZTS build


# a264a5ac 18-Apr-2006 Antony Dovgal <tony2001@php.net>

binary strings exist only in unicode mode


# 29552a64 27-Mar-2006 Andrei Zmievski <andrei@php.net>

Some functions may want to accept only Unicode or binary strings,
without having auto-conversion from the other string type. Add 'U' and
'S' specifiers for this. Also, remove traces of 'native' strings.


# 041e7470 23-Mar-2006 Marcus Boerger <helly@php.net>

- Initialized callable_name if present


# 123df342 23-Mar-2006 Marcus Boerger <helly@php.net>

- Initialize callable_name if requested


# 53e1f2ad 17-Mar-2006 Dmitry Stogov <dmitry@php.net>

Optimization of module unloading (temporary modules can be only in the end)


# c31c9843 17-Mar-2006 Dmitry Stogov <dmitry@php.net>

Optimization of module unloading (temporary modules can be only in the end)


# 7c0e5341 16-Mar-2006 Dmitry Stogov <dmitry@php.net>

Dropped zend.ze1_compatibility_mode


# 35ce5db2 05-Mar-2006 Marcus Boerger <helly@php.net>

- Add missing function for completeness


# fd2b76d5 05-Mar-2006 Marcus Boerger <helly@php.net>

- Add missing function for completeness


# 03be54de 03-Mar-2006 Marcus Boerger <helly@php.net>

- Make unicode handling portable (noted by andrei)
# Actually we should provide much more such unicode strings that we often
# use like 'parent', 'self' and so on.


# 5d77a462 03-Mar-2006 Marcus Boerger <helly@php.net>

- As expected (but told otherwise) unicode strings indeed need to be
terminated by two \0.


# 3840e428 01-Mar-2006 Marcus Boerger <helly@php.net>

- MFH Fix string-conversion and const updating


# a3741cf6 01-Mar-2006 Marcus Boerger <helly@php.net>

- Constants need to be updated too (when updating class constants)


# 2e37e863 27-Feb-2006 Marcus Boerger <helly@php.net>

- MFH Argument parsing specifier 'C', which is necessary for SPL already


# e3b7f3fd 26-Feb-2006 Dmitry Stogov <dmitry@php.net>

Unicode support: MS Visual C compatibility


# 941b0651 25-Feb-2006 Marcus Boerger <helly@php.net>

- MFH: Function deprecation flag


# 8a4c8e8d 24-Feb-2006 Marcus Boerger <helly@php.net>

- Add macros to mark functions/alias functions as deprecated
(mentioned by Sara and obviously neccessary)
- Fix function/method flag error detection logic


# 0342d9f5 22-Feb-2006 Dmitry Stogov <dmitry@php.net>

Unicode support


# 19ebeed0 22-Feb-2006 Dmitry Stogov <dmitry@php.net>

Unicode support: fixed call_user_func(array($this, "self::foo"))
Made check for "self/parent" before calling __autoload()


# 0f1209ab 21-Feb-2006 Dmitry Stogov <dmitry@php.net>

Portable unicode string API:
- use the same type (int) for zval.value.usr.len and zval.value.str.len
- use union "zstr" as char*/UChar* mixture instead of void*
- Z_UNISTR() and Z_UNILEN() no longer check for Z_TYPE()
- nuke int32_t from ZE (not finisned)


# 2e5d0a3a 21-Feb-2006 Dmitry Stogov <dmitry@php.net>

WS


# b424a326 20-Feb-2006 Dmitry Stogov <dmitry@php.net>

Preparation for portable string API (use macroses to access zval).


# ffd43034 19-Feb-2006 Marcus Boerger <helly@php.net>

- Interfaces may have static methods to enforce their existance in
implementing classes


# 89f57ea9 19-Feb-2006 Marcus Boerger <helly@php.net>

- Static functions cannot be abstract


# 5a4cfaf9 19-Feb-2006 Marcus Boerger <helly@php.net>

- Fix method flag handling


# f0d9ae46 19-Feb-2006 Marcus Boerger <helly@php.net>

- Fix method flag handling


# 09ca61c1 13-Feb-2006 Dmitry Stogov <dmitry@php.net>

Made server wide switch for unicode on/off (according to PDM).


# a3b94164 06-Feb-2006 Antony Dovgal <tony2001@php.net>

init variables


# c888a7f8 06-Feb-2006 Antony Dovgal <tony2001@php.net>

init variables (continue making GCC happy)


# 77915bc2 25-Jan-2006 Marcus Boerger <helly@php.net>

- MFH


# 9c8bc204 24-Jan-2006 Antony Dovgal <tony2001@php.net>

improve CS


# 35e63225 24-Jan-2006 Marcus Boerger <helly@php.net>

- Add fast access to HashTable


# 227295a4 17-Jan-2006 Dmitry Stogov <dmitry@php.net>

Unicode stuff is changed according to decision maden on PDM.
Now IS_BINRAY data type is removed and IS_STRING starts behave as IS_BINARY in unicode mode. IS_STRING is incompatible with IS_UNICODE, so ALL functions should be improved to support unicode mode.


# add3c79a 14-Jan-2006 Marcus Boerger <helly@php.net>

- Fixed bug #36011


# 2fe859fe 14-Jan-2006 Marcus Boerger <helly@php.net>

- Fixed bug #36011


# 416d5f2c 07-Jan-2006 Marcus Boerger <helly@php.net>

- MFB missing E_STRICT


# ddd5d801 07-Jan-2006 Marcus Boerger <helly@php.net>

- MFB zend_is_callable() fixes
# Now to the missing part in zend_call_function()


# 4972b455 06-Jan-2006 Antony Dovgal <tony2001@php.net>

fix typo in the code and related tests


# 5de7cc31 04-Jan-2006 Andi Gutmans <andi@php.net>

- Update copyright notices to 2006


# 61e93ccf 04-Jan-2006 Andi Gutmans <andi@php.net>

- Update copyright notices to 2006


# 0cd997d7 16-Dec-2005 Marcus Boerger <helly@php.net>

- Simplify and synch is_callable_ex() with actual execution code
. Allow array($this, 'parent::method') for function 'pointers'
. Spit out E_STRICT in case of erroneous use of function 'pointers'


# feaa2501 01-Dec-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #34729 (Crash in ZTS mode under Apache)


# 8768ab94 01-Dec-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #34729 (Crash in ZTS mode under Apache)


# 794c2e8e 23-Nov-2005 Antony Dovgal <tony2001@php.net>

change zend_read_property() to allocate property zval too


# 310ab5b4 23-Nov-2005 Dmitry Stogov <dmitry@php.net>

Additional fix for fix #35536


# 9457dc34 23-Nov-2005 Antony Dovgal <tony2001@php.net>

forgotten part of the fix


# 9e9a55f9 23-Nov-2005 Antony Dovgal <tony2001@php.net>

MF51: fix #35336 (crash on PDO::FETCH_CLASS + __set())


# 1e93bb16 23-Nov-2005 Antony Dovgal <tony2001@php.net>

fix #35336 (crash on PDO::FETCH_CLASS + __set())


# b05d189c 17-Nov-2005 Ilia Alshanetsky <iliaa@php.net>

MFB51: Allow zend_parse_parameters to handle non-well formed integers, but
raise E_NOTICE in the process.


# b5c8fcb5 17-Nov-2005 Ilia Alshanetsky <iliaa@php.net>

Allow zend_parse_parameters to handle non-well formed integers, but raise
E_NOTICE in the process.


# 83bdbe5b 03-Nov-2005 Marcus Boerger <helly@php.net>

- Fix static check in zend_is_callable_ex()
- Fix/speedup zend_make_callable()
# Actually the ...STATIC... flag in zend_is_callable_ex() *must* go, too.
# We keep it for the moment to support old stuff and skip analyzing them
# in detail...


# a4bd0d6a 02-Nov-2005 Marcus Boerger <helly@php.net>

- Add missing cases and checks


# 00d5138e 01-Nov-2005 Marcus Boerger <helly@php.net>

- Allow parameter parsing implementation raise an error early where more
information is available. And add ability to prevent double errors by
returning "".
- Implement parameter parsing C which checks for a class name, if the value
on input is not NULL then the pointer must be the zend_class_entry of the
required base class.
# Do the KISS approach, looking at the code it isn't that easy does it?


# b05b949a 28-Oct-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms)


# 05bd788e 28-Oct-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #34879 (str_replace, array_map corrupt negative array indexes)


# cbeef608 27-Oct-2005 Ilia Alshanetsky <iliaa@php.net>

MFB51: Fixed memory leak on error


# 3a9cdbfd 27-Oct-2005 Ilia Alshanetsky <iliaa@php.net>

Fixed memory leak on error


# 2486b846 25-Oct-2005 Marcus Boerger <helly@php.net>

- MFH zend_is_callable_ex() returns zend_class_entry* if available


# ff5ae1d0 25-Oct-2005 Marcus Boerger <helly@php.net>

- Make the code a bit clearer


# c72d91af 25-Oct-2005 Marcus Boerger <helly@php.net>

- Make zend_is_callable_ex() return the class netry if available


# d67821cd 13-Oct-2005 Antony Dovgal <tony2001@php.net>

ws fix


# f27aedcc 06-Oct-2005 Dmitry Stogov <dmitry@php.net>

Cleanup


# 7c083fcc 05-Oct-2005 Marcus Boerger <helly@php.net>

- Have __toString() be called if available in all places an object is used
as a string.
#
# Note that "Object #<id>" is no longer afallback for debugging purpose use
# var_dump, which was made for debugging. If you used this to grab the id
# of an object you can never rely on this. For object storage look at SPL's
# ObjectStorage class.
#
# Note the signature change in the cast handler:
#
# int (*cast_t)(zval *readobj, zval *writeobj, int type, int should_free TSRMLS_DC);
# int (*cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);


# ebcafe58 03-Oct-2005 Marcus Boerger <helly@php.net>

- Fix ZTS Build


# 594fd87c 03-Oct-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #34678 (__call(), is_callable() and static methods)


# cdb1746a 03-Oct-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #34678 (__call(), is_callable() and static methods)


# f94344d7 27-Sep-2005 Dmitry Stogov <dmitry@php.net>

Changed __toString() behavior to call it in all necessary places


# 248345d9 01-Sep-2005 Dmitry Stogov <dmitry@php.net>

Support for class constants and static members for internal classes


# 7b755108 01-Sep-2005 Dmitry Stogov <dmitry@php.net>

Support for class constants and static members for internal classes


# 0165ab62 30-Aug-2005 Marcus Boerger <helly@php.net>

- Adds module registering a function to struct zend_internal_function.
(Johannes)
# This information is by reflection API and error messages.


# 8f6f97a7 23-Aug-2005 Dmitry Stogov <dmitry@php.net>

Unicode support


# ce000199 22-Aug-2005 Andrei Zmievski <andrei@php.net>

We should use u_memcpy() whenever possible, to simplify code.


# 6b622046 22-Aug-2005 Dmitry Stogov <dmitry@php.net>

zend_is_callable() and zend_make_callable() were changed to return readable function name as zval (instead of string).


# da472142 19-Aug-2005 Andrei Zmievski <andrei@php.net>

*** empty log message ***


# b0e24970 19-Aug-2005 Dmitry Stogov <dmitry@php.net>

Unicode support cleanup


# fe71ae29 18-Aug-2005 Andrei Zmievski <andrei@php.net>

- Implement zend_codepoint_to_uchar().
- Rename and fix zend_get_unified_string_type() so that it does not
allow mixing of binary and Unicode types.


# 8a749ee3 18-Aug-2005 Dmitry Stogov <dmitry@php.net>

Suppoer for unicode exception messages


# 09a3c92d 18-Aug-2005 Dmitry Stogov <dmitry@php.net>

We don't need EMPY_STRING here. This function is execuited in non-unicode context only.


# 042bb6a3 17-Aug-2005 Andrei Zmievski <andrei@php.net>

Disallow mixing binary and Unicode types when T specifiers are used.


# 3d8b32a0 17-Aug-2005 Andrei Zmievski <andrei@php.net>

- Introduce 'y' specifier for functions expecting binary data.
- convert_to_binary() now uses convert_to_string() in non-Unicode mode.


# 9854402c 17-Aug-2005 Dmitry Stogov <dmitry@php.net>

Unicode support


# 903406ef 16-Aug-2005 Dmitry Stogov <dmitry@php.net>

Unicode support


# e47587e1 15-Aug-2005 Dmitry Stogov <dmitry@php.net>

Fixed several unicode related bugs


# 1015995a 12-Aug-2005 Dmitry Stogov <dmitry@php.net>

Fixed typo (ZVAL_LONG() -> ZVAL_DOUBLE())


# a0d47999 12-Aug-2005 Dmitry Stogov <dmitry@php.net>

Fixed typo (ZVAL_LONG() -> ZVAL_DOUBLE())


# 21c1109e 12-Aug-2005 Dmitry Stogov <dmitry@php.net>

Unicode support


# 6ad189f8 12-Aug-2005 Sebastian Bergmann <sebastian@php.net>

ZTS fixes.


# b80cb7bd 11-Aug-2005 Andrei Zmievski <andrei@php.net>

Unicode support


# 0f2986fe 08-Aug-2005 foobar <sniper@php.net>

- Show the dependancy name we could not find (req_mod is null here when it is not found :)


# 916815b7 03-Aug-2005 foobar <sniper@php.net>

Bump up the year


# 53e52606 28-Jul-2005 Marcus Boerger <helly@php.net>

- Add convenience function zend_is_callable_ex() and base zend_is_callable
and zend_make_callable on it. This functions allows to check if a php
variable is a callable function and returns its function pointer as well
as object if possible.
# Commit this now so we can use it in 5.1.* series as discussed with Andi.


# 1fad73d1 25-Jul-2005 Marcus Boerger <helly@php.net>

- Fix #33853
# When a static class function is being called then we first look for the
# class with name unchanged. If the class is then not available it the
# method can never be callable, thus we return 0. If the class is available
# the lowercased name will be broken up into class and function and 1 is
# being returned.


# 70bd938b 18-Jul-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug in new module statrup mechanism


# 345e0255 07-Jul-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods)


# 2ca2dc0b 30-Jun-2005 Dmitry Stogov <dmitry@php.net>

Restored old behavior of zend_statup_module()


# 9727e938 29-Jun-2005 Stanislav Malyshev <stas@php.net>

add comment


# d5a12960 27-Jun-2005 Stanislav Malyshev <stas@php.net>

fix various "Class entry requested for an object without PHP class" messages
when working with non-PHP objects.
# Using Z_OBJCE(object)->name is usually bad idea unless you know it's
# a pure PHP object


# baf8cade 17-Jun-2005 Antony Dovgal <tony2001@php.net>

improve error messages when error raised from an internal class (do not hide class name)


# c0c7a9f0 17-Jun-2005 Dmitry Stogov <dmitry@php.net>

Improved PHP extension loading mechanism with support for module dependencies and conflicts.


# 8b7a03c8 29-Apr-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with array_push())


# c81db6bc 27-Apr-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #29210 (Function: is_callable - no support for private and protected classes)


# 5f600cdf 26-Apr-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #30702 (cannot initialize class variable from class constant)


# 67a226d9 19-Apr-2005 Marcus Boerger <helly@php.net>

- Add ReflectionProperty::getDocComment()


# 9bf6a7f2 21-Mar-2005 Andrei Zmievski <andrei@php.net>

internal_function->fn_flags is not initialized at this point


# 7de1d279 16-Mar-2005 Wez Furlong <wez@php.net>

don't call rshutdown twice for dl()'d modules.
Spotted by Andrei.


# 35b0b8de 15-Mar-2005 Wez Furlong <wez@php.net>

fix shutdown so that dl()'d modules are unloaded after all the dtors have
been called.


# c17d3dbb 17-Feb-2005 Marcus Boerger <helly@php.net>

- A little optimization to prevent problems when trying to reimplement an
interface inherited from an interfaces that was just implemented......


# c88da2bd 17-Feb-2005 Marcus Boerger <helly@php.net>

- No C++ ruleZ here


# 82ccc251 17-Feb-2005 Marcus Boerger <helly@php.net>

- Actually we must do this in two steps: 1st resize the table and set all
interfaces, 2nd implement the interfaces


# 02c35975 17-Feb-2005 Marcus Boerger <helly@php.net>

- Incrementation is done elsewhere


# a7e4f84c 17-Feb-2005 Marcus Boerger <helly@php.net>

- Fix windows build (funny MS compiler)


# d88c2b18 04-Feb-2005 Hartmut Holzgraefe <hholzgra@php.net>

added some missing zend_[declare|update]_property_...() convenience
functions for bool, double and binary safe string data


# 1d5c13bd 22-Jan-2005 Marcus Boerger <helly@php.net>

- Fix #31651 (ReflectionClass::getDefaultProperties segfaults with arrays.)


# 4908642c 15-Jan-2005 Andi Gutmans <andi@php.net>

- Unload on MAC OS X (shouldn't be a reason not to)


# 2a3ca10a 10-Jan-2005 Rasmus Lerdorf <rasmus@php.net>

Fix OSX DL_UNLOAD macro and actually use it to make shared extensions
work on OSX.


# 9a92e31c 02-Nov-2004 Sebastian Bergmann <sebastian@php.net>

Patch by Joe Orton <jorton@redhat.com>.


# aa247a32 29-Sep-2004 Marcus Boerger <helly@php.net>

- MFB (synch correctly not only for one problem)


# 0ec6eb7a 29-Sep-2004 Marcus Boerger <helly@php.net>

- Refix the fix
# This somehow got lost and was then readded by Andi in 1.258 at the wrong
# position. Obviously we need to separate the argument first and convert it
# afterwards as done in 5.0.*.


# e39f3f3f 28-Sep-2004 Marcus Boerger <helly@php.net>

Simplify/Optmize magic method calls (__get/__set/__call/__clone/__destruct)


# b82a18c8 24-Sep-2004 Anantha Kesari H Y <hyanantha@php.net>

selectively avoiding module cleanup code for apache 1 build and removing a duplicate code


# 5af07c3c 22-Sep-2004 Anantha Kesari H Y <hyanantha@php.net>

Aligned the ifdef NETWARE blocks to first column.


# 8478f5e3 22-Sep-2004 Anantha Kesari H Y <hyanantha@php.net>

When Apache is unloaded, it calls dlclose on all the PHP extensions
that are loaded in memory. In the case of Apache 1.3, this call is blocking indefinitely. As a work around, this call is bypassed for Apache 1.3 build on NetWare only. This means that none of the loaded PHP extensions are unloaded. They will have to be manually unloaded before re-loading the Apache 1.3 again.


# 6bd3c36a 09-Sep-2004 Andi Gutmans <andi@php.net>

- Recommit:
- Check signature of magic methods
- Register __get/__set/__call for internal classes


# 96ab56e1 09-Sep-2004 Andi Gutmans <andi@php.net>

- Roll back VM commit


# be24e245 09-Sep-2004 Marcus Boerger <helly@php.net>

- Check signature of magic methods
- Register __get/__set/__call for internal classes


# f20f992d 09-Sep-2004 Andi Gutmans <andi@php.net>

- Fix the fix.


# d7422e38 04-Sep-2004 Andi Gutmans <andi@php.net>

- Don't destroy object when calling overloaded cast method in
- zend_parse_parameters()


# 87187da0 24-Aug-2004 Marcus Boerger <helly@php.net>

- Add missing brackets


# a6276a24 05-Jun-2004 Marcus Boerger <helly@php.net>

Fix #28641: Instance of Interface


# c8e72410 18-May-2004 Marcus Boerger <helly@php.net>

- Need to operate on module pointer in hash table


# da26db30 18-May-2004 Stanislav Malyshev <stas@php.net>

Z_TYPE_P is for zvals


# b949bfe6 18-May-2004 Wez Furlong <wez@php.net>

Register according to the type specified by the module.
(Helps to fix dl() bug)


# aa7454ab 12-May-2004 Marcus Boerger <helly@php.net>

- Centralize register and hash operations for startup/register_module
in new zend_register_module_ex().


# 950ddcc9 12-May-2004 Marcus Boerger <helly@php.net>

- Revert to 1.249


# f571b188 01-May-2004 Marcus Boerger <helly@php.net>

Don't load modules twice


# 52303217 30-Mar-2004 Marcus Boerger <helly@php.net>

- Fix Reflection class names
- Add ability to get the extension an internal class was defined in
# This is the patch Andi and me used to search for underscrores...


# 16a4376f 28-Mar-2004 Marcus Boerger <helly@php.net>

Use lowercasing here


# aea24b2a 26-Mar-2004 Marcus Boerger <helly@php.net>

Force destructors to have empty signatures


# 50ee116f 09-Mar-2004 Marcus Boerger <helly@php.net>

Clearify the different method/class flags (as discussed with Andi).


# 8d45fece 02-Mar-2004 Marcus Boerger <helly@php.net>

Fix zend_parse_method_parameters_ex() and make it consistant with
zend_parse_method_parameters().
# Obviously its only place of use is in pdo just right now.


# 7fdd68af 27-Feb-2004 Marcus Boerger <helly@php.net>

Add some comments


# f449c8fd 27-Feb-2004 Marcus Boerger <helly@php.net>

Fixes for abstract classes/methods


# 7086634a 25-Feb-2004 Zeev Suraski <zeev@php.net>

- Improve ARG_INFO() macros to support supplying required_num_args
- Initial fix for foreach($o->mthd()->arr) crash (now leaks)


# 36a75184 25-Feb-2004 Zeev Suraski <zeev@php.net>

- Abstract methods cannot have defaults for arguments
- Make function foo($a, $b=null) satisfy both foo($a) and foo($a, $b)
prototypes


# ce8f77f7 24-Feb-2004 Marcus Boerger <helly@php.net>

Fix class flags when handling abstract methods


# e7e0f7d4 12-Feb-2004 Zeev Suraski <zeev@php.net>

- Check return-by-reference bit when implementing interface prototypes
- Add infrastructure for built-in functions to hint whether they
return by reference or not. It is NOT currently used for anything,
except for interface prototypes (you can use it to request that the
function that implements your prototype returns by reference or
doesn't return by reference).
For downwards compatibility - by default, interface prototypes are
agnostic as to whether the function that implements them returns
by reference or not. Use ZEND_BEGIN_ARG_INFO_EX() with
ZEND_RETURN_VALUE/ZEND_RETURN_REFERENCE to change that.
- Fix ArrayAccess::getOffset() to conduct additional checks.
If your getOffset() should work with multidimensional arrays - it
must return by reference.


# 3ca44539 24-Jan-2004 Marcus Boerger <helly@php.net>

Switch from ZEND_ACC_DYNAMIC to ZEND_ACC_ALLOW_STATIC and disallow calling
internal non-static methods statically.
# As discussed with Zeev:
# - For BC standard userspace methods allow this with an E_STRICT message.
# - If you want to implement an internal method taht can be called both
# statically and non-statically then use flag ZEND_ACC_ALLOW_STATIC.
# - Magic user space methods __*() cannot and __construct, __destruct,
# __clone can never be called statically.


# 6020ffd0 23-Jan-2004 Marcus Boerger <helly@php.net>

Simplify detection of methods that must be called dynamic (with object)


# 7c2e02d3 23-Jan-2004 Marcus Boerger <helly@php.net>

Disallow static declaration of clone


# 805dfab8 19-Jan-2004 Marcus Boerger <helly@php.net>

Add zend_get_module_started() to quickly check whether a module is present
and its MINIT function has been called.


# ccfc46b0 08-Jan-2004 foobar <sniper@php.net>

- Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?


# bced21b3 05-Jan-2004 Stanislav Malyshev <stas@php.net>

Fix bug #26543 - check parent:: and self:: in class names


# 6923a16c 03-Jan-2004 Derick Rethans <derick@php.net>

- Fixed var_export() to show public, protected and private modifiers properly.
- Exported (un)mangle_property_name.


# 2a6ec5cc 28-Dec-2003 Marcus Boerger <helly@php.net>

WS


# 273c1933 22-Dec-2003 Wez Furlong <wez@php.net>

export these symbols for use by SPL as a shared extension


# 23b231d0 02-Dec-2003 Andi Gutmans <andi@php.net>

- Revert the revert of these patches. This overloading can only be used
- by C extensions such as SimpleXML and *NOT* PHP code. Reasons given
- on the mailing list and problem with reentrancy inside the opcodes.


# ee64b61e 01-Dec-2003 Andi Gutmans <andi@php.net>

- Revert auto-conversion in parameter API


# 72036846 28-Nov-2003 Ilia Alshanetsky <iliaa@php.net>

Add removed lcname, it is still needed.


# 1586f714 27-Nov-2003 Marcus Boerger <helly@php.net>

Convert objects to string if string is required by newer parameter parsing
since we do this for older parameter parsing does so too.


# d344648b 24-Nov-2003 Andi Gutmans <andi@php.net>

- Fix __autoload() to preserve class case.
- Heads up, this patch might break stuff so please let me know if you
- bump into any problems.


# 26bfe3f8 25-Oct-2003 Marcus Boerger <helly@php.net>

Add zend_make_callable() which allows to make zval's callable zval's.
At the moment this function only converts strings of the form class::method
to an array(class,method).


# b28db6a2 24-Oct-2003 Marcus Boerger <helly@php.net>

Revert accidental commit


# 071eaf85 24-Oct-2003 Marcus Boerger <helly@php.net>

Zend/ZEND_CHANGES


# 3c62b3b5 22-Oct-2003 Marcus Boerger <helly@php.net>

Expand Interface C API.
In short: zend_class_entry->interface_gets_implemented() allows to modify
the class entry of a class when an interface gets implemented.


# 4073a084 15-Oct-2003 Marcus Boerger <helly@php.net>

Add oo support function zend_class_implements()


# 4859431f 03-Oct-2003 Moriyoshi Koizumi <moriyoshi@php.net>

Fixed bug #24766 (strange result array from unpack())


# 87045df4 18-Sep-2003 Marcus Boerger <helly@php.net>

Add missing check


# 95649ab2 04-Sep-2003 Marcus Boerger <helly@php.net>

Tests show updating consts must happen once at runtime (revert optimization).
Add tests for static properties.


# 7bbbd503 03-Sep-2003 Marcus Boerger <helly@php.net>

Fix handling of static properties initialized to arrays


# 1b39a5aa 03-Sep-2003 Marcus Boerger <helly@php.net>

Fix static properties.
#
# There's only an errormessage missing which i'll wommit as soon as i find out
# how to do it best. But besides that damn message everything works now and all
# inheritance rules apply.
#


# e569b5ae 02-Sep-2003 Marcus Boerger <helly@php.net>

Allow redeclaring of protected properties as public (for internal classes).
# See http://news.php.net/article.php?group=php.zend-engine.cvs&article=1737
# for the part not fixed (e.g. property redeclaration of userland classes)


# 0f337461 02-Sep-2003 Marcus Boerger <helly@php.net>

Currently we cannot support static ctor/dtor


# 047a574e 29-Aug-2003 Marcus Boerger <helly@php.net>

- Add zend_merge_properties() which is designed to serve *_fetch_object().
- Explain drawbacks of object_and_properties_init and zend_merge_properties.
#
# I guess we can live with the purity problem of potentially calling __set()
# of an object which wasn't already ctored.
#


# f9cebab0 24-Aug-2003 Marcus Boerger <helly@php.net>

Add missing check


# 9603e44e 24-Aug-2003 Marcus Boerger <helly@php.net>

Fix memory source of string duplication for non internal properties


# 19ec7a09 24-Aug-2003 Marcus Boerger <helly@php.net>

- Provide appropriate way to destroy internal zval's.
- Allow internal zval's of type string and disallow complex types.
- Define the default string for extensions at class level instead of ctor.


# ea36fc41 24-Aug-2003 Zeev Suraski <zeev@php.net>

Use ""'s if you want empty strings. We want to crash on errors.


# b84e9db3 24-Aug-2003 Marcus Boerger <helly@php.net>

Allow NULL, too


# 3605be8a 24-Aug-2003 Marcus Boerger <helly@php.net>

Fix fn_flags handling


# 38805f28 24-Aug-2003 Marcus Boerger <helly@php.net>

Add property read code and use that in default exception class


# baaa4c90 23-Aug-2003 Marcus Boerger <helly@php.net>

Internal classes can now have default properties.


# fbda310a 23-Aug-2003 Marcus Boerger <helly@php.net>

- Flag ctor/dtor methods
- Use this to prevent memleaks when an exception gets thrown in ctors.
# I added the dtor flags for consistency, atm a compareable check in
# isn't necessary for destruction. But anyway i'll use this for the
# Relection API too.


# fda38bf2 21-Aug-2003 Marcus Boerger <helly@php.net>

If ce not given than any object would do


# 80b34988 21-Aug-2003 Marcus Boerger <helly@php.net>

Paramspec 'O' / zend_parse_method_params(): only if given check the class type


# 0dba58c3 18-Aug-2003 Zeev Suraski <zeev@php.net>

Improve tracking


# 82050ae8 17-Aug-2003 Marcus Boerger <helly@php.net>

- Show class names in error messages when dealing with methods
- Mark class as abstract if it gets an abstract method


# fe1a086d 16-Aug-2003 Marcus Boerger <helly@php.net>

Simplify abstract method declaration


# e08aedf5 13-Aug-2003 Marcus Boerger <helly@php.net>

- Show classes in case of methods
- Using sprintf here was a bad idea


# ef5a79bf 03-Aug-2003 Zeev Suraski <zeev@php.net>

Ensure functions have a valid access level


# e3f41479 03-Aug-2003 Zeev Suraski <zeev@php.net>

Default to public


# 8c614ddd 03-Aug-2003 Marcus Boerger <helly@php.net>

Not needed, will be copied from ptr->flags later


# f8bbafd6 03-Aug-2003 Zeev Suraski <zeev@php.net>

ntroduce infrastructure for supplying information about arguments,
including:

- Whether or not to pass by ref (replaces the old arg_types, with arg_info)
- Argument name (for future use, maybe introspection)
- Class/Interface name (for type hints)
- If a class/interface name is available, whether to allow a null instance

Both user and builtin functions share the same data structures.

To declare a builtin function that expects its first arg to be an instance
of class 'Person', its second argument as a regular arg, and its third by
reference, use:

ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0)
ZEND_ARG_OBJ_INFO(0, someone, Person, 1)
ZEND_ARG_PASS_INFO(0)
ZEND_ARG_PASS_INFO(1)
ZEND_END_ARG_INFO();

and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family
of macros.

The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref.

The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat
the arguments for which there's no explicit information as pass by reference
or not.
The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.


# 7112d3a3 03-Aug-2003 Zeev Suraski <zeev@php.net>

No need for this initialization - this function initializes all of the
elements of zend_internal_function


# 4f1e331c 02-Aug-2003 Marcus Boerger <helly@php.net>

Initialize all struct members: Necessary for reflection


# 0b6f7bdd 02-Aug-2003 Wez Furlong <wez@php.net>

fix usage of instanceof here too


# 5c4de266 01-Aug-2003 Wez Furlong <wez@php.net>

better fix...


# ad12b3da 01-Aug-2003 Wez Furlong <wez@php.net>

Fix "O" format for zend_parse_parameters


# 4f6b3152 31-Jul-2003 Zeev Suraski <zeev@php.net>

Use instanceof_function()


# 2fd4ffce 30-Jul-2003 Zeev Suraski <zeev@php.net>

Add exec_finished() callback for modules - this is the last place where the
modules may touch the symbol table reliably


# af1254e4 12-Jul-2003 Andi Gutmans <andi@php.net>

- WS


# 939ab686 11-Jul-2003 Andi Gutmans <andi@php.net>

- Add support for Z in zend_parse_parameters(). It will allow the extension
- to retreive the zval **, thus allowing it to use the convert_to_*_ex()
- family of functions to do type conversions without effecting the value in
- the engine itself. (Josh Fuhs <fuhs@purdue.edu>)


# 13433852 07-Jul-2003 Zeev Suraski <zeev@php.net>

Rework zend_do_declare_property and related code into one code base


# 376c7a17 07-Jul-2003 Zeev Suraski <zeev@php.net>

Fix bug


# daf3ac65 06-Jul-2003 George Schlossnagle <gschlossnagle@php.net>

add convenience functions or adding class properties. Ok'd for commit by Andi.


# 5a7b0770 03-Jul-2003 Stanislav Malyshev <stas@php.net>

Fix bug #19859 - allow fast_call_user_function to support __call


# 288dacca 30-Jun-2003 Andi Gutmans <andi@php.net>

- ZE coding style requires if ( instead of if(


# f68c7ff2 10-Jun-2003 James Cox <imajes@php.net>

updating license information in the headers.


# 565985ac 09-Jun-2003 Stanislav Malyshev <stas@php.net>

Support 'self' and 'parent' in call_user_func()


# 039c1743 04-Jun-2003 Stanislav Malyshev <stas@php.net>

rm namespace leftovers


# f7f5a5ea 02-Jun-2003 Stanislav Malyshev <stas@php.net>

MEGA-patch: namespaces are R.I.P.


# 66b91259 21-May-2003 Marcus Boerger <helly@php.net>

Make use optimized string lowering


# 7af8eadd 21-May-2003 Marcus Boerger <helly@php.net>

Make zend_str_tolower_copy() a copy function (like stccpy).
Supply a dup version (like estrdup).
Fix tolower() handling.
# Havin copy and dup allows to use the faster version even with
# memory not allocated by emalloc.


# d141ffd9 21-May-2003 Sterling Hughes <sterling@php.net>

use zend_str_tolower_copy()


# bd74e75b 04-May-2003 Marcus Boerger <helly@php.net>

Fix namespace issue: Only CG is needed here


# 29a3586f 04-May-2003 Marcus Boerger <helly@php.net>

Allow functions in internal namespaces (for example factories)


# ad01495a 21-Apr-2003 Stanislav Malyshev <stas@php.net>

Change get_class() so that it returns qualified names for namespaced
classes.

*HEADS UP*: get_class_name() handler interface is changed, now it should
allocate the space it returns with emalloc, and the users free it. If
anyone has problems with it or has suggestions how to do it without this -
please tell.

Also: make function_exists() understand namespaces.


# e5f4c783 08-Apr-2003 Andrei Zmievski <andrei@php.net>

Rename zend_register_internal_class_in_ns() to a better, less filling,
but with the same great taste zend_register_internal_ns_class().


# 6ed30594 04-Apr-2003 Stanislav Malyshev <stas@php.net>

Fix namespace issues


# e3f16415 03-Apr-2003 Andrei Zmievski <andrei@php.net>

Patch from Timm Friede for when EG(active_namespace) is NULL initially.


# 91eff553 03-Apr-2003 Andrei Zmievski <andrei@php.net>

Initialize all relevant zend_class_entry fields to avoid accidental
crashes.


# 3d62a349 02-Apr-2003 Andrei Zmievski <andrei@php.net>

- Add zend_register_internal_namespace() API function.
- Add zend_register_internal_class_in_ns() API function.


# 5097be30 29-Mar-2003 Zeev Suraski <zeev@php.net>

Initial support for enforcing prototype of abstract/interface method implementations


# 3fc85282 26-Mar-2003 Sebastian Bergmann <sebastian@php.net>

Eliminate TSRMLS_FETCH() calls in destroy_op_array() and zend_get_class_entry().


# 866332a4 26-Mar-2003 Sebastian Bergmann <sebastian@php.net>

Eliminate TSRMLS_FETCH() calls in zend_objects_new() and zend_objects_get_address().


# 3a297fac 19-Mar-2003 Andrei Zmievski <andrei@php.net>

Lowercase the function name when used as key in the function name. The
original case is still preserved in zend_function structure.


# dedfa808 13-Mar-2003 Andrei Zmievski <andrei@php.net>

Fix warning in va_start().


# 0c571538 12-Mar-2003 Andrei Zmievski <andrei@php.net>

Initialize the namespace when registering functions.
# Correct me if I'm wrong..


# 3f8c08b5 03-Mar-2003 Harald Radi <phanto@php.net>

add missing strtolower


# a700180f 03-Mar-2003 Harald Radi <phanto@php.net>

commiting zend_disable_class patch for George:
disabled classes will be replaced by dummy classes
that print a warning upon instanciation


# 6d300baf 16-Feb-2003 Sebastian Bergmann <sebastian@php.net>

ZTS fixes


# a2bd043e 12-Feb-2003 Ilia Alshanetsky <iliaa@php.net>

Removed zend_get_module(), this function is not used by anything and more
importantly. it does not work. It tries to find data based on numeric keys
in hash table using string keys.


# c17c7a2b 10-Feb-2003 Zeev Suraski <zeev@php.net>

Centralize class initialization


# 5e12de95 10-Feb-2003 Zeev Suraski <zeev@php.net>

Add missing destructors


# 325f9edb 08-Feb-2003 Georg Richter <georg@php.net>

fixed zend_parse_method_param


# 17439aa9 05-Feb-2003 Zeev Suraski <zeev@php.net>

Rework static class properties - now supports access restrictions


# 471947b1 04-Feb-2003 Zeev Suraski <zeev@php.net>

Reimplement PPP properties


# c4528f82 02-Feb-2003 Harald Radi <phanto@php.net>

extend the parameter parsing API by two functions
for parsing method parameters with automatic
detection if the function was called as such or as
a class method (with a valid this ptr).
if called as a function the first parameter has to be
the object it is operating on, if called as a method
this is used.

#not yet testet, only commiting so that georg can
#continue working on ext/mysqli


# 333406bd 01-Feb-2003 foobar <sniper@php.net>

- Added some missing CVS $Id$ tags, headers and footers.


# 0ceb4a93 26-Jan-2003 Sascha Schumann <sas@php.net>

Replace snprintf() call using zend_error's capabilities


# 5340b204 14-Jan-2003 Stanislav Malyshev <stas@php.net>

fix memory leaks and key size


# eccc5368 14-Jan-2003 Stanislav Malyshev <stas@php.net>

Make add_property_ functions work via write_property handler


# efaa31e9 10-Jan-2003 Andrei Zmievski <andrei@php.net>

Automatically register constructor, destructor, and clone function when
class methods are registered.


# 9b09ba61 01-Jan-2003 Zeev Suraski <zeev@php.net>

Win32 build fix


# 57b9b011 01-Jan-2003 Zeev Suraski <zeev@php.net>

Fix Wez's problem


# 2c5d4b8c 31-Dec-2002 Sebastian Bergmann <sebastian@php.net>

Bump year.


# e062dffe 06-Dec-2002 Zeev Suraski <zeev@php.net>

- Implement public/protected/private methods.
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.


# 671fff2f 30-Nov-2002 Andi Gutmans <andi@php.net>

h WHitespace


# e8214a33 23-Nov-2002 Andi Gutmans <andi@php.net>

- Commit Marcus' cleanup of abstract and static inheritance and improve
- error messages


# 2a9f250e 22-Nov-2002 Derick Rethans <derick@php.net>

- Initialize all functions to non-static (patch by Marcus Börger
<marcus.boerger@t-online.de>.


# d3617c51 09-Oct-2002 Ilia Alshanetsky <iliaa@php.net>

MFZE1 zend_str_tolower issue.


# ee7b8f90 26-Sep-2002 Ilia Alshanetsky <iliaa@php.net>

MFZE1


# a35c61af 16-Sep-2002 Andrei Zmievski <andrei@php.net>

MFZE1


# 43139dc7 15-Sep-2002 Andi Gutmans <andi@php.net>

- WS - Always use "if (" and not "if("


# bc5ea87e 15-Jul-2002 Andi Gutmans <andi@php.net>

- Commit patch to support protected member variables (by Timm Friebe w/
- some fixes by me).
- You can't access protected variables from outside the object. If you want
- to see a protected member from your ancestors you need to declare the
- member as protected in the class you want to use it in. You can't
- redeclare a protected variable as private nor the other way around.


# 28247f57 26-Jun-2002 Andi Gutmans <andi@php.net>

- Centralize global class fetch


# 7a067547 30-Apr-2002 Stanislav Malyshev <stas@php.net>

Make OBJCE return zend_class_entry*, also some cleanups


# 8bf59c8f 24-Apr-2002 Harald Radi <phanto@php.net>

MFZE1 saschas 'Avoid exceeding buffer limits' patch


# 51e797f1 23-Apr-2002 Harald Radi <phanto@php.net>

some type cleanup work


# 6ac6cb10 22-Apr-2002 Harald Radi <phanto@php.net>

added get_class_entry callback handler to the
object handlers structure


# fb6976e4 12-Mar-2002 Andi Gutmans <andi@php.net>

- Another couple of indirection fixes.
- Make class_entry->refcount be part of the structure and not allocated.


# b75ffba9 12-Mar-2002 Stanislav Malyshev <stas@php.net>

Fix standard object creation


# 92dd5e61 12-Mar-2002 Stanislav Malyshev <stas@php.net>

- make class tables contain class_entry *, not class_entry
- fix isset($this)


# a8609b1b 01-Mar-2002 Andrei Zmievski <andrei@php.net>

MFZE1


# 23104148 01-Mar-2002 Andrei Zmievski <andrei@php.net>

MFZE1


# d1eea3de 01-Mar-2002 Andi Gutmans <andi@php.net>

- Fix bug in nested try/catch's
- Infrastructure for implementing imports of methods.


# 00e90f2f 21-Feb-2002 Andi Gutmans <andi@php.net>

- Experimental support for private members.
<?
class MyClass {
private $Hello = "Hello, World!\n";

function printHello()
{
print $this->Hello;
}
}

class MyClass2 extends MyClass {
function printHello()
{
MyClass::printHello(); /* Should print */
print $this->Hello; /* Shouldn't print out anything */
}
}

$obj = new MyClass();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello(); /* Should print */

$obj = new MyClass2();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello();
?>


# cefbdccb 14-Feb-2002 Stanislav Malyshev <stas@php.net>

Pass TSRM to create_object


# 6608f073 07-Feb-2002 Stanislav Malyshev <stas@php.net>

Mega-commit: Enter the new object model
Note: only standard Zend objects are working now. This is definitely going to
break custom objects like COM, Java, etc. - this will be fixed later.
Also, this may break other things that access objects' internals directly.


# 62dc854b 06-Jan-2002 Sebastian Bergmann <sebastian@php.net>

Happy New Year.


# 9b391a83 03-Jan-2002 Derick Rethans <derick@php.net>

- MFZE1 for exit fix, exposing current function name in error messages and
exposing zend_zval_type_name().


# f4b832d2 13-Dec-2001 Andi Gutmans <andi@php.net>

- Fix crash bug in startup code.
- Start work on being able to reference global and local scope


# 74efc41f 12-Dec-2001 Andi Gutmans <andi@php.net>

- Make classes have scope and function/constant lookups default to the class


# 4cb97fa3 11-Dec-2001 Andi Gutmans <andi@php.net>

- Rename zend_class_entry.constants -> zend_class_entry.constants_table


# d863d52a 11-Dec-2001 Sebastian Bergmann <sebastian@php.net>

Update headers.


# 3bfee898 10-Dec-2001 Andi Gutmans <andi@php.net>

- More namespaces work.
- Nuke memory leak.


# 94cfe03d 01-Dec-2001 Andi Gutmans <andi@php.net>

- Revert one of the changes because it might be before the memory
- manager has started.


# bb9a36ca 01-Dec-2001 Andi Gutmans <andi@php.net>

- Use alloca() when possible.


# e858d278 30-Nov-2001 Andi Gutmans <andi@php.net>

- Initial support for class constants. There are still a few semantic
- issues which need to be looked into but basically it seems to work.
- Example:
<?php
class foo
{
const hey = "hello";
}

print foo::hey;
?>


# d2da63f6 25-Nov-2001 Andi Gutmans <andi@php.net>

- Support static members. The following script works:
<?
class foo
{
class bar
{
function init_values()
{
for ($i=1; $i<10; $i++) {
foo::bar::$hello[$i] = $i*$i;
}
}

function print_values()
{
for ($i=1; $i<10; $i++) {
print foo::bar::$hello[$i] . "\n";
}
}
}
}

foo::bar::init_values();
foo::bar::print_values();

for ($i=1; $i<10; $i++) {
print $hello[$i]?"Shouldn't be printed\n":"";
}
?>


# 0a682c6d 29-Oct-2001 Andi Gutmans <andi@php.net>

- Fix internal classes


# 3ead3144 20-Oct-2001 Andrei Zmievski <andrei@php.net>

MFHZ1


# 01850714 12-Oct-2001 Sebastian Bergmann <sebastian@php.net>

MFZE1: Introduced extension version numbers (Stig)


# e2efa019 26-Aug-2001 Andi Gutmans <andi@php.net>

- Merge Andrei's fix from Engine 1. Please commit patches to both trees!


# 8722b31d 13-Aug-2001 Zeev Suraski <zeev@php.net>

MFZE1


# 76a7a5bc 11-Aug-2001 Andi Gutmans <andi@php.net>

- More work on making objects work


# 532677e7 11-Aug-2001 Andi Gutmans <andi@php.net>

- Fix some places which create objects. The fixes are ugly and will be
revised when things start working well


# 4f6c95d1 11-Aug-2001 Zeev Suraski <zeev@php.net>

Whitespace


# 5af7770a 07-Aug-2001 Andi Gutmans <andi@php.net>

- Sync Engine2 CVS with latest Engine CVS


# fcc03510 05-Aug-2001 Zeev Suraski <zeev@php.net>

TSRMLS_FETCH work


# d76cf1da 31-Jul-2001 Zeev Suraski <zeev@php.net>

More TSRMLS_FETCH work


# 4187439c 30-Jul-2001 Zeev Suraski <zeev@php.net>

More TSRMLS_FETCH work


# e8ac55d0 30-Jul-2001 Zeev Suraski <zeev@php.net>

More TSRMLS_FETCH work


# b5255495 30-Jul-2001 Zeev Suraski <zeev@php.net>

More TSRMLS_FETCH work, and get rid of redundant ParametersPassedByRef


# 3839af35 30-Jul-2001 Andrei Zmievski <andrei@php.net>

Let's be consisten and keep TSRMLS_DC declaration after num_args.


# 8ce8324e 30-Jul-2001 Zeev Suraski <zeev@php.net>

More TSRMLS_FETCH annihilation


# 11e5d2f2 30-Jul-2001 Zeev Suraski <zeev@php.net>

Get rid of more TSRMLS_FETCH's


# b5770382 30-Jul-2001 Zeev Suraski <zeev@php.net>

Avoid TSRMLS_FETCH()'s (still lots of work left)


# b4f3b9d3 28-Jul-2001 Zeev Suraski <zeev@php.net>

Redesigned thread safety mechanism - nua nua


# 2c254ba7 27-Jul-2001 Zeev Suraski <zeev@php.net>

Get rid of ELS_*(), and use TSRMLS_*() instead.
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...


# 87e39243 11-Jul-2001 Zeev Suraski <zeev@php.net>

Remove the last couple of bogus inlines


# ed542331 11-Jul-2001 Zeev Suraski <zeev@php.net>

Get rid of some inlines


# 58f88057 09-Jul-2001 Andrei Zmievski <andrei@php.net>

Adding new parameter parsing API.


# fb8e6146 03-Jul-2001 Rasmus Lerdorf <rasmus@php.net>

Trivial fix - but the period looks odd in error messages


# 555fa779 09-May-2001 Andrei Zmievski <andrei@php.net>

Nuke unused variable.


# 41aebd05 09-May-2001 Andrei Zmievski <andrei@php.net>

Fix a few bugs in zend_is_callable() and make it stricter.


# acd56b08 27-Apr-2001 Andi Gutmans <andi@php.net>

- More whitespace fixes while I'm at it.


# 3b2a83b9 12-Mar-2001 Andrei Zmievski <andrei@php.net>

Name length is already known.


# 7db391b0 12-Mar-2001 Andi Gutmans <andi@php.net>

- Missed second place.


# 123491ae 12-Mar-2001 Andi Gutmans <andi@php.net>

- Nuke snprintf()


# 13148b54 12-Mar-2001 Andrei Zmievski <andrei@php.net>

Improve zend_is_callable() to the point where it's actually useful.
Now it just needs to be invoked everywhere in PHP where a callback is
expected.


# 7080fa5b 26-Feb-2001 Andi Gutmans <andi@php.net>

- Rename modules.h to zend_modules.h


# d2c9e807 26-Feb-2001 Andi Gutmans <andi@php.net>

- Update copyright year


# 8fe03659 01-Feb-2001 Andrei Zmievski <andrei@php.net>

Added zend_is_callable() function that checks whether passed zval
represents a valid and exiting callable construct.


# 0611acb9 31-Jan-2001 Andi Gutmans <andi@php.net>

- Change unset() functions to null(). unset() is legacy


# 373e8301 23-Jan-2001 Thies C. Arntzen <thies@php.net>

fixed crash in add_index_bool.


# ef95a346 20-Jan-2001 Andi Gutmans <andi@php.net>

- Patch from Sterling. Add API calls to add zval's as array indeces/
object properties. Add _ex functions which take the string length as an
argument for better performance.


# 0a3761e2 19-Jan-2001 Andi Gutmans <andi@php.net>

- For Sterling. I wonder if not all of the API functions should take the
- key_length as a parameter in order to save that strlen().


# f1a9920b 02-Nov-2000 Zeev Suraski <zeev@php.net>

Maintain consistency


# 2946f87f 26-Oct-2000 Andi Gutmans <andi@php.net>

- Fix new -m on Windows


# fce92e3c 12-Jun-2000 Zeev Suraski <zeev@php.net>

Avoid using E_CORE_* errorlevels in any place which is not in the global startup sequence


# 07a8327a 11-Jun-2000 Zeev Suraski <zeev@php.net>

Fix zend_get_parameters()


# a2979141 10-Jun-2000 Zeev Suraski <zeev@php.net>

Fix bug #4768


# eb0e6946 09-Jun-2000 Andi Gutmans <andi@php.net>

- Andrei, this is for you!
- Add zend_register_internal_class_ex() which allows you to specify a
- parent to inherit from. You can either specify the parent directly or via
- its name.


# 6ce07a85 09-Jun-2000 Andi Gutmans <andi@php.net>

- Change register_internal_class to zend_register_internal_class for
- consistency.
- Andrei: I'm still thinking about the _ex you want me to implement


# 45835295 06-Jun-2000 Sascha Schumann <sas@php.net>

Add newline at the end of the file (breaks at least SCO and Tru64 C compiler).


# 13b67621 31-May-2000 Zeev Suraski <zeev@php.net>

Fix a bug in static initializers/default values/class member variables that contained
array values


# bc7abb33 29-May-2000 Zeev Suraski <zeev@php.net>

Allow disabling of functions for security reasons


# 99e2820b 02-May-2000 Sascha Schumann <sas@php.net>

Fix segfault occuring when a temporary module was unloaded and if this
module did not have a request shutdown function.


# dc93a62c 24-Apr-2000 Zeev Suraski <zeev@php.net>

Correct fix


# 9786e445 24-Apr-2000 Thies C. Arntzen <thies@php.net>

MODULE_TEMPORARY should get a call to RSHUTDOWN as well!


# 4cb9a483 15-Apr-2000 Zeev Suraski <zeev@php.net>

- Clean up resource lists namespace
- Prepare extended resource list destructor APIs (currently unused)


# 7fd92b52 26-Mar-2000 Andi Gutmans <andi@php.net>

- Stop zend_func_args() and co. from crashing


# 5dba4774 25-Mar-2000 Zeev Suraski <zeev@php.net>

- Some header dependencies cleanup
- Generalize zval_print() and zval_print_r()


# 6db18997 24-Mar-2000 Andi Gutmans <andi@php.net>

- Nuke hash_*_ptr functions


# 5e55e47f 06-Mar-2000 Zeev Suraski <zeev@php.net>

It's official now...


# 0ac9536d 19-Feb-2000 Zeev Suraski <zeev@php.net>

(c) patch


# ceba50b6 19-Feb-2000 Zeev Suraski <zeev@php.net>

- Fix a nasty bug in the hash, introduced in the recent migration to macros
- Make array_init() and friends trackable


# f77e6a44 19-Feb-2000 Zeev Suraski <zeev@php.net>

Generalize macros


# 9f51f154 05-Feb-2000 Zeev Suraski <zeev@php.net>

- Stop passing list/plist to internal functions
- Add a typedef for the pCopyConstructor function pointer
- Minor hacks


# e0628436 03-Feb-2000 Andrei Zmievski <andrei@php.net>

*** empty log message ***


# 8b9e07da 02-Feb-2000 Zeev Suraski <zeev@php.net>

- Fix built-in classes with more than 5 methods


# b995d2cc 01-Feb-2000 Andrei Zmievski <andrei@php.net>

Added add_property_unset() and add_property_bool().


# bdefd5da 04-Jan-2000 Andi Gutmans <andi@php.net>

- Change IS_UNSET -> IS_NULL


# f2d703e9 31-Dec-1999 Zeev Suraski <zeev@php.net>

- Nuke undefined_variable_string
- Introduce IS_UNSET


# c34a062f 27-Dec-1999 Andi Gutmans <andi@php.net>

- Get rid of warning


# b7a5b3c3 27-Dec-1999 Zeev Suraski <zeev@php.net>

- Generalize the fast cache mechanism
- Add the HashTable struct to the fast cache mechanism


# 27daca31 27-Dec-1999 Andi Gutmans <andi@php.net>

- Make zend_internal_function allocate a full zend_function structure so
that we don't get memory overruns and Thies doesn't get angry :)


# 235386b2 26-Dec-1999 Zeev Suraski <zeev@php.net>

Change ALLOC_ZVAL() semantics


# 62b2087a 24-Dec-1999 Andi Gutmans <andi@php.net>

- Create two new macro's. ALLOC_ZVAL() and FREE_ZVAL(z) and make Zend use
them.


# 80bab9d9 21-Dec-1999 Andrei Zmievski <andrei@php.net>

We're using ZVAL's now.


# cd7d5546 18-Dec-1999 Zeev Suraski <zeev@php.net>

- Introduce ZEND_NUM_ARGS(), to replace ARG_COUNT(ht)
- Rename getParameters() and friends for consistency and namespace cleanliness


# 70df2d74 05-Dec-1999 Sascha Schumann <sas@php.net>

Fix some warnings


# 83ce7c13 04-Dec-1999 Andrei Zmievski <andrei@php.net>

*** empty log message ***


# f962a35d 04-Dec-1999 Andrei Zmievski <andrei@php.net>

Added zend_set_hash_symbol() function.


# 3a176301 30-Nov-1999 Andi Gutmans <andi@php.net>

- Applied Thies' bug fix. Great work!


# 71b1219e 26-Nov-1999 Zeev Suraski <zeev@php.net>

This request_shutdown() is no longer needed (never was needed really)


# 94b51198 26-Nov-1999 Zeev Suraski <zeev@php.net>

Remove request_started, increase thread safety


# 6358c663 21-Nov-1999 Zeev Suraski <zeev@php.net>

- Optimize class instanciation
- Fix constant instanciation for array elements inside objects


# 6847fefa 04-Oct-1999 Thies C. Arntzen <thies@php.net>

added add_*_resource() and add_*_bool() functions


# 446e5d0f 29-Sep-1999 Thies C. Arntzen <thies@php.net>

added add_property_resource


# 009025e0 06-Sep-1999 Stig S. Bakken <stig@php.net>

* header file cleanup
* fixed --enable-thread-safety build for UNIX

I don't have a Win32 environment available, could someone please try
compiling on Win32 to see if I got all the header file stuff right there?


# 8d1de13a 19-Jul-1999 Zeev Suraski <zeev@php.net>

0.91 update


# b5b11177 16-Jul-1999 Zeev Suraski <zeev@php.net>

License update


# 2a6da781 09-Jul-1999 Zeev Suraski <zeev@php.net>

Step 4:
Move to a 7-bit counter (not fully implemented yet)


# 6ec1acbe 09-Jul-1999 Zeev Suraski <zeev@php.net>

Phase 3:
Use a single bit to mark IS_REF variables


# 5f62c347 09-Jul-1999 Zeev Suraski <zeev@php.net>

Step 2:
Rename is_ref to EA


# 81d901b1 09-Jul-1999 Zeev Suraski <zeev@php.net>

Step 1 in nuking the garbage collector:
- Change the hash destructor to return int
- Don't kill the bucket on hash_destroy if the destructor returns 0


# 95c9e301 09-Jun-1999 Zeev Suraski <zeev@php.net>

* Fix cases where you assign an array element to the parent array (the array was
being erased before the assignment, so the element was being smashed).


# 9108abc2 04-Jun-1999 Zeev Suraski <zeev@php.net>

Minor updates (mostly __declspec() stuff)


# 741b8161 28-May-1999 Zeev Suraski <zeev@php.net>

* Support getThis() for internal functions.
* Fix 'new object or die' and AiCount issue thoroughly (earlier fix didn't
work with the optimizer).
* Add new macros for standardized definition of classes.
* Only report AiCount problems if shutdown was not silent.


# bfbe8618 09-May-1999 Zeev Suraski <zeev@php.net>

Almost forgot to commit those


# 5a5806e0 24-Apr-1999 Zeev Suraski <zeev@php.net>

Cleanups, remove old ts code


# 942f4092 21-Apr-1999 Zeev Suraski <zeev@php.net>

* Change the thread safe project to create a C++ scanner.
* Add in a slightly modified skeleton file (only a couple of #if's for #include's
that we dont have in Windows)

It does NOT compile or work yet :)


# 7a87fcbb 21-Apr-1999 Zeev Suraski <zeev@php.net>

Thread safety patch. We're still not quite there but it compiles again, and
more logic has been implemented.


# 9deab411 19-Apr-1999 Andi Gutmans <andi@php.net>

Add a couple of ZEND_API's


# 342c6e0b 18-Apr-1999 Zeev Suraski <zeev@php.net>

Whatnot:
* updated alloc_persist to use critical sections
* changed extension shutdown to two-phase
* updated dependencies
* PR support (don't remember if there was any really)


# 39f9487e 14-Apr-1999 Andi Gutmans <andi@php.net>

-Tiny patches


# 3fcc6511 13-Apr-1999 Andi Gutmans <andi@php.net>

* Optimize argument_stack top lookup
* Fix a nasty bug in zend_ptr_stack_clean()


# ad9b13eb 12-Apr-1999 Zeev Suraski <zeev@php.net>

off by one


# 3ca6d611 12-Apr-1999 Zeev Suraski <zeev@php.net>

Make functions that don't take arguments somewhat happier:)


# 39a7f4c3 12-Apr-1999 Zeev Suraski <zeev@php.net>

This patch is a go. Not fully optimized yet, but working properly.
Prepatch tagged as BEFORE_STACK_PATCH.


# 9d8e0db3 08-Apr-1999 Zeev Suraski <zeev@php.net>

* Add arguments to shutdown functions
* Remove traces of php_ini stuff


# 573b4602 07-Apr-1999 Andi Gutmans <andi@php.net>

Zend Library