History log of /PHP-7.3/Zend/zend_builtin_functions.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 1e0bc6e3 31-Jul-2020 Christoph M. Becker <cmbecker69@gmx.de>

Fix #79919: Stack use-after-scope in define()

Instead of the temporary `rv`, we use the `val_free` which is there for
this purpose.


# 1e0bc6e3 31-Jul-2020 Christoph M. Becker <cmbecker69@gmx.de>

Fix #79919: Stack use-after-scope in define()

Instead of the temporary `rv`, we use the `val_free` which is there for
this purpose.

# b8e7b30b 02-Jun-2020 Christoph M. Becker <cmbecker69@gmx.de>

Fix #79668: get_defined_functions(true) may miss functions

Instead of some brittle and unefficient string matching, we can just
check for the function handler.

# 8c6a7c33 24-Feb-2020 Mark Plomer <mark.plomer@boerse-go.de>

Fix #63206: Fully support error/exception_handler stacking, even with null or inside the handler

Always push the current user_error/exception_handler to the stack,
even when it is empty, so restore_error_handler() always works as
expected.

The user_error_handler is especially temporarily empty when we are inside
the error handler, which caused inconsistent behaviour before.

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

Future-proof email addresses

# 0a6ddc77 05-Oct-2018 Michael Moravec <me@majkl.me>

Fix bug #76979: define() error message does not mention resources as valid values

# 040ca85e 19-Sep-2018 Nikita Popov <nikita.ppv@gmail.com>

Merge branch 'PHP-7.2' into PHP-7.3


# cc1fb027 19-Sep-2018 Nikita Popov <nikita.ppv@gmail.com>

Merge branch 'PHP-7.1' into PHP-7.2


# 294fb83e 19-Sep-2018 Nikita Popov <nikita.ppv@gmail.com>

Fixed bug #76901

get_method() may modify the object pointer passed to it if method
forwarding is used. In this case we do not want to modify the
passed zval, so make sure that we copy the object into a temporary
first.

# ab8094c6 25-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Pack zend_constant.flags and zend_constant.module_number into reserved space inside zend_constant.value.

# 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.

# 3588d8af 23-Jun-2018 Nikita Popov <nikita.ppv@gmail.com>

Deprecate case-insensitive constants

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

# 6c630eef 12-Jul-2018 Christoph M. Becker <cmbecker69@gmx.de>

Fix #33502: Some nullary functions don't check the number of arguments

We add the missing zend_parse_parameters_none() checks for:

* output_reset_rewrite_vars()
* func_num_args()
* gc_status()
* gc_disable()
* gc_enable()
* gc_enabled()
* gc_collect_cycles()
* gc_mem_caches()
* zend_version()

# 67b4c337 08-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Uze ZVAL_COPY_DEREF() instead of ZVAL_DEREF() and ZVAL_COPY()

# 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.

# 9465ec46 13-Jun-2018 Xinchen Hui <laruence@gmail.com>

Added num_roots to gc_status

# e788e826 13-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Removed "gc_" prefix.

# 2afc8373 13-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Allow access to some garbage collection internals (Benjamin Eberlei)

# f2b4ec4b 31-May-2018 Dmitry Stogov <dmitry@zend.com>

Export standard object handlers, to avoid indirect access

# 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.

# a795bd82 22-Mar-2018 Dmitry Stogov <dmitry@zend.com>

Optimize zend_hash_real_init()

# baa98901 25-Feb-2018 Dmitry Stogov <dmitry@zend.com>

Completely hide GC implementation details into zend_gc.c

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

Use bool instead of boolean in proto

# 35e70af2 11-Jan-2018 Christoph M. Becker <cmbecker69@gmx.de>

Merge branch 'PHP-7.2'

* PHP-7.2:
Fixed bug #75799 (arg of get_defined_functions is optional)


# 7e1d2bd8 11-Jan-2018 Christoph M. Becker <cmbecker69@gmx.de>

Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
Fixed bug #75799 (arg of get_defined_functions is optional)


# a843a86e 10-Jan-2018 Gabriel Caruso <carusogabriel34@gmail.com>

Fixed bug #75799 (arg of get_defined_functions is optional)

# 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++

# cc12acef 04-Dec-2017 Dmitry Stogov <dmitry@zend.com>

Use cheaper functions

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

RC manipulation cleanup 2

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

RC manipulation cleanup

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

Remove some unnecessary duplications

# 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

# 9cf87aa1 24-Oct-2017 Dmitry Stogov <dmitry@zend.com>

Avoid HashTable allocations for empty arrays (using zend_empty_array).

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

Always use IS_CONSTANT_AST (IS_CONSTANT is removed).

# cb9d81ef 05-Oct-2017 Dmitry Stogov <dmitry@zend.com>

Refactored recursion pretection

# a8427e7d 12-Sep-2017 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
Fixed arginfo for get_defined_functions


# 58aa7265 12-Sep-2017 Xinchen Hui <laruence@gmail.com>

Fixed arginfo for get_defined_functions

# ff6f41c9 12-Sep-2017 Xinchen Hui <laruence@gmail.com>

Narrow typeinfos down for zend_parse_paramenters_none

# ff04db44 07-Sep-2017 Sara Golemon <pollita@php.net>

Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
Fix typo in zend_symtable_add_new() API name


# 9369843e 07-Sep-2017 Sara Golemon <pollita@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
Fix typo in zend_symtable_add_new() API name


# f18cf46d 07-Sep-2017 Sara Golemon <pollita@php.net>

Fix typo in zend_symtable_add_new() API name

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

further sync for vim mode lines

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

Only compute callback name in error cases

Mostly the callback name is only used to report an error. Try to
avoid calculating it if no error occurred.

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

Merge branch 'PHP-7.1'


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

Merge branch 'PHP-7.0' into PHP-7.1


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

Don't leave holes in func_get_args() and backtraces

Argument lists should always be continuous and hole-free, even if
local variables are unset. Replace UNDEF values with NULLs.

# 7cce220b 07-Jun-2017 Richard Fussenegger <fleshgrinder@users.noreply.github.com>

Updated some str functions to new parameter API

# 490960d8 23-May-2017 Dmitry Stogov <dmitry@zend.com>

Avoid useless string duplication

# b3ca0c25 10-Mar-2017 Nikita Popov <nikita.ppv@gmail.com>

zend-test extension to house code that is required for testing internal APIs, but that we would not want to expose for regular builds

# 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.

# 06a03401 02-Feb-2017 Nikita Popov <nikita.ppv@gmail.com>

Deprecate each()

# eaeecc52 30-Jan-2017 Nikita Popov <nikita.ppv@gmail.com>

Deprecate create_function()

# 795a4c1b 02-Feb-2017 Nikita Popov <nikita.ppv@gmail.com>

Merge branch 'PHP-7.1'


# e81f30ad 02-Feb-2017 Nikita Popov <nikita.ppv@gmail.com>

Merge branch 'PHP-7.0' into PHP-7.1


# dd9cf234 31-Jan-2017 Mitch Hagstrand <mhagstrand@gmail.com>

BUG #73998: Numeric properties are not accessible from get_object_vars

# 306f55be 26-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
Fixed #73973 - debug_zval_dump() assertion error for resource consts with --enable-debug


# 2d339fa4 26-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
Fixed #73973 - debug_zval_dump() assertion error for resource consts with --enable-debug


# f65ae82c 24-Jan-2017 andrewnester <andrew.nester.dev@gmail.com>

Fixed #73973 - debug_zval_dump() assertion error for resource consts with --enable-debug

# e69c9d3b 23-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
move decl to correct place


# 5589df12 23-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
move decl to correct place


# d6364679 23-Jan-2017 Joe Watkins <krakjoe@php.net>

move decl to correct place

# 8782e847 22-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
Fixed #73969 - Fixed segmentation fault when debug_print_backtrace called


# 8bda5420 22-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
Fixed #73969 - Fixed segmentation fault when debug_print_backtrace called


# 6f912f7c 22-Jan-2017 andrewnester <andrew.nester.dev@gmail.com>

Fixed #73969 - Fixed segmentation fault when debug_print_backtrace called

# 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

# d8382854 04-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
get_defined_functions additional parameter to exclude disabled functions
news entry for PR #1312


# 6c916404 04-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
get_defined_functions additional parameter to exclude disabled functions
news entry for PR #1312


# 63d116e5 04-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'pull-request/1312' into PHP-7.0

* pull-request/1312:
get_defined_functions extra parameter to exclude disabled functions
news entry for PR #1312


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

Update copyright headers to 2017

# 3e9bb03a 28-Nov-2016 Dmitry Stogov <dmitry@zend.com>

Removed IS_TYPE_IMMUTABLE (it's the same as COPYABLE & !REFCOUED)

# dd9ad094 22-Nov-2016 Nikita Popov <nikic@php.net>

Fix get_class_vars() fast-path/slow-path discrepancies

Normalize to the fast-path behavior. In particular, make sure that
the the property visibility check is correct for property names that
are formatted like mangled private properties (but are not). This is
done by only calling zend_check_property_access() for INDIRECT
properties.

# a0502b89 14-Nov-2016 Andrea Faulds <ajf@ajf.me>

Convert numeric keys in object/array casts

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

This converts key types as appropriate in object to array and array to object
casts, as well as in get_object_vars().

# b0cacee3 09-Oct-2016 Joe Watkins <krakjoe@php.net>

Merge branch 'pull-request/2082'


# 6be2e79c 26-Sep-2016 Dmitry Stogov <dmitry@zend.com>

On PHP-7.1 and above we have to check CALL_INFO instead of symbol_table.

# bca7f029 26-Sep-2016 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
Fixed bug #73156 (segfault on undefined function)


# d2791184 26-Sep-2016 Dmitry Stogov <dmitry@zend.com>

Fixed bug #73156 (segfault on undefined function)

# 68e602ff 22-Sep-2016 John Boehr <jbboehr@gmail.com>

Fix bug #69579

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

Merge branch 'PHP-7.0' into PHP-7.1


# 8e313bec 22-Sep-2016 John Boehr <jbboehr@gmail.com>

Fix bug #69579

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

Merge branch 'PHP-7.0' into PHP-7.1


# 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

# ff065881 16-Aug-2016 Dmitry Stogov <dmitry@zend.com>

Fixed use after free

# 86aa1c78 11-Aug-2016 Danack <Danack@basereality.com>

Require parameter to be an object if passed.

# 0cfb4765 28-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Fixed compilation warnings

# f8faffe3 22-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Allow "proxy" ovjects to substitute their class names through get_class_name() handler (similar to var_dump() and others).


# 3c84e5e1 22-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Allow "proxy" ovjects to substitute their class names through get_class_name() handler (similar to var_dump() and others).

# 91f59403 24-Apr-2016 Nikita Popov <nikic@php.net>

Forbid dynamic calls to scope introspection functions

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

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

Intern some known (and offten used) strings.

# 4cd9cf82 06-May-2016 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Fixed test
Revert "Fix bug #72162 (again)"


# 441d1b8e 06-May-2016 Xinchen Hui <laruence@gmail.com>

Revert "Fix bug #72162 (again)"

The problem is because we release p->value too early

and later you try to convert an object to string, which is a fatal error

then leave p->value double free, change to expect long is a BC break

This reverts commit 8e5b38100411d3b8fa4486c7c41dec7dedb4b474.

# 59f35c0c 05-May-2016 Nikita Popov <nikic@php.net>

Merge branch 'PHP-7.0'

Conflicts:
Zend/zend_builtin_functions.c


# 8e5b3810 05-May-2016 Nikita Popov <nikic@php.net>

Fix bug #72162 (again)

Not sure what the previous fix was supposed to do. The issue was
that error_reporting() simply assumes that the value must either
be an integer or a string.

Fixed by using zpp properly.

# badf1edf 05-May-2016 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Fixed bug #72162 (use-after-free - error_reporting)


# 91918621 05-May-2016 Xinchen Hui <laruence@gmail.com>

Fixed bug #72162 (use-after-free - error_reporting)

# 2578d080 29-Apr-2016 Dmitry Stogov <dmitry@zend.com>

Fixed compilation warnings

# 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.

# 7abfaac9 01-Apr-2016 Dmitry Stogov <dmitry@zend.com>

Merge zend_execute_data->called_scope into zend_execute_data->This.
"called_scope" made sense only for static method calls, for dynamic calls it was always equal to the class of $this.
Now EG(This) may store IS_OBJECT + $this or IS_UNUSED + "called_scope" (of course, "called_scope" may be NULL).
Some code might need to be adopted to support this change.
Checks (Z_OBJ(EX(This))) might need to be converted into (Z_TYPE(EX(This)) == IS_OBJECT).

# 1e5ac894 21-Mar-2016 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Fix bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable)


# 7e069daa 20-Mar-2016 Jakub Zelenka <bukka@php.net>

Fix bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable)

# 0df9b514 22-Jan-2016 Xinchen Hui <laruence@gmail.com>

Return meaningful value

# b27e1028 21-Jan-2016 Xinchen Hui <laruence@gmail.com>

Empty line

# 145555f8 21-Jan-2016 Xinchen Hui <laruence@gmail.com>

Cover overloaded functions

# 2ee73ee0 21-Jan-2016 Xinchen Hui <laruence@gmail.com>

Let's add a class entry for testing

# 86883b79 13-Jan-2016 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())


# 39f09507 13-Jan-2016 Xinchen Hui <laruence@gmail.com>

Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())

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

Merge branch 'PHP-7.0'


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

bump year which is missed in rev 49493a2

# 7a5c663e 26-Dec-2015 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'


# 6700be67 26-Dec-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start)

# ef6514d6 16-Dec-2015 Dmitry Stogov <dmitry@zend.com>

Don't use deprecated API

# d70aa14f 09-Nov-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70323 (Regression in zend_fetch_debug_backtrace() can cause segfaults)

# a9636ff5 23-Sep-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70555 (fun_get_arg() on unsetted vars return UNKNOW)

and also keep the indices of func_get_args(). since they are similar
issue of #70574, thus reuse its test script.

# 0f3ab1c2 22-Sep-2015 Xinchen Hui <laruence@gmail.com>

Fixed #70547 similar bug in func_get_args

# e1dcfd2c 22-Sep-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70547 (unsetting function variables corrupts backtrace)

# d5b78cec 03-Sep-2015 Xinchen Hui <laruence@gmail.com>

We should keep one refcount to resource

# 6815c08e 03-Sep-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70398 (SIGSEGV, Segmentation fault zend_ast_destroy_ex)

# 13567d5d 14-Aug-2015 Nikita Popov <nikic@php.net>

Don't copy zend_strings during exception creation

Minor optimization...

# a094f4fa 14-Aug-2015 Xinchen Hui <laruence@php.net>

Remove useless insert

# 668ecaa6 04-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Fixed bug #70098 (Real memory usage doesn't decrease)

# 3422fb57 01-Jul-2015 Xinchen Hui <laruence@php.net>

Use hash_str directly

# 324d5ecb 30-Jun-2015 Rasmus Lerdorf <rasmus@lerdorf.com>

debug_print_backtrace has a 2nd optional arg

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

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

# 1201be39 24-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

3rd arg to define() is optional

# 41774bce 23-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

Fix more minor mistakes in the proto comments

# f4d08d8e 23-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

Fix incorrect protos

# ed418312 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Fix arginfo for built-in engine functions"

This reverts commit d2356541d0386e3f0b6d593e2cc046ced68ff050.

# 3db071db 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Fix set_error_handler() arginfo"

This reverts commit b5240280b089acad03616987cee4bb76d94c8c56.

# 82b92cfa 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "And actually use this new arginfo data"

This reverts commit 932c95fb3106d0f3fd742e3f2a01f749f6d69182.

# 539593ce 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Fix each() arginfo"

This reverts commit 19fd124bcf2380f8e928795d1fe1900a02635298.

# 9a68fe51 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Fix genarginfo to respect by-ref passing"

This reverts commit db6990a91b2ca931074b29886c7f7819b14bb021.

# 13d5893c 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Several return type fixes, still not completed... Incomplete prototypes :-/"

This reverts commit 851b95fc4911bcd0c88810a91367f2294ea5b6c1.

# 851b95fc 22-Jun-2015 Bob Weinand <bobwei9@hotmail.com>

Several return type fixes, still not completed... Incomplete prototypes :-/

# db6990a9 22-Jun-2015 Bob Weinand <bobwei9@hotmail.com>

Fix genarginfo to respect by-ref passing

# 19fd124b 22-Jun-2015 Bob Weinand <bobwei9@hotmail.com>

Fix each() arginfo

# 932c95fb 22-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

And actually use this new arginfo data

# b5240280 22-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

Fix set_error_handler() arginfo

# d2356541 22-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

Fix arginfo for built-in engine functions

# 4a6e1345 16-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Use COW to prevent unnecessary duplication of dynamic propertyes of stdClass (and other classes without predefined properties).

# 1c754f0b 12-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Get rid of more ZVAL_ZVAL() macros

# 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)

# 33721742 03-Jun-2015 Willian Gustavo Veiga <contact@willianveiga.com>

Added "exclude_disabled" argument to "get_defined_functions".

# 97883233 30-May-2015 Willian Gustavo Veiga <contact@willianveiga.com>

Fix bug #31875 - get_defined_functions() should not list disabled functions.

# 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.

# 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.

# f3e124d5 14-Apr-2015 Bob Weinand <bobwei9@hotmail.com>

Merge branch 'coroutineDelegation' of https://github.com/bwoebi/php-src


# 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

# f23f7dfe 08-Apr-2015 Xinchen Hui <laruence@php.net>

Use new macros

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

Recalssify some E_ERROR into E_CORE_ERROR

# 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.

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

Use zend_error_noreturn() for fatal errors

# 607b7d66 30-Mar-2015 Kalle Sommer Nielsen <kalle@php.net>

Added missing zend_parse_parameters_none() to restore_error_handler() and restore_exception_handler() (Ferenc)

# 10e1b13a 26-Mar-2015 Kalle Sommer Nielsen <kalle@php.net>

Minor cosmetics for our test functions in the debug build

# 67b907f0 26-Mar-2015 Kalle Sommer Nielsen <kalle@php.net>

Change the error message for colliding class/interface/trait names to be a little more clearer.

C:\> php -r "interface stdClass { }"
Error: Cannot declare interface stdClass, because the name is already in use in Command Line Code on line 1

# 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()

# 86336856 12-Mar-2015 Dmitry Stogov <dmitry@zend.com>

Use specialized macro for string zval creation

# b4a142ab 06-Mar-2015 Bob Weinand <bobwei9@hotmail.com>

Added yield from operator

# c2c78dc9 25-Feb-2015 Dmitry Stogov <dmitry@zend.com>

Added specialized versions of DO_FCALL handler:
DO_ICALL - for internal functions
DO_UCALL - for user functions
DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)

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

don't count op_arrays stored in opcache SHM

# e10e151e 13-Feb-2015 Dmitry Stogov <dmitry@zend.com>

Merged zend_array and HashTable into the single data structure.
Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write
zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.

# 2fb85f10 12-Feb-2015 Nikita Popov <nikic@php.net>

Cleanup checks in zend_builtin_functions.c

The EXPLICIT_ABSTRACT_CLASS comparisons are no longer necessary.

# 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.

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

Add test function arguments

# 16732ded 23-Jan-2015 Xinchen Hui <laruence@php.net>

Fixed refcount handling in get_class_vars()

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

define() must not modify the source array

# 8dc3c283 20-Jan-2015 Dmitry Stogov <dmitry@zend.com>

cleanup

# 442efdaa 19-Jan-2015 Xinchen Hui <laruence@php.net>

Optimized is_a

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

bump year

# 58efbf0a 13-Jan-2015 Dmitry Stogov <dmitry@zend.com>

Fixed possible double free

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

Fixed possible crash

# 916d5ece 12-Jan-2015 Dmitry Stogov <dmitry@zend.com>

Optimized error_reporting() similar to silence operator (ZEND_BEGIN_SILENCE opcode).

# c5047d1f 12-Jan-2015 Dmitry Stogov <dmitry@zend.com>

Use FAST_ZPP in few more frequently used functions

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

trailing whitespace removal

# 2d212b42 23-Dec-2014 Nikita Popov <nikic@php.net>

Drop duplicate arg from hash_get_current_key_ex

# 86af370b 24-Dec-2014 Anatol Belski <ab@php.net>

remove unused variable

# 385bda6c 24-Dec-2014 Anatol Belski <ab@php.net>

C89 compat

# 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.

# 106b1017 23-Dec-2014 Dmitry Stogov <dmitry@zend.com>

API for fast construction of packed arrays

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

Improved get_object_vars()

# 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.

# 0833fd46 21-Dec-2014 Dmitry Stogov <dmitry@zend.com>

Allow arrays with define(), to match const syntax support

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

first shot remove TSRMLS_* things

# 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().

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

Pack EX(frame_info) into EX(This).u1.v.reserved. Rename "frame"kind" into "call_kind" and VM_FRAME_... into ZEND_CALL_...

# 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.

# 5190d8fb 28-Oct-2014 Xinchen Hui <laruence@php.net>

Addtion fix for bug #68252 , forget static variable hanlding

# e6fe3127 28-Oct-2014 Xinchen Hui <laruence@php.net>

Fixed bug #68252 (segfault in Zend/zend_hash.c in function _zend_hash_del_el)

Don't leave a UNDEF gap in function_table

# 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

# 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

# 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.

# 33e137d4 07-Oct-2014 Dmitry Stogov <dmitry@zend.com>

Merged EX(frame_kind) and EX(flags) into single word

# 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.

# 142a01db 28-Sep-2014 Nikita Popov <nikic@php.net>

Fix a couple compile warnings

# e14b7f62 27-Sep-2014 Timm Friebe <thekid@thekid.de>

Fix segmentation fault in debug_backtrace()

# c45924b9 24-Sep-2014 Nikita Popov <nikic@php.net>

Remove dead code

# 7ecc7e6b 20-Sep-2014 Xinchen Hui <laruence@php.net>

folder marks

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

Avoid double IS_INTERNED() check

# 079409bb 15-Sep-2014 Nikita Popov <nikic@php.net>

Switch (un)mangle property name to size_t and zend_string

Also use the _ex variants where possible.

# c8ed0d81 14-Sep-2014 Anatol Belski <ab@php.net>

fix signed/unsigned mismatch

# 5c897aa7 03-Sep-2014 Dmitry Stogov <dmitry@zend.com>

Preallocate hash tables of required size

# 88d7ca44 01-Sep-2014 Dmitry Stogov <dmitry@zend.com>

Refactored INI subsystem to use zend_string* instead of char*

# 389d2859 28-Aug-2014 Andrea Faulds <ajf@ajf.me>

Special-case aliases, add warning comments to implementations

# 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

# 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

# f7c82137 21-Aug-2014 Anatol Belski <ab@php.net>

fix zpp

# 8b2f1ac1 21-Aug-2014 Anatol Belski <ab@php.net>

fix zpp

# 8d6ef99a 21-Aug-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'php/master'


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

Fixed incorrect string length comparison

# d15360c1 21-Aug-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'php/master'


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

Fixed get_resources() prototype comments

# be1b1e7b 20-Aug-2014 Anatol Belski <ab@php.net>

fix index type

# 66e7090e 20-Aug-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'php/master'


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

Introduced get_resources() function.
It may be used for debugging and testing to identify resource leaks.
Changed ext/standard/tests/http/bug60570.phpt to use this function instead of unsafe attempt to catch resource leaks using get_memory_usage()

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

further fixes on core

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

first shot on merging the core fro the int64 branch

# 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)

# 0abd6262 08-Jul-2014 Dmitry Stogov <dmitry@zend.com>

code cleanup

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

Refactored run_time_cache usage in object handlers

# 477bd49c 07-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Wrong expectation in tests (for some reason backtraces contained invlalid extra frame at the top)

# 5aa91be5 07-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Simplify call-frame handling

# 6bf24f4d 04-Jul-2014 Dmitry Stogov <dmitry@zend.com>

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

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

Removed EG(called_scope) 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.

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

Fixed support for extra arguments in conjunction with variadiv argument.
Use compile time flags to check if we call constructor and result of ZEND_NEW is used or not.

# d6bd21ea 27-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Use fast comparison for (func->type == ZEND_USER_FUNCTION || func->type == ZEND_EVAL_CODE)

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

Keep extra args in the same VM stack segment (after all CV and TMP vars)

# 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)

# 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

# dd1c68e6 12-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Merge branch 'master' into phpng

* master: (77 commits)
NEWS entry for Fix potential segfault in dns_get_record()
NEWS entry for "Fix potential segfault in dns_get_record()"
NEWS entry for Fix potential segfault in dns_get_record(
Fix potential segfault in dns_get_record()
Revert "Add optional second arg to unserialize()"
5.5.15 now
update NEWS
Fix bug #66127 (Segmentation fault with ArrayObject unset)
5.4.31 next
Add NEWS. This doesn't need UPGRADING (or an RFC), IMO.
Fix broken test.
Add a mime type map generation script and update the header.
Move the mime type map out of php_cli_server.c for easier generation.
Replace the CLI server's linear search for extensions with a hash table.
fix test
Remove unused included file
NEWS
NEWS
NEWS
Fixed Bug #67413 fileinfo: cdf_read_property_info insufficient boundary chec
...

Conflicts:
Zend/zend_closures.c
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/spl/spl_array.c
ext/standard/basic_functions.c
ext/standard/dns.c
ext/standard/var.c


# 224f369a 08-Jun-2014 Stanislav Malyshev <stas@php.net>

Merge remote-tracking branch 'github/pr/671'

* github/pr/671:
Fix align indentation
Fixed identation on file


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

Use reference counting instead of zval duplication

# 2bc1abe2 02-Jun-2014 Dmitry Stogov <dmitry@zend.com>

cleanup

# 0427ae08 02-Jun-2014 Dmitry Stogov <dmitry@zend.com>

cleanup

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

Use new zend_hash API

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

Use specialized functions instead of macros

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

Optimize func_get_args() to build packed array

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

Fixed apply_func_args_t

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

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

# 9eb89ddd 23-May-2014 Dmitry Stogov <dmitry@zend.com>

Use optimized zend_array_dup() function. convert zend_hash_num_elements() and zend_hash_next_free_element() into macros.

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

Save one type checking if the type is already string

# dd200553 12-May-2014 Jefersson Nathan <malukenho@phpse.net>

Fix align indentation

# e0247de1 30-Apr-2014 Nikita Popov <nikic@php.net>

zend_stack_top() now returns pointer directly

# 5a03efe2 30-Apr-2014 Nikita Popov <nikic@php.net>

Don't allocate zend_stack elements individually

Instead allocate a vector of elements. Size must now be specified
on initialization rather than on push.

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

Split IS_BOOL into IS_FALSE and IS_TRUE

# df7ca608 24-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Optimized constant lookup

# 65e2ed6e 24-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Redesigned zend_execute_data layout now EX(object), EX(scope) and EX(called_scope) arr properties of the current function execution co
ntext. They are set during zend_execute_data initialization and never changed.

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

Fixed compilation warnings

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

Avoid string duplication

# 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.

# 5bb493c4 16-Apr-2014 Dmitry Stogov <dmitry@zend.com>

op_array->filename and op_array->filename may be kept in opcache SHM

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

Fixed reference counting

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

Cleanup

# 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

# f449b047 10-Apr-2014 Nikita Popov <nikic@php.net>

Fix some ZTS issues and leaks

# 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.

# 3d17219c 07-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Refactored zend_hash_* iteration API zend_hash_fove_forward_ex(ht, pos) and family require second argument to be real pointer.
&(ht)->nInternalPointer should be passed instead of NULL.
zend_hash_update_current_key() may work only with internal pointer.

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

Constant duplication optimization
Argument receiving optimization

# 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)

# 6b2ed577 01-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Avoid unnecessry reallocations

# 8ddda2f6 01-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Avoid unnecessry reallocation

# 9799542f 01-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Fixed parameter passing

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

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

# 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

# aa5f5530 17-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Refactored EG(active_symbol_table) to be zend_array* instead of HashTable*

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

Handle interned strings as non-refcounted scalars

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

Fixed typo in get_extension_funcs

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

Fixed NULL pointer dereference

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

Fixed get_defined_functions()

# 3696e038 27-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Various fixes related to read_property(), read_dimension() and iterators refactoring

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

Fixed debug backtrace

# 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

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

Better IS_REFERENCE handling

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

Fixed debug_backtrace

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

Fixed create_function()

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

Fixed get_object_vars()

# 388e60a2 19-Feb-2014 Xinchen Hui <laruence@gmail.com>

Fixed segfault in 017.phpt(a memory leak is reported now)

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

Use better data structures (incomplete)

# 9067dbcd 18-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)

# 557994d5 18-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)

# 9e6c0c6a 18-Feb-2014 Dmitry Stogov <dmitry@zend.com>

Use better data structures (incomplete)

# 7428cac6 18-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)

# 17bf59f8 14-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)

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

Bump year

# 45d88024 10-Dec-2013 Remi Collet <remi@php.net>

Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
NEWS
Fixed Bug #66218 zend_register_functions breaks reflection


# 9f4d1ee5 10-Dec-2013 Remi Collet <remi@php.net>

Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
Fixed Bug #66218 zend_register_functions breaks reflection


# 3e963f8e 10-Dec-2013 Remi Collet <remi@php.net>

Fixed Bug #66218 zend_register_functions breaks reflection

Functions registered using zend_register_functions instead of zend_module_entry.functions are not seen on reflection.

Ex: additional_functions from api_module_entry.
Ex: in CLI, dl, cli_set_process_title and cli_get_process_title

Note:
- also affects functions overrided in extension
(should be be reported in extension, where overrided, not in original extension)
- also allow extension to call zend_register_functions for various list
(instead of having a single bug list)

# a46f644b 10-Dec-2013 Dmitry Stogov <dmitry@zend.com>

Revered func_get_args() changes, because they were not completly transparent and broke some tricky PHP code that worked because of luck before php-5.5.6 (see Bug #66107). The changes are going to be kept in PHP-5.6.

# 6c2a8068 28-Nov-2013 Dmitry Stogov <dmitry@zend.com>

Avoid interned hash key duplication and hash key length recaclulation

# 9647c61d 06-Nov-2013 Dmitry Stogov <dmitry@zend.com>

Constant expressions refactoring

# 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.

# d86b5f01 28-Oct-2013 Nikita Popov <nikic@php.net>

Avoid copy in func_get_arg()

Complements dmitry's change to func_get_args()

# 9bbdc90e 28-Oct-2013 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.5'

* PHP-5.5:
Improved performance of func_get_args() by eliminating useless copying

Conflicts:
NEWS


# 91b8a675 28-Oct-2013 Dmitry Stogov <dmitry@zend.com>

Improved performance of func_get_args() by eliminating useless copying

# 91a9569d 13-Sep-2013 Nikita Popov <nikic@php.net>

Fix two warnings

# 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.

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

Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)
Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)

Conflicts:
NEWS


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

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

# c793a656 04-Aug-2013 Stanislav Malyshev <stas@php.net>

Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
non living code related typo fixes

Conflicts:
Zend/zend_compile.c


# 8d86597d 23-Jul-2013 Veres Lajos <vlajos@gmail.com>

non living code related typo fixes

# 629965ab 21-Jul-2013 Xinchen Hui <laruence@php.net>

Merge branch 'PHP-5.4' into PHP-5.5


# b9632494 20-Jul-2013 Arpad Ray <arraypad@gmail.com>

Fixed bug #65291 - get_defined_constants() crash with __CLASS__ in trait

Also fix and test for get_defined_constants(true)

# a015fa83 19-Jul-2013 Arpad Ray <arraypad@gmail.com>

Fixed bug #65291 - get_defined_constants() crash with __CLASS__ in trait

# 3411fbbc 26-Apr-2013 David Soria Parra <dsp@php.net>

Fix implicit uint* to int* conversion warning

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

Merge branch 'PHP-5.4' into PHP-5.5


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

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

# 960d5be5 19-Mar-2013 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
Partial fix for bug #64239


# 984561cf 19-Mar-2013 Dmitry Stogov <dmitry@zend.com>

Partial fix for bug #64239

# 74e11fb1 19-Mar-2013 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
Fixed bug #62343 (Show class_alias In get_declared_classes())

Conflicts:
NEWS


# 84630a11 19-Mar-2013 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.3' into PHP-5.4

* PHP-5.3:
Fixed bug #62343 (Show class_alias In get_declared_classes())


# 4a629150 19-Mar-2013 Dmitry Stogov <dmitry@zend.com>

Fixed bug #62343 (Show class_alias In get_declared_classes())

# 62059c16 14-Jan-2013 Xinchen Hui <laruence@php.net>

Fixed bug #63980 (object members get trimmed by zero bytes)

# 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

# 5c7dd781 24-Mar-2012 Nikita Popov <nikic@php.net>

Simplify set_error_handler/set_exception_handler code

# f28c128b 24-Mar-2012 Nikita Popov <nikic@php.net>

Return previous error handler when resetting the error handler

set_error_handler(null) and set_exception_handler(null) now return the
previous error/exception handler instead of just returning bool(true).
This is consistent with the behavior of these functions with non-null
values.

# c815dd74 23-Mar-2012 Nikita Popov <nikic@php.net>

Allow resetting the error handler

This allows the error handler to be reset using set_error_handler(null).
As the code suggests this behavior was already previously intended, but
the callback check was done too strictly.

# 4954aba2 22-Sep-2012 Nikita Popov <nikic@php.net>

Revert error/exception handler changes

This reverts the following two commits:

* 6ba2e662e447f369c6e7686e8b39dde033fd5334
* d8f8e98d8e0493adf1fae622595bd3435bdbf835

Laruence already did some partial changes to set_error_handler and
set_exception_handler. I'm reverting those modifications to apply the full
set of changes. (The modifications changed the code structure in a way that
would lead to more duplication with the new behavior.)

# 6ba2e662 24-Mar-2012 Xinchen Hui <laruence@gmail.com>

Implemented FR #60738 (Allow 'set_error_handler' to handle NULL)

The previous commit was reverted as Stas ask, so only commit this
to Truk now.

# d8f8e98d 24-Mar-2012 Xinchen Hui <laruence@gmail.com>

Improve set_exception_handler while doing reset

# 872fdd15 24-Mar-2012 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-5.3' of ../php-5.3 into PHP-5.4


# 9c99a89e 24-Mar-2012 Xinchen Hui <laruence@gmail.com>

Revert "Implemented FR #60738 (Allow 'set_error_handler' to handle NULL)"

This reverts commit fcae164ea63979d7814d7aa114fe8351033e7400.

# 2d211497 24-Mar-2012 Xinchen Hui <laruence@gmail.com>

Revert "Merge from PHP-5.4"

This reverts commit 9a87fe1c529eabc7aeec4559d916dda5fda3cdd2.

# 7ffc4429 24-Mar-2012 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-5.3' of ../php-5.3 into PHP-5.4


# fcae164e 24-Mar-2012 Xinchen Hui <laruence@gmail.com>

Implemented FR #60738 (Allow 'set_error_handler' to handle NULL)

# 9a87fe1c 24-Mar-2012 Xinchen Hui <laruence@gmail.com>

Merge from PHP-5.4

Improve set_exception_handler

# 4130f5a4 24-Mar-2012 Xinchen Hui <laruence@php.net>

Improve set_exception_handler

Remove useless alloc/free and return_value copy while doing reset
exception handler

# 213145a6 02-Mar-2012 Xinchen Hui <laruence@php.net>

MFH: Fixed bug #61072 (Memory leak when restoring an exception handler).

# 8f7381a6 14-Feb-2012 Xinchen Hui <laruence@php.net>

Fixed bug #61072 (Memory leak when restoring an exception handler)

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

- Year++

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

- Year++

# 0f0ffd38 20-Nov-2011 Stanislav Malyshev <stas@php.net>

fix is_a reflection

# 66877fbd 18-Nov-2011 Stanislav Malyshev <stas@php.net>

fix typo

# 77d0643b 18-Nov-2011 Stanislav Malyshev <stas@php.net>

fixes for bug #55748

# 3598185a 09-Nov-2011 Stanislav Malyshev <stas@php.net>

fix bug #55475 - implement is_a BC solution

# f50f54a6 26-Sep-2011 Stanislav Malyshev <stas@php.net>

update proto

# 92f68921 23-Sep-2011 Rasmus Lerdorf <rasmus@php.net>

Re-committing Alan's is_a revert/fix for bug #55475
Dmitry had done so earlier, but reverted pending discussion.
It is completely clear that this should never have been changed in the
5.3 branch in the first place giving the number of things that broke
because of it.

# 59ad27b0 15-Sep-2011 Dmitry Stogov <dmitry@php.net>

Reverted the fix for #55475 (is_a() triggers autoloader) before the common decision

# e98759ee 15-Sep-2011 Dmitry Stogov <dmitry@php.net>

Fixed bug #55475 (is_a() triggers autoloader). (alan at akbkhome dot com)

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

Fixed ZE specific compile warnings (Bug #55629)

# baf2e822 08-Aug-2011 Etienne Kneuss <colder@php.net>

Fix typo

# 6b5d5b8d 08-Aug-2011 Etienne Kneuss <colder@php.net>

Fix typo

# cbd4f760 08-Aug-2011 Pierrick Charron <pierrick@php.net>

Use snprintf to make the static analyzers happy

# d0a4c010 08-Aug-2011 Pierrick Charron <pierrick@php.net>

Use snprintf to make the static analyzers happy

# bfd10cfe 07-Aug-2011 Pierrick Charron <pierrick@php.net>

function_name cannot be false

# b9005912 07-Aug-2011 Pierrick Charron <pierrick@php.net>

function_name cannot be false

# 68e5e298 25-Jul-2011 Felipe Pena <felipe@php.net>

- Fix compiler warning

# a10e7fe1 25-Jul-2011 Felipe Pena <felipe@php.net>

- Use ZEND_FE_END macro here

# 468d1351 25-Jul-2011 Felipe Pena <felipe@php.net>

- Use ZEND_FE_END macro here

# 4d926b1f 23-Jul-2011 Stanislav Malyshev <stas@php.net>

Change E_ALL to include E_STRICT

# 1ee8ff3b 12-Jul-2011 Stanislav Malyshev <stas@php.net>

remove warning for is_a() BC

# c6076da7 12-Jul-2011 Stanislav Malyshev <stas@php.net>

remove warning for is_a() BC

# adabdede 04-Jul-2011 Dmitry Stogov <dmitry@php.net>

Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)

# 293f7108 04-Jul-2011 Dmitry Stogov <dmitry@php.net>

Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)

# 6f3148db 09-Apr-2011 Sebastian Bergmann <sebastian@php.net>

Add optional argument to debug_backtrace() and debug_print_backtrace() to limit the amount of stack frames returned.

# 3a3f3696 16-Jan-2011 Stanislav Malyshev <stas@php.net>

Add options to debug_backtrace functions

# b4dba12d 16-Jan-2011 Stanislav Malyshev <stas@php.net>

Add options to debug_backtrace functions

# 478e5d1d 09-Jan-2011 Stefan Marr <gron@php.net>

Added trait_exists() [TRAITS] [DOC]

- also changed class_exists() to return false for traits
- added related tests, and get_declared_traits() tests in ext/s/t/co

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

- Year++

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

- Year++

# 565c4842 15-Nov-2010 Felipe Pena <felipe@php.net>

- Moved leak_variable() to zend_builtin_functions.c (Gustavo)

# 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 ...

# 5eb64a49 11-Jun-2010 Felipe Pena <felipe@php.net>

- Fixed bug #52060 (Memory leak when passing a closure to method_exists())

# ba0486f9 11-Jun-2010 Felipe Pena <felipe@php.net>

- Fixed bug #52060 (Memory leak when passing a closure to method_exists())

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

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

# 00eec093 06-May-2010 Felipe Pena <felipe@php.net>

- Added get_declared_traits()

# 2b0464c3 01-May-2010 Felipe Pena <felipe@php.net>

- Fixed bug #51719 (typo in function prototype)

# 84c16436 01-May-2010 Felipe Pena <felipe@php.net>

- Fixed bug #51719 (typo in function prototype)

# 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

# f867fadd 07-Mar-2010 Felipe Pena <felipe@php.net>

- Fixed bug #50383 (Exceptions thrown in __call / __callStatic do not include file and line in trace)

# ea1447c3 07-Mar-2010 Felipe Pena <felipe@php.net>

- Fixed bug #50810 (property_exists does not work for private)

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

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

# b63f178e 30-Dec-2009 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #44827 (define() allows :: in constant names).

# dc74c513 06-Aug-2009 Jani Taskinen <jani@php.net>

- Restore PHP-5.2 behaviour when passing null inside object scope to get_class()

# 5a816990 30-Jun-2009 Felipe Pena <felipe@php.net>

- MFH: Fixed bug #48709 (metaphone and 'wh')

# c59a4a01 08-Jun-2009 Pierre Joye <pajoye@php.net>

- typo

# 5289261b 08-Jun-2009 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #44827 (define() is missing error checks for class constants)

# d5530029 05-Jun-2009 Matt Wilmas <mattwil@php.net>

MFH: Added zend_eval_stringl and made create_function(), etc. binary-safe

# b33c5169 22-May-2009 Arnaud Le Blanc <lbarnaud@php.net>

MFH: Use zend_get_property_info() in get_class_vars() (fixes #46812)

# dcfe5d71 07-May-2009 Felipe Pena <felipe@php.net>

- MFH: Parameter parsing changes for get_defined_constants() (Kalle)

# cc91da1b 16-Mar-2009 Dmitry Stogov <dmitry@php.net>

Fixed bug #47664 (get_class returns NULL instead of FALSE)

# 1c3b44b3 08-Mar-2009 Felipe Pena <felipe@php.net>

- MFH: Fixed bug #47593 (interface_exists() returns false when using absolute namespace path)
patch by Kalle
- BFN #47572

# e66b91c0 03-Mar-2009 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #47549 (get_defined_constants() return array with broken
array categories)

# 23f7fa57 10-Jan-2009 Felipe Pena <felipe@php.net>

- MFH: Fixed bug #47054 (BC break in static functions called as dynamic)

# 8797aa99 31-Dec-2008 Marcus Boerger <helly@php.net>

MFH
- Register engine classes when and where they should be
- Show core module version as PHP version

# 63d00f70 31-Dec-2008 Marcus Boerger <helly@php.net>

- MFH Move stdClass registering where it should be

# 08659c2d 31-Dec-2008 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 3 of 3.

# 826cc0dc 30-Dec-2008 Marcus Boerger <helly@php.net>

- MFH Provide a core module that contains all Zend and php/main (in 5.3 incl. stdClass)

# 7cfc6b91 30-Dec-2008 Hannes Magnusson <bjori@php.net>

Fix arginfo and proto

# ff037203 30-Dec-2008 Marcus Boerger <helly@php.net>

MFH Use a module struct for the built-in functions

# d828b8ac 09-Dec-2008 Johannes Schlüter <johannes@php.net>

MFH: Fix #46813 (class_exists doesn`t work with fully qualified namespace)

# 34742e3f 17-Nov-2008 Felipe Pena <felipe@php.net>

MFH:
- Changed 'strlen' to use ZEND_FUNCTION(strlen)
- Removed duplicated arginfo structs

# fc2fb50d 17-Nov-2008 Felipe Pena <felipe@php.net>

- MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro

# 96ab6ace 16-Nov-2008 Felipe Pena <felipe@php.net>

- MFH: Fixed strlen function entry (missing arginfo struct size, thanks Philip!)

# 7a37fa2d 02-Nov-2008 Felipe Pena <felipe@php.net>

- Revert ZEND_BEGIN_ARG_INFO change

# df100055 24-Oct-2008 Felipe Pena <felipe@php.net>

- MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro

# 8a106deb 22-Oct-2008 Ilia Alshanetsky <iliaa@php.net>

Revert define() fix, it needs further review

# e2bee492 19-Oct-2008 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #46341 (Added missing validation checks into define() for class
constants)

# 317b48f3 22-Aug-2008 Felipe Pena <felipe@php.net>

MFH:
- Fixed bug #45862 (get_class_vars is inconsistent with 'protected' and 'private' variables)
- Added some tests

# 9c787d8c 18-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Fixed bug #45743 (property_exists fails to find static protected member in child class)

# e304515d 02-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Added parameter TSRMLS_DC in zend_is_callable()

# 1f845199 24-Jul-2008 Moriyoshi Koizumi <moriyoshi@php.net>

- MFH: Suppress signedness warnings

# 0fbe6a0c 24-Jul-2008 Felipe Pena <felipe@php.net>

- MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments.

# d619b57e 21-Jul-2008 Hannes Magnusson <bjori@php.net>

MFH: Add E_USER_DEPRECATED (patch by Lars Strojny)

# 73d93df4 06-Jul-2008 Felipe Pena <felipe@php.net>

- Fixed arginfo

# 816e66a8 05-Jul-2008 Felipe Pena <felipe@php.net>

- Added arginfo
- Removed #include "zend_arg_defs.c"

# 22b86e5d 01-Jul-2008 Antony Dovgal <tony2001@php.net>

MFH

# d8bc2719 25-Jun-2008 Felipe Pena <felipe@php.net>

- Removed E_DEPRECATED on is_a()
(http://marc.info/?l=php-internals&m=121390431523970&w=2)
[doc]

# 8b8f3599 19-Jun-2008 Dmitry Stogov <dmitry@php.net>

Fixed #45307 (define() crashes because of uninitialized variable)

# 58a673a9 18-Jun-2008 Stanislav Malyshev <stas@php.net>

Use new parameter parsing API for builtin functions

# 7da75d81 27-May-2008 Matt Wilmas <mattwil@php.net>

MFH: Add array_init_size() and use it where array size is known at initialization

# 907fa665 12-May-2008 Dmitry Stogov <dmitry@php.net>

Added API to use namesapces in internal extensions

# 2ecf4bb0 29-Apr-2008 Dmitry Stogov <dmitry@php.net>

Lazy EG(active_symbol_table) initialization

# cc2b17d5 10-Mar-2008 Felipe Pena <felipe@php.net>

MFH: Added new macro for check void parameters.
(deprecating ZEND_WRONG_PARAM_COUNT for this cases)

# d3e50265 23-Feb-2008 Marcus Boerger <helly@php.net>

- MFH Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus)
[DOC] Finally added deprecation messages

# 18cc21c6 21-Feb-2008 Dmitry Stogov <dmitry@php.net>

Fixed bug #43483 (get_class_methods() does not list all visible methods)

# cb714158 19-Feb-2008 Dmitry Stogov <dmitry@php.net>

Fixed memory leaks

# d90ebc65 24-Jan-2008 Dmitry Stogov <dmitry@php.net>

Fixed comilation warnings

# 0b682510 24-Jan-2008 Dmitry Stogov <dmitry@php.net>

Changed EG(argument_stack) implementation.

# 71592cec 22-Jan-2008 Dmitry Stogov <dmitry@php.net>

Added garbage collector

# d1dded87 31-Dec-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump copyright year, 2 of 2.

# 648fbe9d 22-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #43128 (Very long class name causes segfault)

# 4b4d634c 07-Oct-2007 Yiduo (David) Wang <davidw@php.net>

MFH: Added macros for managing zval refcounts and is_ref statuses

# eb0c56ad 03-Oct-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #42820 (defined() on constant with namespace prefixes tries to load class).

# 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

# 6c810b0d 27-Sep-2007 Dmitry Stogov <dmitry@php.net>

Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)

# d0d1e42c 30-Aug-2007 Sebastian Bergmann <sebastian@php.net>

Add optional parameter to debug_backtrace().

# 1aab36e3 22-Aug-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #42009 (is_a() and is_subclass_of() should NOT call autoload, in the same way as "instanceof" operator).

# ef716648 08-Aug-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #42211 (property_exists() fails to find protected properties from a parent class)

# 48d55193 02-Aug-2007 Antony Dovgal <tony2001@php.net>

MFH: int -> zend_bool

# c0667eea 02-Aug-2007 Johannes Schlüter <johannes@php.net>

- MFH: Respect value of the parameter for get_loaded_extensions() and only
print zend extensions if set to true

# ebaba407 31-Jul-2007 Johannes Schlüter <johannes@php.net>

- MFH: Add additional param to get_loaded_extensions() for returning Zend
extensions (Fixes #41278) [DOC]

# 7ec48cb3 24-Jul-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #40757 (get_object_vars get nothing in child class)
Fixed bug #41929 (Foreach on object does not iterate over all visible properties)

# 1351bc4e 09-Jun-2007 Johannes Schlüter <johannes@php.net>

Fix #41640 (get_class_vars produces error on class constants)

# e1814f0d 16-Apr-2007 Dmitry Stogov <dmitry@php.net>

WIN64 support

# 50ea2676 24-Feb-2007 Marcus Boerger <helly@php.net>

- Avoid sprintf, even when checked copy'n'paste or changes lead to errors

# 4223aa4d 01-Jan-2007 Sebastian Bergmann <sebastian@php.net>

MFH: Bump year.

# d040ec9b 20-Dec-2006 Antony Dovgal <tony2001@php.net>

MFH

# ea013f92 20-Dec-2006 Antony Dovgal <tony2001@php.net>

use Z_* macros

# 09666662 28-Nov-2006 Antony Dovgal <tony2001@php.net>

MFH: resolve coverity issue #224

# eb666b72 21-Nov-2006 Antony Dovgal <tony2001@php.net>

MFH: fix proto

# 3f92ab71 15-Nov-2006 Dmitry Stogov <dmitry@php.net>

typo

# 842b1b5a 15-Nov-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #39445 (Calling debug_backtrace() in the __toString() function produces a crash)

# a04b6ed6 26-Sep-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #38942 (Double old-style-ctor inheritance)

# ee97ffd8 27-Jul-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #38047 ("file" and "line" sometimes not set in backtrace from inside error handler)

# 519ed8e1 24-Jul-2006 Marcus Boerger <helly@php.net>

- Better fix for #34505 and related, drop zend_unmangle_property_name_ex()

# 92696119 20-Jul-2006 Antony Dovgal <tony2001@php.net>

MFH

# dd5cbcd2 09-Jul-2006 Marcus Boerger <helly@php.net>

- Fixed Bug #37811 define not using toString on objects

# badf27fb 27-Jun-2006 Antony Dovgal <tony2001@php.net>

MFH: no need to throw E_ERROR here

# 8df40bdb 31-May-2006 Dmitry Stogov <dmitry@php.net>

Keeping consistent arg_stack during arguments freeing (Exception from destructor may use inconsistent arg_stack for backtrace).

# 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)

# e25a1dcc 05-Apr-2006 Antony Dovgal <tony2001@php.net>

fix #36944 (strncmp & strncasecmp do not return false on negative string length)

# cfbcb43d 28-Mar-2006 Antony Dovgal <tony2001@php.net>

fix #36897 (debug_print_backtrace() doesn't return void but array(0) {})

# b32a78c4 03-Mar-2006 Dmitry Stogov <dmitry@php.net>

Remove "called at [(null):0]" from debug backtrace

# da307918 07-Feb-2006 Andrei Zmievski <andrei@php.net>

MFH.

# 61e93ccf 04-Jan-2006 Andi Gutmans <andi@php.net>

- Update copyright notices to 2006

# 8768ab94 01-Dec-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #34729 (Crash in ZTS mode under Apache)

# f5117c81 24-Nov-2005 Sebastian Bergmann <sebastian@php.net>

MFH: Add an additional field $frame['object'] to the result array of debug_backtrace() that contains a reference to the respective object when the frame was called from an object.

# f43767b2 16-Sep-2005 Antony Dovgal <tony2001@php.net>

fix #34505 (possible memory corruption when unmangling properties with empty names)
1st part

# 9305339d 09-Sep-2005 Dmitry Stogov <dmitry@php.net>

Changed "instanceof" and "catch" operators, is_a() and is_subclass_of() functions to not call __autoload().

# 248345d9 01-Sep-2005 Dmitry Stogov <dmitry@php.net>

Support for class constants and static members for internal classes

# 33df5975 22-Aug-2005 Stanislav Malyshev <stas@php.net>

fix crash if throw attempted outside of executable code

# 4e798f6e 18-Aug-2005 Antony Dovgal <tony2001@php.net>

MFH: fix memleak

# 916815b7 03-Aug-2005 foobar <sniper@php.net>

Bump up the year

# 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

# 0e720a8b 27-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed wrong include/requre occurrences in debug backtrace.

# f3f97394 23-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #28377 (debug_backtrace is intermittently passing args)

# f17f5da8 23-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden methods)

# da2ab061 22-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #29896 (Backtrace argument list out of sync)

# fac2718e 07-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed memory leak in debug_print_backtrace()

# 81b536f4 03-May-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)
Now get_class_methods() shows accessible private and protected methods if it is called from class scope.

# 56d543c1 02-May-2005 Marcus Boerger <helly@php.net>

- Extend API to support real existance test without the need to add any new
functions or change any behavior

# 4f15b20b 26-Apr-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #32429 (method_exists() always return TRUE if __call method exists)

# 4e04b5b5 18-Apr-2005 Dmitry Stogov <dmitry@php.net>

Fixed memory leak in debug_backtrace()

# 7aad4243 17-Apr-2005 Marcus Boerger <helly@php.net>

- Fix special cases of property_exists()

# 083795cb 16-Apr-2005 Sara Golemon <pollita@php.net>

Fix method_exists(), pce is fetched, but ce is used

# 5b21e485 15-Apr-2005 Marcus Boerger <helly@php.net>

- Fix even though we already know that the function will be renamed

# 32182b19 08-Apr-2005 Marcus Boerger <helly@php.net>

- Add property_exits()

# 95f860d0 04-Apr-2005 Stanislav Malyshev <stas@php.net>

MF50: fix backtraces - non-Zend classes have names too

# 7b6ec917 14-Mar-2005 Stanislav Malyshev <stas@php.net>

ws

# c3957fe1 13-Mar-2005 Stanislav Malyshev <stas@php.net>

Fix get_extension_funcs() - extension names are now lowercased, so should
be function arguments.

# 6f00c1b7 07-Mar-2005 Marcus Boerger <helly@php.net>

- Fix #32226

# ddd62f2b 28-Feb-2005 Marcus Boerger <helly@php.net>

- Add support for methods dynamically added through object handlers

# 8324d219 27-Feb-2005 Marcus Boerger <helly@php.net>

- Update method_exists to new handlers and allow first parameter as string

# 1088e28d 01-Feb-2005 Stanislav Malyshev <stas@php.net>

Fix debug_trace with eval (patch from Antony Dovgal)

# 6b1f0709 27-Dec-2004 Zeev Suraski <zeev@php.net>

MFB

# 6a16f3eb 26-Oct-2004 Andi Gutmans <andi@php.net>

- Patch from Andrey Hristov:
I have cooked a small patch which allows is_subclass_of() the accept
not only an object as first parameter but a string as well. When string
is passed the function checks whether the class specified is subclass of
the second parameter
class a{}
class b{} extends a{}
is_subclass_of("a", "a") //false
is_subclass_of("b", "a") //true
currently only objects are allowed as first parameter

# b52ab41c 14-Oct-2004 Marcus Boerger <helly@php.net>

- Allow to omit object/classname in get_parent_class() which makes it
compatible with the signature and behavior of get_class()

# 0c40e2a0 12-Oct-2004 Marcus Boerger <helly@php.net>

Bug #30381 Strange results with get_class_vars()

# a4c38750 12-Oct-2004 Marcus Boerger <helly@php.net>

- Fix visibility in get_class_vars() and get_class_methods()
# Still there is a problem/error in the executor, i'll have a look

# 0f9b3de2 12-Oct-2004 Marcus Boerger <helly@php.net>

- Fix set_exception_handler
# unsettign with '' never worked so we use NULL now which is much better
# because it matches the the return NULL in case no handler was defined
# and can't lead to problems with wrong string operations.

# 4b395a16 04-Oct-2004 Marcus Boerger <helly@php.net>

- Bugfix #27798

# 4bcd1552 27-Sep-2004 Marcus Boerger <helly@php.net>

- Fix warnings

# 96ab56e1 09-Sep-2004 Andi Gutmans <andi@php.net>

- Roll back VM commit

# 2e286e73 08-Sep-2004 Andi Gutmans <andi@php.net>

- Fix bug #28054 by preventing printing out bogus information in backtrace
when in error handler (still doesn't know all information but at least
it's not bogus)

# 709c5bd2 25-Aug-2004 Andi Gutmans <andi@php.net>

- Add interface_exists() and differentiate between classes and interfaces
(Andrey Hristov)

# b1c45f61 05-Aug-2004 Ilia Alshanetsky <iliaa@php.net>

Eliminate unneeded variable.

# 7bfc91c3 03-Aug-2004 Marcus Boerger <helly@php.net>

- Fixed Bug #29505 get_class_vars() severely broken when used with arrays

# 03e298ec 27-Jul-2004 Wez Furlong <wez@php.net>

Fix two possible crashes. Latter is unlikely unless you are doing scary
things, but former looks nasty.

# d4236163 21-Jul-2004 Edin Kadribasic <edink@php.net>

Fixed build

# 08fa8849 21-Jul-2004 Marcus Boerger <helly@php.net>

- Fixded #29291: get_class_vars() return names with NULLs

# 6d182a84 18-Jun-2004 George Schlossnagle <gschlossnagle@php.net>

fix for 28213.

class_name and call_type should be reinitialized on every loop iter.

# 96a8b638 17-Jun-2004 Sara Golemon <pollita@php.net>

String length in parse_parameters should be int

# 877ecb3c 28-May-2004 Derick Rethans <derick@php.net>

- Make the default mask for user defined error handlers include ALL errors,
including E_STRICT.

# ef987864 23-May-2004 Andi Gutmans <andi@php.net>

- Fix the following script (it crashed):
<?php
class ErrorHandler {
function __construct() {
set_error_handler(array(&$this, 'handle'));
}

function __destruct() {
restore_error_handler();
}

function handle($code, $msg, $file, $line, $locals) {
}
}

new ErrorHandler();
?>

# 953a0996 27-Apr-2004 Marcus Boerger <helly@php.net>

- Optional parameter to class_exists() that can be used to bypass
__autoload() which can be helpfull in __autoload() itself.

# 5fff6fa3 25-Apr-2004 Marcus Boerger <helly@php.net>

Skip correct amount of stack entries

# 2310acb5 13-Apr-2004 Zeev Suraski <zeev@php.net>

Fix debug_backtrace to show arguments again
We need to merge code from debug_backtrace & debug_print_backtrace at
some point!

# c534a9e7 07-Apr-2004 Andi Gutmans <andi@php.net>

- Hopefully fix the debug_backtrace() code.

# 7264ffe5 07-Apr-2004 Andi Gutmans <andi@php.net>

- Fix crash bug in zend_debug_backtrace(). No idea how come this survived
- for so long....

# 8838b38f 03-Apr-2004 Andi Gutmans <andi@php.net>

Patch by Timm Friebe:
It changes
set_exception_handler() to accept the pseudo-type "callable" (instead of
a string referring to a global function).


Examples:
set_exception_handler('function_name');
set_exception_handler(array('class_name', 'static_method'));
set_exception_handler(array($instance, 'instance_method'));


This also makes set_exception_handler() more consistent with all the
other callback functionality, e.g. set_error_handler().

# c85843ae 01-Apr-2004 Ilia Alshanetsky <iliaa@php.net>

MFB: Revert patch for bug #27782.

# ec4655f8 30-Mar-2004 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #27782 (Wrong behaviour of next(), prev() and each()).

# afe794c0 29-Mar-2004 Marcus Boerger <helly@php.net>

Allow mixed case search for extensions

# 4efbb350 14-Mar-2004 Marcus Boerger <helly@php.net>

Make object parameter optional

# 47cb3323 14-Mar-2004 Andi Gutmans <andi@php.net>

- Fixing bug #27123

# a84efbe9 01-Mar-2004 Derick Rethans <derick@php.net>

- Fixed bug #27443 (defined() returns wrong type).

# b87a2452 25-Feb-2004 foobar <sniper@php.net>

ws + cs

# a72c1ab9 10-Jan-2004 Zeev Suraski <zeev@php.net>

Added error mask to set_error_handler()
Patch by Christian Schneider <cschneid@cschneid.com>

# 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?

# 03f8baa8 08-Dec-2003 Derick Rethans <derick@php.net>

- Make it compile again

# dc6a849a 07-Dec-2003 Stanislav Malyshev <stas@php.net>

Apply Andrey Hristov's patch adding get_declared_interfaces()

# 709060e1 01-Dec-2003 Andi Gutmans <andi@php.net>

- Nuke property_exists(). We need to fix isset() and this is already
- supported in reflection API. In any case, it's best not to add new
- functions in the general namespace except for keeping engine consistency
(which would have been true in this case)

# 3be27ecc 27-Nov-2003 Marcus Boerger <helly@php.net>

Add a support function to check for property existance which is different
from checking a property from being empty/set.
Update test #26182.

# 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.

# c0df4502 18-Nov-2003 Andi Gutmans <andi@php.net>

- Add E_STRICT, to be used to warn purists (like Jani :)

# 7cc93e12 10-Nov-2003 Marcus Boerger <helly@php.net>

Bugfix #26010 (Bug on get_object_vars() function)

# e912635f 04-Nov-2003 Marcus Boerger <helly@php.net>

Removedouble efree call

# 3efe102a 18-Sep-2003 Marcus Boerger <helly@php.net>

Nuke vars no longer needed

# 7b3e8487 18-Sep-2003 Marcus Boerger <helly@php.net>

Go with studlyCaps

# f1b80b92 31-Aug-2003 Zeev Suraski <zeev@php.net>

Attempt at fixing the linkage problem in Win32

# bdd2d4aa 29-Aug-2003 Marcus Boerger <helly@php.net>

Need to tell zend_fetch_debug_backtrace() whether to skip top function or not.
# And i wondered why the trace wasn't rally accurate.

# 8d3620ae 28-Aug-2003 Marcus Boerger <helly@php.net>

- Split debug_backtrace() into lowlevel c function and php function wrapper
- Add trace property to default method based on new zend_fetch_debug_backtrace
# Unforunatley the handler for uncaught exception can't show this backtrace
# simply because there is currently no way to do it. If i can think of a
# solution i'll add it. Until them i am open to any ideas/help.

# 2e36578c 28-Aug-2003 Sascha Schumann <sas@php.net>

Add format attribute to a number of functions

Kill a few warnings

# f94b536b 22-Aug-2003 Ilia Alshanetsky <iliaa@php.net>

Replace *magic number* with a much nicer define.

# c29e30d3 22-Aug-2003 Ilia Alshanetsky <iliaa@php.net>

Set 2147483647 as the module number of user defined constants
Fixed a few bugs and cleaned up get_defined_constants().

# 744dd205 17-Aug-2003 Marcus Boerger <helly@php.net>

Fix warnings

# bdf84d4e 03-Aug-2003 Marcus Boerger <helly@php.net>

Add missing arg info

# 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.

# 2109ab34 24-Jul-2003 Zeev Suraski <zeev@php.net>

Fix each() binary safety for keys

# 2f96c161 03-Jul-2003 Stanislav Malyshev <stas@php.net>

fix the get_parent_class fix

# d007a6ce 02-Jul-2003 Marcus Boerger <helly@php.net>

Bug #24399: is_subclass_of(): fix memleak, too

# c491b0a6 02-Jul-2003 Sterling Hughes <sterling@php.net>

Fix bug #24445

# 1d70191a 30-Jun-2003 Sterling Hughes <sterling@php.net>

move the check down a little so it catches all cases

# d0bd54ce 30-Jun-2003 Sterling Hughes <sterling@php.net>

Fix bug #24399 from an excellent test case by edin

# 4dcc1ef6 16-Jun-2003 Stanislav Malyshev <stas@php.net>

fix lambda function static vars (related to #17115)

# f68c7ff2 10-Jun-2003 James Cox <imajes@php.net>

updating license information in the headers.

# 7f52928e 09-Jun-2003 foobar <sniper@php.net>

ws

# 4abaac8c 08-Jun-2003 Zeev Suraski <zeev@php.net>

Fix set_error_handler()

# 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

# bec95811 21-May-2003 foobar <sniper@php.net>

Fixed bug #23619 (set_error_handler() registered handler not called for object instances). (Jani, waboring@qualys.com)

# 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.

# ba02f60e 20-Apr-2003 Stanislav Malyshev <stas@php.net>

refine the set_error_handler fix

# faafbd6e 20-Apr-2003 Stanislav Malyshev <stas@php.net>

Fix for bug #21094 (set_error_handler can not accept methods),
by Timm Friebe

# 591863d4 08-Apr-2003 Andrei Zmievski <andrei@php.net>

Switch some functions to use new zend_lookup_ns_class() methods. This
means that they will accept both simple and fully qualified class names.

# 800de8ac 02-Apr-2003 Stanislav Malyshev <stas@php.net>

allow class_exists() to work with namespaces too.
add CLASS_IS_NAMESPACE macro

# e12415c9 02-Apr-2003 Stanislav Malyshev <stas@php.net>

fix typo

# 8a03806a 02-Apr-2003 Stanislav Malyshev <stas@php.net>

fix parameterless get_declared_classes call

# 62f9eb80 01-Apr-2003 Andrei Zmievski <andrei@php.net>

Split ZEND_NAMESPACE into user and internal namespaces. Hope this is
okay with engine folks.

# 438aaf72 01-Apr-2003 Stanislav Malyshev <stas@php.net>

improve namespace name hanfling

# 334702d6 01-Apr-2003 Stanislav Malyshev <stas@php.net>

fix get_declared_classes()

# f9fae74a 01-Apr-2003 Stanislav Malyshev <stas@php.net>

make get_declared_classes() work with namespaces (based on Tal Peer's patch)

# 3fc85282 26-Mar-2003 Sebastian Bergmann <sebastian@php.net>

Eliminate TSRMLS_FETCH() calls in destroy_op_array() and zend_get_class_entry().

# 26dd8492 05-Mar-2003 Zeev Suraski <zeev@php.net>

Add support for interfaces

# 3661930f 10-Feb-2003 Zeev Suraski <zeev@php.net>

Fix get_parent_class()

# e7b5c21d 08-Feb-2003 Sebastian Bergmann <sebastian@php.net>

zend_config.h (and its Win32 version) is already included by zend.h

# df3662f4 08-Feb-2003 Ilia Alshanetsky <iliaa@php.net>

The string.h is already avaliable through zend.h, so the manual inclusion
is not necessary.

# 957aeb83 07-Feb-2003 Ilia Alshanetsky <iliaa@php.net>

Added a check to ensure that string.h is avaliable before trying to use it.

Thanks Andi.

# 419108f8 07-Feb-2003 Ilia Alshanetsky <iliaa@php.net>

Added missing header.

# ae6cc1a2 07-Feb-2003 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #15734 (Added an optional parameter to get_defined_constants(),
which if passed, will include information regarding who created the constant).

# dc052fe0 06-Feb-2003 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #19506 (get_extension_funcs() can now retrieve a list of built-in
Zend Engine functions, if "zend" is specified as the module name).
Made get_extension_funcs() on failure.

# 333406bd 01-Feb-2003 foobar <sniper@php.net>

- Added some missing CVS $Id$ tags, headers and footers.

# 24db7f18 12-Jan-2003 Sebastian Bergmann <sebastian@php.net>

ZTS fixes.

# c37ee2a1 12-Jan-2003 Harald Radi <phanto@php.net>

fix 'use of uninitialized variable' warning

# efcd8a70 08-Jan-2003 Ilia Alshanetsky <iliaa@php.net>

MFZE2

# 2c5d4b8c 31-Dec-2002 Sebastian Bergmann <sebastian@php.net>

Bump year.

# 27de54b0 01-Dec-2002 Andi Gutmans <andi@php.net>

- MFZE1

# f222884e 01-Dec-2002 Andi Gutmans <andi@php.net>

- Revert as the patch doesn't compile

# b6ecd670 01-Dec-2002 Andi Gutmans <andi@php.net>

- MFZE1

# 671fff2f 30-Nov-2002 Andi Gutmans <andi@php.net>

h WHitespace

# c6502fa2 27-Nov-2002 Andi Gutmans <andi@php.net>

- Nuke use of deprecated macro

# e8214a33 23-Nov-2002 Andi Gutmans <andi@php.net>

- Commit Marcus' cleanup of abstract and static inheritance and improve
- error messages

# 33d0e4e1 20-Nov-2002 Derick Rethans <derick@php.net>

- MFZE1: Disable leak() and crash() when not using debug mode

# 4be862b0 19-Nov-2002 Zeev Suraski <zeev@php.net>

MFZE1 - error_reporting fix

# d7648f44 21-Oct-2002 Thies C. Arntzen <thies@php.net>

MFZE1

# d3617c51 09-Oct-2002 Ilia Alshanetsky <iliaa@php.net>

MFZE1 zend_str_tolower issue.

# 52bd901e 28-Sep-2002 Derick Rethans <derick@php.net>

- Fix for defines...

# 34f5bd51 28-Sep-2002 Derick Rethans <derick@php.net>

- Fix build in non-ZTS mode

# ee7b8f90 26-Sep-2002 Ilia Alshanetsky <iliaa@php.net>

MFZE1

# 7dfa4391 18-Sep-2002 Zeev Suraski <zeev@php.net>

Add useful debugging function

# 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("

# ca0a7c43 03-Sep-2002 Thies C. Arntzen <thies@php.net>

nuke warning

# db92641e 03-Sep-2002 Thies C. Arntzen <thies@php.net>

nuke unneeded stuff

# 1c5841d3 03-Sep-2002 Andi Gutmans <andi@php.net>

- Fix typo

# 96ab2398 02-Sep-2002 Thies C. Arntzen <thies@php.net>

refine last patch. if the argument-stack is not consistent don't try to show
arguments. no call to zend_error is made as we might end up in an infinite
recursion if called from an error_handler.
so: if the arguments to functions aren't shown in debug_backtrace this is 'cause
the arument stack was not consistent when debug_backtrace was called.

# 9afea717 02-Sep-2002 Thies C. Arntzen <thies@php.net>

debug_backtrace() now checks the complete argument-stack for consistency.

# eef3e66f 28-Aug-2002 Thies C. Arntzen <thies@php.net>

debug_backtrace()
- make args passed to functions called vy call_user_function available again.

# b72069e8 28-Aug-2002 Thies C. Arntzen <thies@php.net>

debug_backtrace():
- make args work if called from the error_handler
- fix refcount for args

# 4d931b98 26-Aug-2002 Thies C. Arntzen <thies@php.net>

debug_backtrace(): show name of included file for include and require calls
plus some small fixes suggested by andi.
# now it's perfect;-)

# c651dd96 24-Aug-2002 Andi Gutmans <andi@php.net>

- Whitespace

# 8a02b430 24-Aug-2002 Andi Gutmans <andi@php.net>

- Whitespace and better variable name

# 800c67a1 24-Aug-2002 Thies C. Arntzen <thies@php.net>

fix warning

# eea1a0b2 23-Aug-2002 Thies C. Arntzen <thies@php.net>

debug_backtrace: show include/require/eval as normal functions on the stack
# the hard bit is to find out the args for those

# 8feda5cb 23-Aug-2002 Derick Rethans <derick@php.net>

- No spaces :)

# 28080918 23-Aug-2002 Thies C. Arntzen <thies@php.net>

- debug_backtrace now also returns an array containing the arguments of the
called function.

zeev, andi - is knowing the structure of the stack considered a bad thing in
zend_builtin_function? if yes i would have to create a new function in
zend_ptr_stack.c (but i think we are save this way)

# 7ed2d363 23-Aug-2002 Thies C. Arntzen <thies@php.net>

- debug_backtrace:
added "type" ('->' or '::') for object calls.
made calls done thru call_user_func show-up correct in backtraces.

andi,
does this look correct to you?

# 04788f95 16-Aug-2002 Stig Bakken <ssb@php.net>

@- Added set_exception_handler() function for registering a global,
@ catch-all exception handling function (Stig)
- Added set_exception_handler() function for registering a global,
catch-all exception handling function (Stig)

# 41e3f4f0 26-Jul-2002 Andi Gutmans <andi@php.net>

- Fix problem with debug_backtrace() reported by Stig. We weren't reporting
- global function information because it wasn't available. We have to do
- an additional assignment per-function call so that it'll be available.
- Also don't define the global scope as function name _main_ but leave it
- empty so that frameworks like Pear can decide what they want to do.

# eebae9f9 05-Jul-2002 Stig Bakken <ssb@php.net>

* folding fixes

# 28247f57 26-Jun-2002 Andi Gutmans <andi@php.net>

- Centralize global class fetch

# b4a76acf 11-Jun-2002 Andi Gutmans <andi@php.net>

- Don't show debug_backtrace() in the trace itself.
- This patch is a bit ugly because the whole code itself is pretty complex
- and hard to re-order.

# 3738a6ed 09-Jun-2002 Harald Radi <phanto@php.net>

only check for an available class entry instead of
the std_object_handlers on some places

#some linuxtag work

# 4f77354c 13-May-2002 Derick Rethans <derick@php.net>

- MFZE1

# dc0bc979 10-May-2002 Andi Gutmans <andi@php.net>

- Nuke C++ comment

# b6219a0d 10-May-2002 Andi Gutmans <andi@php.net>

- Make debug_backtrace() return an array. Still not finished because I
might want to differentiate between method calls and static methods.

Example:
$bt = debug_backtrace();
foreach ($bt as $frame) {
if (isset($frame['class'])) {
print $frame['class'];
print "::";
}
print $frame['function'];
print " [";
print $frame['file'];
print ":";
print $frame['line'];
print "]\n";
}

# 14a81f91 08-May-2002 Andi Gutmans <andi@php.net>

- Hopefully fix problems with debug_backtrace()

# b43ba8df 08-May-2002 Derick Rethans <derick@php.net>

- MFZE1

# b66c89c4 07-May-2002 Andi Gutmans <andi@php.net>

- More debug backtrace work. It still doesn't work very well...

# 7e5ec2d7 02-May-2002 Andi Gutmans <andi@php.net>

Initial support for built-in backtracing.
There are still a few problems such as includes and calling other functions
from internal functions which aren't seen (will have to think if and how to
fix this).
Also the main scripts filename isn't available. Need to think about that.

# 7a067547 30-Apr-2002 Stanislav Malyshev <stas@php.net>

Make OBJCE return zend_class_entry*, also some cleanups

# 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

# 92dd5e61 12-Mar-2002 Stanislav Malyshev <stas@php.net>

- make class tables contain class_entry *, not class_entry
- fix isset($this)

# 1f9464e3 02-Mar-2002 Derick Rethans <derick@php.net>

- MFZE1

# 0c6be867 02-Mar-2002 Derick Rethans <derick@php.net>

- MFZE1

# 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.

# cb2124be 02-Feb-2002 Sebastian Bergmann <sebastian@php.net>

Revert per Andi's request. Sorry :-(

# fd884e2b 02-Feb-2002 Sebastian Bergmann <sebastian@php.net>

Fix warning. Again :-)

# 2c95fc2d 02-Feb-2002 Andi Gutmans <andi@php.net>

- Please don't use strcmp() and friends in Zend but only the mem*
- functions. I didn't check this patch so please check that it works.

# 86469a0d 02-Feb-2002 Sebastian Bergmann <sebastian@php.net>

Fix a warning.

# 031784c6 01-Feb-2002 Sebastian Bergmann <sebastian@php.net>

MFZE1: is_a()

# 62dc854b 06-Jan-2002 Sebastian Bergmann <sebastian@php.net>

Happy New Year.

# d863d52a 11-Dec-2001 Sebastian Bergmann <sebastian@php.net>

Update headers.

# 54767061 04-Dec-2001 Andi Gutmans <andi@php.net>

- Damn Zeev :)

# 4f6c95d1 11-Aug-2001 Zeev Suraski <zeev@php.net>

Whitespace

# 3aa5674a 02-Aug-2001 Zeev Suraski <zeev@php.net>

TSRMLS fixes

# 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

# b5255495 30-Jul-2001 Zeev Suraski <zeev@php.net>

More TSRMLS_FETCH work, and get rid of redundant ParametersPassedByRef

# 8ce8324e 30-Jul-2001 Zeev Suraski <zeev@php.net>

More TSRMLS_FETCH annihilation

# b5770382 30-Jul-2001 Zeev Suraski <zeev@php.net>

Avoid TSRMLS_FETCH()'s (still lots of work left)

# 896eec1e 28-Jul-2001 Andi Gutmans <andi@php.net>

- Use the Z_OBJ* macros for accessing objects

# 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...

# b70eeddc 26-Jun-2001 Andi Gutmans <andi@php.net>

- Fix crash bug (fix by Jani).

# 9f0a6195 23-May-2001 Andrei Zmievski <andrei@php.net>

Fix segfault -- need to copy-construct constant value.

# 4d78270b 21-May-2001 Andrei Zmievski <andrei@php.net>

Moving some functions into Zend.

# 1b94b89c 30-Apr-2001 Andi Gutmans <andi@php.net>

- Add mistakenly removen closing bracket

# ec1068d6 30-Apr-2001 Andi Gutmans <andi@php.net>

- Get rid of warning

# acd56b08 27-Apr-2001 Andi Gutmans <andi@php.net>

- More whitespace fixes while I'm at it.

# 0971ff99 27-Apr-2001 Andi Gutmans <andi@php.net>

- Whitespace changes to be standard like the rest of Zend

# 3e2ff340 26-Mar-2001 Andrei Zmievski <andrei@php.net>

Updated get_class_methods() to take class instance as well as class name.

# 54da9024 26-Mar-2001 Andrei Zmievski <andrei@php.net>

Making it possible to pass a class name to get_parent_class() as well
as a class instance.

# 2b2484dd 23-Mar-2001 Andrei Zmievski <andrei@php.net>

Fixing function name length.

# d2c9e807 26-Feb-2001 Andi Gutmans <andi@php.net>

- Update copyright year

# 0bed9945 24-Feb-2001 Andi Gutmans <andi@php.net>

- Add exports from Daniel Beulshausen

# 36eaad25 22-Dec-2000 Zeev Suraski <zeev@php.net>

Allow get_current_key() not to return the key itself, instead of a duplicate

# acdae3a1 07-Dec-2000 Sascha Schumann <sas@php.net>

Hardcode strlen due to problems on SCO OpenServer 5.0.4 which defines
strlen to __std_hdr_strlen.

# b531e43c 07-Dec-2000 Stanislav Malyshev <stas@php.net>

Fix memory leak - get_current_key mallocs it's result, no need to
copy it.

# 81814c8d 27-Nov-2000 Andrei Zmievski <andrei@php.net>

Update class constants before trying to get default properties.

# 9ca10385 21-Nov-2000 Andrei Zmievski <andrei@php.net>

Sterling's patch to make get_defined_vars() simpler and better.

# 610edbc7 17-Oct-2000 Andi Gutmans <andi@php.net>

- Fix copy&paste bug

# 154052ff 14-Oct-2000 Andi Gutmans <andi@php.net>

- Add another patch from Sterling.

# 5c6593b5 14-Oct-2000 Andi Gutmans <andi@php.net>

- Preliminary commit of Sterlings get_defined_functions()/get_defined_vars
functions

# ab8c6ed9 30-Sep-2000 Andi Gutmans <andi@php.net>

- Cleanup error output

# 59182188 18-Sep-2000 Stanislav Malyshev <stas@php.net>

Made get_included_files() work again, in somewhat different way

# 5286b397 12-Sep-2000 Zeev Suraski <zeev@php.net>

Make compile_string() accept a description of the code

# 0fd8685c 05-Sep-2000 Andrei Zmievski <andrei@php.net>

Fix memory overrun.

# 951eb907 05-Sep-2000 Stanislav Malyshev <stas@php.net>

Fix crash with trigger_error having no args (#6549)

# 1192fe54 26-Aug-2000 Andi Gutmans <andi@php.net>

- Don't define this function in non-debug mode

# c06692e9 09-Aug-2000 Zeev Suraski <zeev@php.net>

The patch we promised - redesigned the compilation/execution API:
Advantages:
- Smaller memory footprint for the op arrays
- Slightly faster compilation times (due to saved erealloc() calls and faster zend_op
initialization)
- include_once() & require_once() share the same file list
- Consistency between include() and require() - this mostly means that return()
works inside require()'d files just as it does in include() files (it used to
be meaningless in require()'d files, most of the time (see below))
- Made require() consistent with itself. Before, if the argument was not a constant
string, require() took the include() behavior (with return()).
- Removed lots of duplicate code.
Bottom line - require() and include() are very similar now; require() is simply an include()
which isn't allowed to fail. Due to the erealloc() calls for large op arrays, require()
didn't end up being any faster than include() in the Zend engine.

# 2c95b113 28-Jul-2000 Stanislav Malyshev <stas@php.net>

Make define return false and issue E_NOTICE when trying to redefine constant
@- Make define return false and issue E_NOTICE when trying to redefine constant (Stas)

# 1373a162 26-Jul-2000 Stanislav Malyshev <stas@php.net>

Add strncasecmp function
@ Added strncasecmp function (Andi)

# 58e1dd2e 18-Jul-2000 Zeev Suraski <zeev@php.net>

Forgot to link this function...

# 55d313db 14-Jul-2000 Zeev Suraski <zeev@php.net>

Improve register_resource_ex() infrastructure

# fde2e61d 30-Jun-2000 Zeev Suraski <zeev@php.net>

error_reporting fix

# 34c2b0a0 17-Jun-2000 Zeev Suraski <zeev@php.net>

- Add restore_error_handler()
error_handler's are now stored in a stack

# 6b8059af 12-Jun-2000 Zeev Suraski <zeev@php.net>

Make Egon happy :)

# e962769f 12-Jun-2000 Zeev Suraski <zeev@php.net>

Return the previous error handler from set_error_handler()

# 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

# a2979141 10-Jun-2000 Zeev Suraski <zeev@php.net>

Fix bug #4768

# b51aa1f3 09-Jun-2000 Andrei Zmievski <andrei@php.net>

Made an alias for hash apply with arguments.

# fddf89af 09-Jun-2000 Zeev Suraski <zeev@php.net>

Fixed bug #4819

# f8983e46 05-Jun-2000 Andi Gutmans <andi@php.net>

- Complete change to create_function()

# b7a8baf1 04-Jun-2000 Zeev Suraski <zeev@php.net>

Rename lambda()

# e374f6fd 03-Jun-2000 Zeev Suraski <zeev@php.net>

Fix a lambda() bug

# 70345bd2 03-Jun-2000 Zeev Suraski <zeev@php.net>

Add missing {

# 0b7a9cea 03-Jun-2000 Zeev Suraski <zeev@php.net>

- Fix Win32 compilation (Use winsock2.h from now on)
- Add lambda() support

# 746f0180 02-Jun-2000 Zeev Suraski <zeev@php.net>

Update error code

# 164e4e50 01-May-2000 Andrei Zmievski <andrei@php.net>

Added a way to get all declared classes.

# 67f69743 19-Apr-2000 Zeev Suraski <zeev@php.net>

Initial support for trapping errors (not complete and disabled; will be enabled only
post-PHP 4.0.0)

# a51d3058 19-Apr-2000 Zeev Suraski <zeev@php.net>

- Renamed get_used_files() to get_required_files() for consistency
- Documented some functions
- Added user-level warning messages
- Added user_error()

# a6597122 28-Mar-2000 Zeev Suraski <zeev@php.net>

The checks for func_num_args() and friends were broken - fixed

# 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

# 0eaa79e4 23-Mar-2000 Andrei Zmievski <andrei@php.net>

Use WRONG_PARAM_COUNT.

# 7bd5794a 23-Mar-2000 Zeev Suraski <zeev@php.net>

- Make it compile

# 40e99c5e 23-Mar-2000 Andrei Zmievski <andrei@php.net>

Added get_class_methods().

# caf9049a 18-Mar-2000 Zeev Suraski <zeev@php.net>

The third argument to define() wasn't working right, fixed

# 05cf4423 12-Mar-2000 Zeev Suraski <zeev@php.net>

-

# 5951b166 10-Mar-2000 Andi Gutmans <andi@php.net>

- Quick way of supporting include_once().
Good enough for RC1.

# 5e55e47f 06-Mar-2000 Zeev Suraski <zeev@php.net>

It's official now...

# 68ab1d3d 27-Feb-2000 Egon Schmid <eschmid@php.net>

Fixed some protos.

# f1d0753f 26-Feb-2000 Sam Ruby <rubys@php.net>

compilation error - Win32

# 685fd429 26-Feb-2000 Andrei Zmievski <andrei@php.net>

Added get_class_vars() and get_object_vars() functions.

# 0ac9536d 19-Feb-2000 Zeev Suraski <zeev@php.net>

(c) patch

# 2a4d65f3 16-Feb-2000 Zeev Suraski <zeev@php.net>

ZEND_TEST_EXCEPTIONS should be defined/undefined before it's checked

# 95c77887 14-Feb-2000 Andi Gutmans <andi@php.net>

- Fix bug in func_get_arg()
- Get rid of compiler warnings for unused function crash()

# 81662eb8 13-Feb-2000 Zeev Suraski <zeev@php.net>

*** empty log message ***

# c2fd6752 08-Feb-2000 Andrei Zmievski <andrei@php.net>

Patches from Walter for strncmp() stuff.

# f207b362 05-Feb-2000 Zeev Suraski <zeev@php.net>

Pass the executor globals to internal functions

# fafbf6d8 24-Jan-2000 Zeev Suraski <zeev@php.net>

- Implement declare() with declarables framework
- Implement ticks - Germany&Norway - 5 points!

# 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

# 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.

# 473632bf 22-Dec-1999 Sascha Schumann <sas@php.net>

Kill compiler warning

# 1fe57c95 22-Dec-1999 Zeev Suraski <zeev@php.net>

- Fix function_exists()

# 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

# 8a879b8f 15-Dec-1999 Andrei Zmievski <andrei@php.net>

Doh! I'm an idiot.

# c9c6446a 15-Dec-1999 Andrei Zmievski <andrei@php.net>

- s/inheritence/inheritance/g
- Added is_subclass_of() function

# 22344ea5 15-Dec-1999 Andrei Zmievski <andrei@php.net>

val->len

# 46b14f85 15-Dec-1999 Andrei Zmievski <andrei@php.net>

Faster, must go faster.

# 3fdf0dbe 14-Dec-1999 Andrei Zmievski <andrei@php.net>

- Added class_exists()
- Moved function_exists() here from from the basic_functions.c
- Modified method_exists() to convert method name to lowercase
when checking

# efc84af9 04-Dec-1999 Zeev Suraski <zeev@php.net>

- Implement get_used_files() and get_imported_files()

# ca1d1f83 04-Oct-1999 Thies C. Arntzen <thies@php.net>

use getParametersEx for all builtin functions

# 86357a9c 01-Oct-1999 Andi Gutmans <andi@php.net>

- Move is_ref back to being an unsigned char and not a bit field.

# 4dd47ffb 01-Oct-1999 Andi Gutmans <andi@php.net>

- Remove locking support completely

# 49c891f2 22-Sep-1999 Thies C. Arntzen <thies@php.net>

preliminary fix for each until andi & zeev clean up!

# a30f028a 21-Sep-1999 Zeev Suraski <zeev@php.net>

Add get_func_args()

# 9f1d0dec 21-Sep-1999 Zeev Suraski <zeev@php.net>

*** empty log message ***

# 68217ef5 20-Sep-1999 Andi Gutmans <andi@php.net>

- Move some more Zend internal functions from PHP

# 7831d302 20-Sep-1999 Andi Gutmans <andi@php.net>

- Newline for Sun's compiler

# 06a18f16 20-Sep-1999 Andi Gutmans <andi@php.net>

- Add some internal functions to Zend

# 7a4a5944 20-Sep-1999 Zeev Suraski <zeev@php.net>

Added zend_num_args() and zend_get_arg()

# 13d840bc 20-Sep-1999 Zeev Suraski <zeev@php.net>

Add a file in which we can put Zend builtin functions

# b8e7b30b 02-Jun-2020 Christoph M. Becker <cmbecker69@gmx.de>

Fix #79668: get_defined_functions(true) may miss functions

Instead of some brittle and unefficient string matching, we can just
check for the function handler.


# b8e7b30b 02-Jun-2020 Christoph M. Becker <cmbecker69@gmx.de>

Fix #79668: get_defined_functions(true) may miss functions

Instead of some brittle and unefficient string matching, we can just
check for the function handler.

# 8c6a7c33 24-Feb-2020 Mark Plomer <mark.plomer@boerse-go.de>

Fix #63206: Fully support error/exception_handler stacking, even with null or inside the handler

Always push the current user_error/exception_handler to the stack,
even when it is empty, so restore_error_handler() always works as
expected.

The user_error_handler is especially temporarily empty when we are inside
the error handler, which caused inconsistent behaviour before.

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

Future-proof email addresses

# 0a6ddc77 05-Oct-2018 Michael Moravec <me@majkl.me>

Fix bug #76979: define() error message does not mention resources as valid values

# 040ca85e 19-Sep-2018 Nikita Popov <nikita.ppv@gmail.com>

Merge branch 'PHP-7.2' into PHP-7.3


# cc1fb027 19-Sep-2018 Nikita Popov <nikita.ppv@gmail.com>

Merge branch 'PHP-7.1' into PHP-7.2


# 294fb83e 19-Sep-2018 Nikita Popov <nikita.ppv@gmail.com>

Fixed bug #76901

get_method() may modify the object pointer passed to it if method
forwarding is used. In this case we do not want to modify the
passed zval, so make sure that we copy the object into a temporary
first.

# ab8094c6 25-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Pack zend_constant.flags and zend_constant.module_number into reserved space inside zend_constant.value.

# 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.

# 3588d8af 23-Jun-2018 Nikita Popov <nikita.ppv@gmail.com>

Deprecate case-insensitive constants

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

# 6c630eef 12-Jul-2018 Christoph M. Becker <cmbecker69@gmx.de>

Fix #33502: Some nullary functions don't check the number of arguments

We add the missing zend_parse_parameters_none() checks for:

* output_reset_rewrite_vars()
* func_num_args()
* gc_status()
* gc_disable()
* gc_enable()
* gc_enabled()
* gc_collect_cycles()
* gc_mem_caches()
* zend_version()

# 67b4c337 08-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Uze ZVAL_COPY_DEREF() instead of ZVAL_DEREF() and ZVAL_COPY()

# 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.

# 9465ec46 13-Jun-2018 Xinchen Hui <laruence@gmail.com>

Added num_roots to gc_status

# e788e826 13-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Removed "gc_" prefix.

# 2afc8373 13-Jun-2018 Dmitry Stogov <dmitry@zend.com>

Allow access to some garbage collection internals (Benjamin Eberlei)

# f2b4ec4b 31-May-2018 Dmitry Stogov <dmitry@zend.com>

Export standard object handlers, to avoid indirect access

# 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.

# a795bd82 22-Mar-2018 Dmitry Stogov <dmitry@zend.com>

Optimize zend_hash_real_init()

# baa98901 25-Feb-2018 Dmitry Stogov <dmitry@zend.com>

Completely hide GC implementation details into zend_gc.c

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

Use bool instead of boolean in proto

# 35e70af2 11-Jan-2018 Christoph M. Becker <cmbecker69@gmx.de>

Merge branch 'PHP-7.2'

* PHP-7.2:
Fixed bug #75799 (arg of get_defined_functions is optional)


# 7e1d2bd8 11-Jan-2018 Christoph M. Becker <cmbecker69@gmx.de>

Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
Fixed bug #75799 (arg of get_defined_functions is optional)


# a843a86e 10-Jan-2018 Gabriel Caruso <carusogabriel34@gmail.com>

Fixed bug #75799 (arg of get_defined_functions is optional)

# 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++

# cc12acef 04-Dec-2017 Dmitry Stogov <dmitry@zend.com>

Use cheaper functions

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

RC manipulation cleanup 2

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

RC manipulation cleanup

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

Remove some unnecessary duplications

# 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

# 9cf87aa1 24-Oct-2017 Dmitry Stogov <dmitry@zend.com>

Avoid HashTable allocations for empty arrays (using zend_empty_array).

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

Always use IS_CONSTANT_AST (IS_CONSTANT is removed).

# cb9d81ef 05-Oct-2017 Dmitry Stogov <dmitry@zend.com>

Refactored recursion pretection

# a8427e7d 12-Sep-2017 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
Fixed arginfo for get_defined_functions


# 58aa7265 12-Sep-2017 Xinchen Hui <laruence@gmail.com>

Fixed arginfo for get_defined_functions

# ff6f41c9 12-Sep-2017 Xinchen Hui <laruence@gmail.com>

Narrow typeinfos down for zend_parse_paramenters_none

# ff04db44 07-Sep-2017 Sara Golemon <pollita@php.net>

Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
Fix typo in zend_symtable_add_new() API name


# 9369843e 07-Sep-2017 Sara Golemon <pollita@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
Fix typo in zend_symtable_add_new() API name


# f18cf46d 07-Sep-2017 Sara Golemon <pollita@php.net>

Fix typo in zend_symtable_add_new() API name

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

further sync for vim mode lines

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

Only compute callback name in error cases

Mostly the callback name is only used to report an error. Try to
avoid calculating it if no error occurred.

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

Merge branch 'PHP-7.1'


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

Merge branch 'PHP-7.0' into PHP-7.1


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

Don't leave holes in func_get_args() and backtraces

Argument lists should always be continuous and hole-free, even if
local variables are unset. Replace UNDEF values with NULLs.

# 7cce220b 07-Jun-2017 Richard Fussenegger <fleshgrinder@users.noreply.github.com>

Updated some str functions to new parameter API

# 490960d8 23-May-2017 Dmitry Stogov <dmitry@zend.com>

Avoid useless string duplication

# b3ca0c25 10-Mar-2017 Nikita Popov <nikita.ppv@gmail.com>

zend-test extension to house code that is required for testing internal APIs, but that we would not want to expose for regular builds

# 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.

# 06a03401 02-Feb-2017 Nikita Popov <nikita.ppv@gmail.com>

Deprecate each()

# eaeecc52 30-Jan-2017 Nikita Popov <nikita.ppv@gmail.com>

Deprecate create_function()

# 795a4c1b 02-Feb-2017 Nikita Popov <nikita.ppv@gmail.com>

Merge branch 'PHP-7.1'


# e81f30ad 02-Feb-2017 Nikita Popov <nikita.ppv@gmail.com>

Merge branch 'PHP-7.0' into PHP-7.1


# dd9cf234 31-Jan-2017 Mitch Hagstrand <mhagstrand@gmail.com>

BUG #73998: Numeric properties are not accessible from get_object_vars

# 306f55be 26-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
Fixed #73973 - debug_zval_dump() assertion error for resource consts with --enable-debug


# 2d339fa4 26-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
Fixed #73973 - debug_zval_dump() assertion error for resource consts with --enable-debug


# f65ae82c 24-Jan-2017 andrewnester <andrew.nester.dev@gmail.com>

Fixed #73973 - debug_zval_dump() assertion error for resource consts with --enable-debug

# e69c9d3b 23-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
move decl to correct place


# 5589df12 23-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
move decl to correct place


# d6364679 23-Jan-2017 Joe Watkins <krakjoe@php.net>

move decl to correct place

# 8782e847 22-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
Fixed #73969 - Fixed segmentation fault when debug_print_backtrace called


# 8bda5420 22-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
Fixed #73969 - Fixed segmentation fault when debug_print_backtrace called


# 6f912f7c 22-Jan-2017 andrewnester <andrew.nester.dev@gmail.com>

Fixed #73969 - Fixed segmentation fault when debug_print_backtrace called

# 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

# d8382854 04-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
get_defined_functions additional parameter to exclude disabled functions
news entry for PR #1312


# 6c916404 04-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
get_defined_functions additional parameter to exclude disabled functions
news entry for PR #1312


# 63d116e5 04-Jan-2017 Joe Watkins <krakjoe@php.net>

Merge branch 'pull-request/1312' into PHP-7.0

* pull-request/1312:
get_defined_functions extra parameter to exclude disabled functions
news entry for PR #1312


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

Update copyright headers to 2017

# 3e9bb03a 28-Nov-2016 Dmitry Stogov <dmitry@zend.com>

Removed IS_TYPE_IMMUTABLE (it's the same as COPYABLE & !REFCOUED)

# dd9ad094 22-Nov-2016 Nikita Popov <nikic@php.net>

Fix get_class_vars() fast-path/slow-path discrepancies

Normalize to the fast-path behavior. In particular, make sure that
the the property visibility check is correct for property names that
are formatted like mangled private properties (but are not). This is
done by only calling zend_check_property_access() for INDIRECT
properties.

# a0502b89 14-Nov-2016 Andrea Faulds <ajf@ajf.me>

Convert numeric keys in object/array casts

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

This converts key types as appropriate in object to array and array to object
casts, as well as in get_object_vars().

# b0cacee3 09-Oct-2016 Joe Watkins <krakjoe@php.net>

Merge branch 'pull-request/2082'


# 6be2e79c 26-Sep-2016 Dmitry Stogov <dmitry@zend.com>

On PHP-7.1 and above we have to check CALL_INFO instead of symbol_table.

# bca7f029 26-Sep-2016 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
Fixed bug #73156 (segfault on undefined function)


# d2791184 26-Sep-2016 Dmitry Stogov <dmitry@zend.com>

Fixed bug #73156 (segfault on undefined function)

# 68e602ff 22-Sep-2016 John Boehr <jbboehr@gmail.com>

Fix bug #69579

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

Merge branch 'PHP-7.0' into PHP-7.1


# 8e313bec 22-Sep-2016 John Boehr <jbboehr@gmail.com>

Fix bug #69579

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

Merge branch 'PHP-7.0' into PHP-7.1


# 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

# ff065881 16-Aug-2016 Dmitry Stogov <dmitry@zend.com>

Fixed use after free

# 86aa1c78 11-Aug-2016 Danack <Danack@basereality.com>

Require parameter to be an object if passed.

# 0cfb4765 28-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Fixed compilation warnings

# f8faffe3 22-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Allow "proxy" ovjects to substitute their class names through get_class_name() handler (similar to var_dump() and others).


# 3c84e5e1 22-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Allow "proxy" ovjects to substitute their class names through get_class_name() handler (similar to var_dump() and others).

# 91f59403 24-Apr-2016 Nikita Popov <nikic@php.net>

Forbid dynamic calls to scope introspection functions

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

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

Intern some known (and offten used) strings.

# 4cd9cf82 06-May-2016 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Fixed test
Revert "Fix bug #72162 (again)"


# 441d1b8e 06-May-2016 Xinchen Hui <laruence@gmail.com>

Revert "Fix bug #72162 (again)"

The problem is because we release p->value too early

and later you try to convert an object to string, which is a fatal error

then leave p->value double free, change to expect long is a BC break

This reverts commit 8e5b38100411d3b8fa4486c7c41dec7dedb4b474.

# 59f35c0c 05-May-2016 Nikita Popov <nikic@php.net>

Merge branch 'PHP-7.0'

Conflicts:
Zend/zend_builtin_functions.c


# 8e5b3810 05-May-2016 Nikita Popov <nikic@php.net>

Fix bug #72162 (again)

Not sure what the previous fix was supposed to do. The issue was
that error_reporting() simply assumes that the value must either
be an integer or a string.

Fixed by using zpp properly.

# badf1edf 05-May-2016 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Fixed bug #72162 (use-after-free - error_reporting)


# 91918621 05-May-2016 Xinchen Hui <laruence@gmail.com>

Fixed bug #72162 (use-after-free - error_reporting)

# 2578d080 29-Apr-2016 Dmitry Stogov <dmitry@zend.com>

Fixed compilation warnings

# 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.

# 7abfaac9 01-Apr-2016 Dmitry Stogov <dmitry@zend.com>

Merge zend_execute_data->called_scope into zend_execute_data->This.
"called_scope" made sense only for static method calls, for dynamic calls it was always equal to the class of $this.
Now EG(This) may store IS_OBJECT + $this or IS_UNUSED + "called_scope" (of course, "called_scope" may be NULL).
Some code might need to be adopted to support this change.
Checks (Z_OBJ(EX(This))) might need to be converted into (Z_TYPE(EX(This)) == IS_OBJECT).

# 1e5ac894 21-Mar-2016 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Fix bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable)


# 7e069daa 20-Mar-2016 Jakub Zelenka <bukka@php.net>

Fix bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable)

# 0df9b514 22-Jan-2016 Xinchen Hui <laruence@gmail.com>

Return meaningful value

# b27e1028 21-Jan-2016 Xinchen Hui <laruence@gmail.com>

Empty line

# 145555f8 21-Jan-2016 Xinchen Hui <laruence@gmail.com>

Cover overloaded functions

# 2ee73ee0 21-Jan-2016 Xinchen Hui <laruence@gmail.com>

Let's add a class entry for testing

# 86883b79 13-Jan-2016 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'

* PHP-7.0:
Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())


# 39f09507 13-Jan-2016 Xinchen Hui <laruence@gmail.com>

Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())

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

Merge branch 'PHP-7.0'


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

bump year which is missed in rev 49493a2

# 7a5c663e 26-Dec-2015 Xinchen Hui <laruence@gmail.com>

Merge branch 'PHP-7.0'


# 6700be67 26-Dec-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start)

# ef6514d6 16-Dec-2015 Dmitry Stogov <dmitry@zend.com>

Don't use deprecated API

# d70aa14f 09-Nov-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70323 (Regression in zend_fetch_debug_backtrace() can cause segfaults)

# a9636ff5 23-Sep-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70555 (fun_get_arg() on unsetted vars return UNKNOW)

and also keep the indices of func_get_args(). since they are similar
issue of #70574, thus reuse its test script.

# 0f3ab1c2 22-Sep-2015 Xinchen Hui <laruence@gmail.com>

Fixed #70547 similar bug in func_get_args

# e1dcfd2c 22-Sep-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70547 (unsetting function variables corrupts backtrace)

# d5b78cec 03-Sep-2015 Xinchen Hui <laruence@gmail.com>

We should keep one refcount to resource

# 6815c08e 03-Sep-2015 Xinchen Hui <laruence@gmail.com>

Fixed bug #70398 (SIGSEGV, Segmentation fault zend_ast_destroy_ex)

# 13567d5d 14-Aug-2015 Nikita Popov <nikic@php.net>

Don't copy zend_strings during exception creation

Minor optimization...

# a094f4fa 14-Aug-2015 Xinchen Hui <laruence@php.net>

Remove useless insert

# 668ecaa6 04-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Fixed bug #70098 (Real memory usage doesn't decrease)

# 3422fb57 01-Jul-2015 Xinchen Hui <laruence@php.net>

Use hash_str directly

# 324d5ecb 30-Jun-2015 Rasmus Lerdorf <rasmus@lerdorf.com>

debug_print_backtrace has a 2nd optional arg

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

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

# 1201be39 24-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

3rd arg to define() is optional

# 41774bce 23-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

Fix more minor mistakes in the proto comments

# f4d08d8e 23-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

Fix incorrect protos

# ed418312 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Fix arginfo for built-in engine functions"

This reverts commit d2356541d0386e3f0b6d593e2cc046ced68ff050.

# 3db071db 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Fix set_error_handler() arginfo"

This reverts commit b5240280b089acad03616987cee4bb76d94c8c56.

# 82b92cfa 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "And actually use this new arginfo data"

This reverts commit 932c95fb3106d0f3fd742e3f2a01f749f6d69182.

# 539593ce 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Fix each() arginfo"

This reverts commit 19fd124bcf2380f8e928795d1fe1900a02635298.

# 9a68fe51 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Fix genarginfo to respect by-ref passing"

This reverts commit db6990a91b2ca931074b29886c7f7819b14bb021.

# 13d5893c 22-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Revert "Several return type fixes, still not completed... Incomplete prototypes :-/"

This reverts commit 851b95fc4911bcd0c88810a91367f2294ea5b6c1.

# 851b95fc 22-Jun-2015 Bob Weinand <bobwei9@hotmail.com>

Several return type fixes, still not completed... Incomplete prototypes :-/

# db6990a9 22-Jun-2015 Bob Weinand <bobwei9@hotmail.com>

Fix genarginfo to respect by-ref passing

# 19fd124b 22-Jun-2015 Bob Weinand <bobwei9@hotmail.com>

Fix each() arginfo

# 932c95fb 22-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

And actually use this new arginfo data

# b5240280 22-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

Fix set_error_handler() arginfo

# d2356541 22-Jun-2015 Rasmus Lerdorf <rasmus@php.net>

Fix arginfo for built-in engine functions

# 4a6e1345 16-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Use COW to prevent unnecessary duplication of dynamic propertyes of stdClass (and other classes without predefined properties).

# 1c754f0b 12-Jun-2015 Dmitry Stogov <dmitry@zend.com>

Get rid of more ZVAL_ZVAL() macros

# 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)

# 33721742 03-Jun-2015 Willian Gustavo Veiga <contact@willianveiga.com>

Added "exclude_disabled" argument to "get_defined_functions".

# 97883233 30-May-2015 Willian Gustavo Veiga <contact@willianveiga.com>

Fix bug #31875 - get_defined_functions() should not list disabled functions.

# 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.

# 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.

# f3e124d5 14-Apr-2015 Bob Weinand <bobwei9@hotmail.com>

Merge branch 'coroutineDelegation' of https://github.com/bwoebi/php-src


# 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

# f23f7dfe 08-Apr-2015 Xinchen Hui <laruence@php.net>

Use new macros

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

Recalssify some E_ERROR into E_CORE_ERROR

# 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.

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

Use zend_error_noreturn() for fatal errors

# 607b7d66 30-Mar-2015 Kalle Sommer Nielsen <kalle@php.net>

Added missing zend_parse_parameters_none() to restore_error_handler() and restore_exception_handler() (Ferenc)

# 10e1b13a 26-Mar-2015 Kalle Sommer Nielsen <kalle@php.net>

Minor cosmetics for our test functions in the debug build

# 67b907f0 26-Mar-2015 Kalle Sommer Nielsen <kalle@php.net>

Change the error message for colliding class/interface/trait names to be a little more clearer.

C:\> php -r "interface stdClass { }"
Error: Cannot declare interface stdClass, because the name is already in use in Command Line Code on line 1

# 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()

# 86336856 12-Mar-2015 Dmitry Stogov <dmitry@zend.com>

Use specialized macro for string zval creation

# b4a142ab 06-Mar-2015 Bob Weinand <bobwei9@hotmail.com>

Added yield from operator

# c2c78dc9 25-Feb-2015 Dmitry Stogov <dmitry@zend.com>

Added specialized versions of DO_FCALL handler:
DO_ICALL - for internal functions
DO_UCALL - for user functions
DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)

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

don't count op_arrays stored in opcache SHM

# e10e151e 13-Feb-2015 Dmitry Stogov <dmitry@zend.com>

Merged zend_array and HashTable into the single data structure.
Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write
zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.

# 2fb85f10 12-Feb-2015 Nikita Popov <nikic@php.net>

Cleanup checks in zend_builtin_functions.c

The EXPLICIT_ABSTRACT_CLASS comparisons are no longer necessary.

# 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.

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

Add test function arguments

# 16732ded 23-Jan-2015 Xinchen Hui <laruence@php.net>

Fixed refcount handling in get_class_vars()

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

define() must not modify the source array

# 8dc3c283 20-Jan-2015 Dmitry Stogov <dmitry@zend.com>

cleanup

# 442efdaa 19-Jan-2015 Xinchen Hui <laruence@php.net>

Optimized is_a

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

bump year

# 58efbf0a 13-Jan-2015 Dmitry Stogov <dmitry@zend.com>

Fixed possible double free

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

Fixed possible crash

# 916d5ece 12-Jan-2015 Dmitry Stogov <dmitry@zend.com>

Optimized error_reporting() similar to silence operator (ZEND_BEGIN_SILENCE opcode).

# c5047d1f 12-Jan-2015 Dmitry Stogov <dmitry@zend.com>

Use FAST_ZPP in few more frequently used functions

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

trailing whitespace removal

# 2d212b42 23-Dec-2014 Nikita Popov <nikic@php.net>

Drop duplicate arg from hash_get_current_key_ex

# 86af370b 24-Dec-2014 Anatol Belski <ab@php.net>

remove unused variable

# 385bda6c 24-Dec-2014 Anatol Belski <ab@php.net>

C89 compat

# 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.

# 106b1017 23-Dec-2014 Dmitry Stogov <dmitry@zend.com>

API for fast construction of packed arrays

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

Improved get_object_vars()

# 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.

# 0833fd46 21-Dec-2014 Dmitry Stogov <dmitry@zend.com>

Allow arrays with define(), to match const syntax support

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

first shot remove TSRMLS_* things

# 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().

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

Pack EX(frame_info) into EX(This).u1.v.reserved. Rename "frame"kind" into "call_kind" and VM_FRAME_... into ZEND_CALL_...

# 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.

# 5190d8fb 28-Oct-2014 Xinchen Hui <laruence@php.net>

Addtion fix for bug #68252 , forget static variable hanlding

# e6fe3127 28-Oct-2014 Xinchen Hui <laruence@php.net>

Fixed bug #68252 (segfault in Zend/zend_hash.c in function _zend_hash_del_el)

Don't leave a UNDEF gap in function_table

# 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

# 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

# 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.

# 33e137d4 07-Oct-2014 Dmitry Stogov <dmitry@zend.com>

Merged EX(frame_kind) and EX(flags) into single word

# 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.

# 142a01db 28-Sep-2014 Nikita Popov <nikic@php.net>

Fix a couple compile warnings

# e14b7f62 27-Sep-2014 Timm Friebe <thekid@thekid.de>

Fix segmentation fault in debug_backtrace()

# c45924b9 24-Sep-2014 Nikita Popov <nikic@php.net>

Remove dead code

# 7ecc7e6b 20-Sep-2014 Xinchen Hui <laruence@php.net>

folder marks

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

Avoid double IS_INTERNED() check

# 079409bb 15-Sep-2014 Nikita Popov <nikic@php.net>

Switch (un)mangle property name to size_t and zend_string

Also use the _ex variants where possible.

# c8ed0d81 14-Sep-2014 Anatol Belski <ab@php.net>

fix signed/unsigned mismatch

# 5c897aa7 03-Sep-2014 Dmitry Stogov <dmitry@zend.com>

Preallocate hash tables of required size

# 88d7ca44 01-Sep-2014 Dmitry Stogov <dmitry@zend.com>

Refactored INI subsystem to use zend_string* instead of char*

# 389d2859 28-Aug-2014 Andrea Faulds <ajf@ajf.me>

Special-case aliases, add warning comments to implementations

# 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

# 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

# f7c82137 21-Aug-2014 Anatol Belski <ab@php.net>

fix zpp

# 8b2f1ac1 21-Aug-2014 Anatol Belski <ab@php.net>

fix zpp

# 8d6ef99a 21-Aug-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'php/master'


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

Fixed incorrect string length comparison

# d15360c1 21-Aug-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'php/master'


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

Fixed get_resources() prototype comments

# be1b1e7b 20-Aug-2014 Anatol Belski <ab@php.net>

fix index type

# 66e7090e 20-Aug-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'php/master'


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

Introduced get_resources() function.
It may be used for debugging and testing to identify resource leaks.
Changed ext/standard/tests/http/bug60570.phpt to use this function instead of unsafe attempt to catch resource leaks using get_memory_usage()

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

further fixes on core

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

first shot on merging the core fro the int64 branch

# 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)

# 0abd6262 08-Jul-2014 Dmitry Stogov <dmitry@zend.com>

code cleanup

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

Refactored run_time_cache usage in object handlers

# 477bd49c 07-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Wrong expectation in tests (for some reason backtraces contained invlalid extra frame at the top)

# 5aa91be5 07-Jul-2014 Dmitry Stogov <dmitry@zend.com>

Simplify call-frame handling

# 6bf24f4d 04-Jul-2014 Dmitry Stogov <dmitry@zend.com>

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

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

Removed EG(called_scope) 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.

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

Fixed support for extra arguments in conjunction with variadiv argument.
Use compile time flags to check if we call constructor and result of ZEND_NEW is used or not.

# d6bd21ea 27-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Use fast comparison for (func->type == ZEND_USER_FUNCTION || func->type == ZEND_EVAL_CODE)

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

Keep extra args in the same VM stack segment (after all CV and TMP vars)

# 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)

# 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

# dd1c68e6 12-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Merge branch 'master' into phpng

* master: (77 commits)
NEWS entry for Fix potential segfault in dns_get_record()
NEWS entry for "Fix potential segfault in dns_get_record()"
NEWS entry for Fix potential segfault in dns_get_record(
Fix potential segfault in dns_get_record()
Revert "Add optional second arg to unserialize()"
5.5.15 now
update NEWS
Fix bug #66127 (Segmentation fault with ArrayObject unset)
5.4.31 next
Add NEWS. This doesn't need UPGRADING (or an RFC), IMO.
Fix broken test.
Add a mime type map generation script and update the header.
Move the mime type map out of php_cli_server.c for easier generation.
Replace the CLI server's linear search for extensions with a hash table.
fix test
Remove unused included file
NEWS
NEWS
NEWS
Fixed Bug #67413 fileinfo: cdf_read_property_info insufficient boundary chec
...

Conflicts:
Zend/zend_closures.c
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/spl/spl_array.c
ext/standard/basic_functions.c
ext/standard/dns.c
ext/standard/var.c


# 224f369a 08-Jun-2014 Stanislav Malyshev <stas@php.net>

Merge remote-tracking branch 'github/pr/671'

* github/pr/671:
Fix align indentation
Fixed identation on file


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

Use reference counting instead of zval duplication

# 2bc1abe2 02-Jun-2014 Dmitry Stogov <dmitry@zend.com>

cleanup

# 0427ae08 02-Jun-2014 Dmitry Stogov <dmitry@zend.com>

cleanup

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

Use new zend_hash API

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

Use specialized functions instead of macros

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

Optimize func_get_args() to build packed array

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

Fixed apply_func_args_t

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

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

# 9eb89ddd 23-May-2014 Dmitry Stogov <dmitry@zend.com>

Use optimized zend_array_dup() function. convert zend_hash_num_elements() and zend_hash_next_free_element() into macros.

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

Save one type checking if the type is already string

# dd200553 12-May-2014 Jefersson Nathan <malukenho@phpse.net>

Fix align indentation

# e0247de1 30-Apr-2014 Nikita Popov <nikic@php.net>

zend_stack_top() now returns pointer directly

# 5a03efe2 30-Apr-2014 Nikita Popov <nikic@php.net>

Don't allocate zend_stack elements individually

Instead allocate a vector of elements. Size must now be specified
on initialization rather than on push.

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

Split IS_BOOL into IS_FALSE and IS_TRUE

# df7ca608 24-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Optimized constant lookup

# 65e2ed6e 24-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Redesigned zend_execute_data layout now EX(object), EX(scope) and EX(called_scope) arr properties of the current function execution co
ntext. They are set during zend_execute_data initialization and never changed.

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

Fixed compilation warnings

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

Avoid string duplication

# 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.

# 5bb493c4 16-Apr-2014 Dmitry Stogov <dmitry@zend.com>

op_array->filename and op_array->filename may be kept in opcache SHM

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

Fixed reference counting

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

Cleanup

# 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

# f449b047 10-Apr-2014 Nikita Popov <nikic@php.net>

Fix some ZTS issues and leaks

# 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.

# 3d17219c 07-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Refactored zend_hash_* iteration API zend_hash_fove_forward_ex(ht, pos) and family require second argument to be real pointer.
&(ht)->nInternalPointer should be passed instead of NULL.
zend_hash_update_current_key() may work only with internal pointer.

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

Constant duplication optimization
Argument receiving optimization

# 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)

# 6b2ed577 01-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Avoid unnecessry reallocations

# 8ddda2f6 01-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Avoid unnecessry reallocation

# 9799542f 01-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Fixed parameter passing

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

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

# 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