History log of /PHP-7.3/Zend/zend.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# b5ce6df0 10-Nov-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3.26 is next


# 2d01a89a 13-Oct-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3.25 is next


# edddddce 15-Sep-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3.24 is next


# edddddce 15-Sep-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3.24 is next

# ff14b7ad 18-Aug-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3.23 is next

# 2c0a6977 21-Jul-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3 is now 7.3.22-dev

# 91982bad 23-Jun-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3 is now 7.3.21-dev

# c249f593 26-May-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3.20 will be next

# 6998cc50 28-Apr-2020 Christoph M. Becker <cmbecker69@gmx.de>

Bump version

# 33226c3a 31-Mar-2020 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.18

# 9dda3b9e 03-Mar-2020 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.17

# e3632fdc 04-Feb-2020 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.16

# 38c0a53b 07-Jan-2020 Christoph M. Becker <cmbecker69@gmx.de>

Bump version

# 65bbc670 02-Dec-2019 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.14

# 4c9ba3e0 05-Nov-2019 Christoph M. Becker <cmbecker69@gmx.de>

7.3.13 is next

# 26f45cb4 07-Oct-2019 Christoph M. Becker <cmbecker69@gmx.de>

7.3.12 is next

# cf31210f 10-Sep-2019 Christoph M. Becker <cmbecker69@gmx.de>

PHP 7.3.10RC1 has been tagged

# 5536105b 13-Aug-2019 Christoph M. Becker <cmbecker69@gmx.de>

Next will be 7.3.10

# fe799791 13-Aug-2019 Christoph M. Becker <cmbecker69@gmx.de>

Bump version numbers

This should have been done four weeks ago already.

# bcf20963 11-Jun-2019 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.8

# 2d93cce0 14-May-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare 7.3.7-dev

# 5ae49c43 16-Apr-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for PHP 7.3.6

# a2de4204 19-Mar-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for PHP 7.3.5

# 2ec59b3e 19-Feb-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for PHP 7.3.4

# 19a9a6ba 22-Jan-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for PHP 7.3.3

# a65133a1 17-Dec-2018 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for 7.3.2

# b0177d38 09-Dec-2018 Christoph M. Becker <cmbecker69@gmx.de>

Fix version numbers in main branch

This should have already happened, when `PHP-7.3.0` was branched.

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

Future-proof email addresses

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

# 583616de 18-Jul-2018 Christoph M. Becker <cmbecker69@gmx.de>

[ci skip] Fix typo in comment

# 5e8977bd 12-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Merge zend_class_entry.create_object and zend_class_entry.interface_gets_implemented into the same memory lacation. The first used only by classes, the second only by magic interfaces.

# 7d4e18b0 12-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Improved user iterator implementation to reduce zend_class_entry memory consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build.

# 85ee47ed 11-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Changed structure of zend_class_entry.trait_aliases and zend_class_entry.trait_precedences to avoid keeping "intermediate" trait references, that are used only during inheritance.

# 7eb045d3 03-Jul-2018 Dmitry Stogov <dmitry@zend.com>

API cleanup. Removed unused functions (kept compatibility macros).

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

year++

# 66c8a9d6 23-Dec-2017 Nikita Popov <nikita.ppv@gmail.com>

Remove EH_SUPPRESS mode

It is unused and does not work in any meaningful way:
Warnings are suppressed, but everything else (both notices and
fatals) are not. It would make some sense if it suppressed
warnings and lower, but right now this is a pointless mode.

# 26f8fc83 15-Nov-2017 Nikita Popov <nikita.ppv@gmail.com>

Enable and fix printf() format warnings

Add _unchecked() variants of zend_spprintf and zend_strpprintf for
cases where we specifically want to disable these checks, such as
use of %H.

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

Move a part of opcache initialization into post_startup phase (when all extensions already loaded).

# 0a98998b 12-Sep-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.2'

* PHP-7.2:
drop symbol definition, and not defined anywhere


# ea2507bc 12-Sep-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
drop symbol definition, and not defined anywhere


# 42e15813 12-Sep-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
drop symbol definition, and not defined anywhere


# 35deb4c8 12-Sep-2017 Remi Collet <remi@php.net>

drop symbol definition, and not defined anywhere

# 49d9b301 26-Jul-2017 Anatol Belski <ab@php.net>

Move cwd_state and path related routines to size_t

Having `int` there is no real profit in the size or speed, while unsigned
improves security and overall integration. ZPP supplied strings can
be then accepted directly and structs can be still handled with smaller
unsigned types for size reasons, which is safe. Yet some related places
are to go.

basic move tsrm_realpath_r to size_t

fix conditions and sync with affected places

touch ocurrences of php_sys_readlink usage

follow up on phar path handling

remove duplicated check

move zend_resolve_path and related pieces to size_t

touch yet resolve path related places

remove cast

missing pieces

missing piece

yet cleanups for php_sys_readlink for ssize_t

fix wrong return

# 5230541e 18-Jul-2017 Sara Golemon <pollita@php.net>

Prepare for PHP 7.3

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

further sync for vim mode lines

# ec31924c 10-Mar-2017 Remi Collet <remi@php.net>

Constify to void build warning for C++ ext. [-Wwrite-strings]

Example (with v8js):

/builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc: In function 'void v8js_execute_script(zval*, v8js_script*, long int, long int, long int, zval**)':
/usr/include/php/Zend/zend.h:204:57: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
#define zend_bailout() _zend_bailout(__FILE__, __LINE__)
^
/builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc:633:3: note: in expansion of macro 'zend_bailout'
zend_bailout();
^~~~~~~~~~~~

# fa45f64b 20-Jan-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
NEWS
NEWS
Fixed bug #73965 DTrace reported as enabled when disabled


# 7ea7d3d8 20-Jan-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
NEWS
Fixed bug #73965 DTrace reported as enabled when disabled


# f81b7df6 20-Jan-2017 Remi Collet <remi@php.net>

Fixed bug #73965 DTrace reported as enabled when disabled

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

Update copyright headers to 2017

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

Update copyright headers to 2017

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

Update copyright headers to 2017

# 5fc9aa9a 18-Dec-2016 Nikita Popov <nikic@php.net>

Make printf_to_smart_str(ing) the primitive printf operation

vs(tr)pprintf is now implemented in Zend on top of
printf_to_smart_str(int), which is provided as a utility function.

This allows us to efficiently printf to the end of a smart string.

# c7742e28 18-Dec-2016 Nikita Popov <nikic@php.net>

Export zend_s(tr)pprintf

It's annoying that in Zend you have to use zend_strpprintf instead
of strpprintf, while in PHP you have to use strpprintf instead of
zend_strpprintf.

Make zend_s(tr)pprintf always available and keep s(tr)pprintf as
macro aliases.

# 66897044 12-Dec-2016 Dmitry Stogov <dmitry@zend.com>

Increased number of reserved resources (from 4 to 6)

# 2f509016 02-Dec-2016 Davey Shafik <me@daveyshafik.com>

Bump versions and NEWS for 7.1.1-dev

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

further normalizations, uint vs uint32_t

fix merge mistake

yet one more replacement run

# 13dcab03 24-Nov-2016 Sebastian Bergmann <sb@sebastian-bergmann.de>

Bump Zend Engine version

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

Implement \ArgumentCountError exception

# d0460d8f 23-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Turn safe timeout handling into general interrupt handling ability.

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

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

# 4042f543 20-Jun-2016 Dmitry Stogov <dmitry@zend.com>

HANDLE_BLOCK/UNBLOCK_INTERRUPTIONS() protection on inter-process data is completely useless now.
Historicaly, these macros were introduced as a protection from execution timeout handling, but we don't need them anymore after "safe execution timeout" implementation.
These macros are still useful to protect from termination during inner process data modification, because of OS signals (e.g. SIGTERM during OPcache SHM update).

# c8706331 20-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Cleanup zend_signal API

# 3abd9c34 20-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Removed unused callbacks

# 1b29e0ca 07-Oct-2015 Nikita Popov <nikic@php.net>

Switch zend_print_zval_r to use smart_str

Instead of directly writing to stdout. This allows doing a print_r
into a string, without using output buffering.

The motivation for this is bug #67467: print_r() in return mode
will still dump the string to stdout (causing a potential information
leak) if a fatal error occurs.

# 556827de 26-Mar-2016 Nikita Popov <nikic@php.net>

Remove some dead defines

# f57c0b32 03-Mar-2016 Nikita Popov <nikic@php.net>

Merge branch 'PHP-7.0'


# 1ac15293 03-Mar-2016 Nikita Popov <nikic@php.net>

Move semicolon into TSRMLS_CACHE_EXTERN/DEFINE

Also re bug #71575.

# 5faedf5b 05-Feb-2016 Nikita Popov <nikic@php.net>

Remove EXT_TYPE_UNUSED in favor of IS_UNUSED

This means we no longer allocate an unused VAR for the retval of
instructions that support unused results.

Nearly all instructions already used the result variable only if
it was used. The only exception to this was the return value
variable for internal function call results. I've adjusted the code
to use a stack zval for the unused return case now. As we have
retval specialization now, we know that it doesn't matter.

# 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

# 6897c111 06-Nov-2015 Anatol Belski <ab@php.net>

no more dev ZEND_VERSION

# 76a6f28f 22-Oct-2015 Kalle Sommer Nielsen <kalle@php.net>

Zend Engine 3.1.0-dev for master

# 4ddeeb49 11-Sep-2015 Xinchen Hui <laruence@gmail.com>

Remove free_string_zval

# 127db5a3 28-Aug-2015 Dmitry Stogov <dmitry@zend.com>

HANDLE_BLOCK_INTERRUPTIONS() is not used by SAPIs anymore. It may be useful only when PHP configured with --enable-zend-signals.

# e549ebdb 26-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Mark parse error functions as cold

# 30dcb2d6 19-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Fixed typo

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

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

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

Remove need to pass error level

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

Enable throwing custom exceptions from errors

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

Always throw TypeException on throwing zpp failures

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

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

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

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

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

# 95b4aa52 07-Mar-2015 Xinchen Hui <laruence@php.net>

Fixed zend_hash_append result duplicated key

actually, maybe we should precalculate before calling zend_hash_appen
when we are not sure whether the hash is caclculated(prop_info->name).

but it looks a little ugly.. (also for zend_string_copy)

# 2fa8d67a 03-Mar-2015 Dmitry Stogov <dmitry@zend.com>

Use zend_string* instead of char* for opened_patch handling. Avoid reallocations and improve string reuse.

# af3ca745 16-Feb-2015 Anatol Belski <ab@php.net>

made ZEND_TSRMLS_CACHE_* macros look like function calls

which also comply with the current semantics for such macros

# 57496c38 06-Feb-2015 Dmitry Stogov <dmitry@zend.com>

This should fix compilation on OSX (bug #68987 Failed to compile zend.c with gcc-4.9.2)

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

bump year

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

trailing whitespace removal

# e112f6a0 14-Dec-2014 Anatol Belski <ab@php.net>

second shot on removing TSRMLS_*

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

first shot remove TSRMLS_* things

# ba35b22b 06-Dec-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'origin/master' into native-tls

* origin/master: (35 commits)
Fixed bug #68398 msooxml matches too many archives
Fix zpp call in apache_getenv()
Drop unnecessary zval containers
fixed test
C89 compat
add include for missing localeconv_r proto
updated NEWS
Fixed bug #65230 setting locale randomly broken
Fix compilation error (ref #68424)
Removed useless handlers
Move checks for references into slow paths of operator functions. Remove duplicate opcode handlers.
Revert unintentional docblock change
Restored zip/oci8 PHP 4 code, add PHP 7 checks
Note macro removal in UPGRADING.INTERNALS
Removed ZEND_ENGINE_2 checks (and ZE1 code, it's been a decade!)
Zend Engine 3
Updated NEWS
Updated NEWS
Updated NEWS
Start adding new attribute to control multi statements
...


# 90d916c4 19-Sep-2014 Andrea Faulds <ajf@ajf.me>

Zend Engine 3

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

Merge remote-tracking branch 'origin/master' into native-tls

* origin/master: (214 commits)
fix datatype mismatch warnings
fix datatype mismatches
fix datatype mismatches
fix datatype mismatches
fix datatype mismatch warnings
fix datatype mismatch warnings
fix datatype mismatch warnings
fix datatype mismatch warning
fix datatype mismatches
fix datatype mismatch warnings
Re-add phpdbg to travis
Added some NEWS
Make xml valid (missing space between attrs)
Fix info classes file name in xml
Add note about <eval> tag for errors in xml.md
Name the tag <eval> if the error id during ev cmd
Do not print out xml as PHP print...
Fix output to wrong function
Fixed parameter order on %.*s
Too much copypaste...
...


# 944d2c65 22-Oct-2014 Anatol Belski <ab@php.net>

fix datatype mismatches

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

moved most of the core to use static tsrm ls cache pointer

plus apache2handler, cli and cgi

# ee4ae7fb 03-Oct-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
remove the remains of dsp files handling
fix EX usage
remove misprint parentheses
remove misprint parentheses
Replaced EG(This) and EX(object) with EX(This). Internal functions now recieves zend_execute_data as the first argument.
And this one...
It should be in extern c
Remove useless condition
NEWS entry for previous commit
NEWS entry for previous commit
add IPv6 support to php-fpm
Micro optimization for the most frequency case
Add hash to EXTENSIONS file
Remove extensions which are long gone
we also have xz release tarballs since 5.5
Fix ZTS build
improved file size computation in stat()
Fixed incorrect compilation
5.5.19 now


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

# 76081df1 01-Oct-2014 Anatol Belski <ab@php.net>

using pointer to the tsrm ls cache instead of a function call

yet another approach

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

reworked the patch, less new stuff but worky

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

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

What is done merely is

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

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

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

# 4db75dc8 22-Sep-2014 Anatol Belski <ab@php.net>

basic windows fix

# 61d37e05 18-Sep-2014 Dmitry Stogov <dmitry@zend.com>

Moved some definitions from zend.h into more suitable header files

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

revamp serialization to work with size_t for Serializable

# 9ee4a40f 08-Sep-2014 Anatol Belski <ab@php.net>

made Visual Studio to understand that zend_error_noreturn() will not return

- windows only, on linux gcc would cause a warning that the function returns,
as no noreturn functions are used
- ZEND_NORETURN works on windows as well now, using __declspec(noreturn),
which is useful for the other cases
- one more function call will be needed, which is not critical for the
error reporting
- the way is open to enable the same for gcc as soon as it's not causing a warning

# f4f9b549 06-Sep-2014 Nikita Popov <nikic@php.net>

Revert "Move safe_address into zend_multiply.h"

This reverts commit 43b02e169c718335a82b8c90c3252194f988659a.

I'm getting symbol resolution issues for zend_error_noreturn in the
opcache.so, so reverting this for now.

# 43b02e16 06-Sep-2014 Nikita Popov <nikic@php.net>

Move safe_address into zend_multiply.h

This allows reuse in zend_arena_calloc.

Also renamed the function to zend_safe_address as it's no longer
private to the allocator.

# 979058d4 03-Sep-2014 Nikita Popov <nikic@php.net>

Disable format string checking by default

Instead of removing format attributes altogether, disable the checks
by default. This allows you to do a build with format string checks
and filter out the false positives (basically anything mentioning
%p).

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

Refactored INI subsystem to use zend_string* instead of char*

# ee552b62 27-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Reorder fields for better nenory consumtion and data locality on 64-bit systems

# b1f53ca4 27-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Use efree_size() instead of efree() where posible

# 8ec40397 27-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Cleanup IS_VAR handling

# 661f90d4 26-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Replaced Zend Memory Manager

# b63ab832 26-Aug-2014 Anatol Belski <ab@php.net>

several signature and data type fixes

# 899a1ed5 25-Aug-2014 Nikita Popov <nikic@php.net>

Merge branch 'ast'

Conflicts:
Zend/zend_compile.c


# 6db293d5 25-Aug-2014 Nikita Popov <nikic@php.net>

Merge remote-tracking branch 'php-src/master' into ast

Conflicts:
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_globals.h
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_types.h


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

master renamings phase 5

# 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

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

mostly fixes to spl, but also some other

# 904a83a1 16-Aug-2014 Nikita Popov <nikic@php.net>

Merge remote-tracking branch 'php-src/master' into ast

Conflicts:
ext/opcache/Optimizer/optimize_func_calls.c


# 71675a4b 16-Aug-2014 Nikita Popov <nikic@php.net>

Merge remote-tracking branch 'php-src/phpng' into ast

Conflicts:
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_language_parser.y

Incomplete merge!


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

further fixes to ext/standard and zend

# 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

# d9f3eac1 15-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Bump version to 7.0.0-dev

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

update zend_make_printable_zval to take TSRM context

# a51e00a8 26-Jul-2014 Nikita Popov <nikic@php.net>

Add functions for create str/long ast directly

# 6cc487df 18-Jul-2014 Xinchen Hui <laruence@php.net>

Revert "stash" (pushed by accident)

This reverts commit a18bf5fc9303e2739ee7026bdb3bbf272bf4baa8.

# a18bf5fc 16-Jul-2014 Xinchen Hui <laruence@php.net>

stash

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

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

Imporoved EXPECTED/UNEXPECTED macros to support not boolean expressions.
Fixed invalid EXPECTED() usage.

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

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

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

Simplify call-frame handling

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

# 2508d493 18-Jun-2014 Xinchen Hui <laruence@php.net>

Fixed typo

# 6288bb8f 17-Jun-2014 Xinchen Hui <laruence@php.net>

Refactoring mysqlnd (incompleted, only mysqlnd ext compilable)

# 592c8a04 10-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Improved conditions order

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

Use reference counting instead of zval duplication

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

cleanup

# 032bdbba 30-May-2014 Dmitry Stogov <dmitry@zend.com>

Improved conditions order

# b3b616cf 29-May-2014 Dmitry Stogov <dmitry@zend.com>

Introduced immutable arrays. They don't need to be copyed and may be used directly from SHM.

# 6f0f8511 16-May-2014 Nikita Popov <nikic@php.net>

Assert that EMPTY_SWITCH_DEFAULT_CASE() cannot be reached in debug

# 88c550a7 09-May-2014 Xinchen Hui <laruence@php.net>

Added vstrpprintf strpprintf to avoid duplicate string

(the function name maybe improvement)

# f9927a6c 25-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Merge mainstream 'master' branch into refactoring
During merge I had to revert:
Nikita's patch for php_splice() (it probably needs to be applyed again)
Bob Weinand's patches related to constant expression handling (we need to review them carefully)
I also reverted all our attempts to support sapi/phpdbg (we didn't test it anyway)

Conflicts:
Zend/zend.h
Zend/zend_API.c
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_constants.c
Zend/zend_exceptions.c
Zend/zend_execute.c
Zend/zend_execute.h
Zend/zend_execute_API.c
Zend/zend_hash.c
Zend/zend_highlight.c
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
Zend/zend_variables.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/date/php_date.c
ext/dom/documenttype.c
ext/hash/hash.c
ext/iconv/iconv.c
ext/mbstring/tests/zend_multibyte-10.phpt
ext/mbstring/tests/zend_multibyte-11.phpt
ext/mbstring/tests/zend_multibyte-12.phpt
ext/mysql/php_mysql.c
ext/mysqli/mysqli.c
ext/mysqlnd/mysqlnd_reverse_api.c
ext/mysqlnd/php_mysqlnd.c
ext/opcache/ZendAccelerator.c
ext/opcache/zend_accelerator_util_funcs.c
ext/opcache/zend_persist.c
ext/opcache/zend_persist_calc.c
ext/pcre/php_pcre.c
ext/pdo/pdo_dbh.c
ext/pdo/pdo_stmt.c
ext/pdo_pgsql/pgsql_driver.c
ext/pgsql/pgsql.c
ext/reflection/php_reflection.c
ext/session/session.c
ext/spl/spl_array.c
ext/spl/spl_observer.c
ext/standard/array.c
ext/standard/basic_functions.c
ext/standard/html.c
ext/standard/mail.c
ext/standard/php_array.h
ext/standard/proc_open.c
ext/standard/streamsfuncs.c
ext/standard/user_filters.c
ext/standard/var_unserializer.c
ext/standard/var_unserializer.re
main/php_variables.c
sapi/phpdbg/phpdbg.c
sapi/phpdbg/phpdbg_bp.c
sapi/phpdbg/phpdbg_frame.c
sapi/phpdbg/phpdbg_help.c
sapi/phpdbg/phpdbg_list.c
sapi/phpdbg/phpdbg_print.c
sapi/phpdbg/phpdbg_prompt.c


# 08ae8815 23-Apr-2014 Nikita Popov <nikic@php.net>

Allocate zend_strings with correct size

For me (32bit) sizeof(zend_string) is 20, which means that the
char[1] array at the end is padded with three bytes. Thus allocating
based on sizeof(zend_string)-1 overallocates by those 3 padding bytes.

This commit fixes the allocation size, by using XtOffsetOf.

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

Use zval_get_string in print_zval and propagate TSRMLS

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

Cleanup (1-st round)

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

Merge branch 'PHP-5.6'


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

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

# 816f8dfe 09-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Fixed macro

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

Various VM optimizations

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

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

# d8099d04 02-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Changed data layout to allow more efficient operations

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

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

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

Cleanup

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

Use ZVAL_DEREF() macro

# 506f6a42 23-Mar-2014 Xinchen Hui <laruence@gmail.com>

Refactor mbstring (incompleted)

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

Refactored GC (incomplete)

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

Reverted wrong fix

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

Fixed refcounting

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

Handle interned strings as non-refcounted scalars

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

Fixed IS_REFERENCE separation

# 38151a38 04-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixed dereferencing of value returned from function (foo()[1] = ...)

# 1be0df93 03-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixed destruction of VM handler operands (FREE_OP1 and family)

# e73c32c2 03-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixed macros

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

Fixed SEPARATE_ZVAL_IF_REF()

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

Fixed SEPARATE_ZVAL() to support objects and resources

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

Fixed segfault due to missing REFCOUNTED check

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

Use better data structures (incomplete)

# 837af672 18-Feb-2014 Sara Golemon <pollita@php.net>

Merge branch 'PHP-5.6'

* PHP-5.6:
Add __debugInfo() magic method


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

Add __debugInfo() magic method

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

public function count() { return 42; }

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

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

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

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

Use better data structures (incomplete)

# 2161103f 10-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)

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

Merge branch 'PHP-5.6'


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

Bump year

# 65fd18fd 26-Dec-2013 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.6'

* PHP-5.6:
Improved empty string handling. Now ZE uses an interned string instead of allocation new empty string each time. (Some extensions might need to be fixed using str_efree() instead of efree() to support interned strings).

Conflicts:
NEWS
Zend/zend_extensions.h
Zend/zend_modules.h


# 03a37de9 26-Dec-2013 Dmitry Stogov <dmitry@zend.com>

Improved empty string handling. Now ZE uses an interned string instead of allocation new empty string each time. (Some extensions might need to be fixed using str_efree() instead of efree() to support interned strings).

# aed4b086 18-Dec-2013 Kalle Sommer Nielsen <kalle@php.net>

Eliminate the TSRMLS_FETCH() calls in the ticks functions and hook

# 48cc47d5 03-Dec-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>

Leftover: Bump version to 5.7.0

# 2e6d8305 29-Nov-2013 ArunSK <arunsk.tec@gmail.com>

Fixed unused value compiler warning

# d36cf902 28-Nov-2013 Bob Weinand <bobwei9@hotmail.com>

Merge branch 'const_scalar_exprs' into PHP-5.6

Conflicts:
Zend/zend_extensions.h


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

export more Zend API

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

Constant expressions refactoring

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

Merge branch 'const_scalar_exprs' of github.com:bwoebi/php-src into const_scalar_exprs

* 'const_scalar_exprs' of github.com:bwoebi/php-src:
Removed operations on constant arrays. They make no sense as constants are not allowed to be arrays. And as just properties are allowed to; no problem, we still don't need operations on any constant array.
Added a few more operators
Whitespace fix
converted several switches to ifs and made more opcache friendly
Fatal error about self referencing constants fixed
Fixed mem leaks, added tests and ternary operator
Working commit for constant scalar expressions (with constants). Tests will follow.

Conflicts:
Zend/Makefile.am
configure.in
win32/build/config.w32


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

# 25dc4af3 24-Oct-2013 Anatol Belski <ab@php.net>

enabled windows to use stack in both ts/nts mode, some more fixes

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

# 81623d3a 12-Mar-2013 Nikita Popov <nikic@php.net>

Merge branch 'PHP-5.5'

Conflicts:
UPGRADING
UPGRADING.INTERNALS


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

Add support for non-scalar Iterator keys in foreach

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

# 01e1ba88 11-Mar-2013 Xinchen Hui <laruence@php.net>

Merge branch 'PHP-5.5'

Conflicts:
UPGRADING


# 4573405c 11-Mar-2013 Xinchen Hui <laruence@php.net>

Merge branch 'PHP-5.4' into PHP-5.5


# 0444708c 11-Mar-2013 Xinchen Hui <laruence@php.net>

Disable zend_always_inline in debug build

it will be much more easier for debuging

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

Merge branch 'PHP-5.5'


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

Happy New Year

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

Happy New Year

# f3ea4973 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.5'

* PHP-5.5:
Removed deprecated fields


# bc0425c0 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Removed deprecated fields

# 3b17a090 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.5'

* PHP-5.5:
Traits refactoring


# b8c719c0 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
Traits refactoring


# 3f8c729e 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Traits refactoring

# cc118f78 13-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.5'

* PHP-5.5:
Removed redundand checks from release build


# ff1e1d7a 13-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Removed redundand checks from release build

# 79726be6 14-Nov-2012 Sebastian Bergmann <sebastian@php.net>

Leftover: Bump version to 5.6.0

# 8788cddf 26-Aug-2012 Lars Strojny <lstrojny@php.net>

Prefix RESULT_CODE enum with ZEND_

# e3ef84c5 07-Aug-2012 Stuart Langley <slangley@google.com>

Strong types for the result codes SUCCESS & FAILURE. These are common
symbol names and using #defines can cause conflicts.

# 0fa40bb9 21-Aug-2012 Sebastian Bergmann <sebastian@php.net>

Bump version.

# 58d22033 24-May-2012 Nuno Lopes <nlopess@php.net>

add support for the alloc_size __attribute__ (through ZEND_ATTRIBUTE_ALLOC_SIZE and ZEND_ATTRIBUTE_ALLOC_SIZE2

requires GCC >= 4.3 or clang >= 3.2 to perform anything useful

# dab17da3 16-Feb-2012 Stanislav Malyshev <stas@php.net>

make ZEND_SIGNALS configurable, off by default
also make ZEND_SIGNALS enabled and disabled binary-compatible

# fa9540e1 16-Feb-2012 Stanislav Malyshev <stas@php.net>

make ZEND_SIGNALS configurable, off by default
also make ZEND_SIGNALS enabled and disabled binary-compatible

# b31c1243 04-Jan-2012 Xinchen Hui <laruence@php.net>

Fixed bug #60627 (httpd.worker segfault on startup with php_value)

# 1c4f2275 04-Jan-2012 Xinchen Hui <laruence@php.net>

Fixed bug #60627 (httpd.worker segfault on startup with php_value)

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

- Year++

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

- Year++

# a0934916 22-Nov-2011 Antony Dovgal <tony2001@php.net>

export zend_on_timeout handler from ZE

# e1481943 22-Nov-2011 Antony Dovgal <tony2001@php.net>

export zend_on_timeout handler from ZE

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

Fixed ZE specific compile warnings (Bug #55629)

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

Fixed ZE specific compile warnings (Bug #55629)

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

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

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

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

# 34d93f0c 22-Jun-2011 Ilia Alshanetsky <iliaa@php.net>

Zend Signal Handling

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

scalar types cleanup

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

scalar types cleanup

# 93987513 02-Jun-2011 Ilia Alshanetsky <iliaa@php.net>

Zend Signal Handling (see RFC: https://wiki.php.net/rfc/zendsignals)
This needs to go into 5.4 as well, but will wait for Pierre to review win32 situation

# Patch by Lucas Nealan, Arnaud Le Blanc, Brian Shire & Ilia Alshanetsky

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

Add options to debug_backtrace functions

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

- Year++

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

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

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

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

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

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

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

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

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

- Added scalar typehinting.

# cd6415f1 22-Apr-2010 Stefan Marr <gron@php.net>

Implemented Traits for PHP as proposed in the RFC [TRAITS]

# RFC http://wiki.php.net/rfc/horizontalreuse#traits_-_reuse_of_behavior
# Ok, here we go, I guess that will result in more discussion, which is fine
# by me. But now, the patch is here, and properly archived.
#
# See below a list of notes to the patch, it also includes a list of
# points which should be fixed
#
# Internals of the Traits Patch
# -----------------------------
#
# Open TODOs
# """"""""""
#
# - Reflection API
# - support for traits for internal classes
# - currently destroy_zend_class does not handle that case
#
# Introduced Structures
# """""""""""""""""""""
#
# Data structures to encode the composition information specified in the
# source:
# - zend_trait_method_reference
# - zend_trait_precedence
# - zend_trait_alias
#
# Changes
# """""""
#
# zend_class_entry
# - uses NULL terminated lists of pointers for
# - trait_aliases
# - trait_precedences
# - do you prefer an explicit counter?
# - the information is only necessary during class composition
# but might be interesting for reflection
# - did not want to blow up class further with not really necessary length counters
#
# added keywords
# - trait
# - insteadof
#
# Added opcodes
# ZEND_ADD_TRAIT
# - similar to ZEND_ADD_INTERFACE
# - adds the trait to the list of traits of a class, no actual composition done
# ZEND_BIND_TRAITS
# - emitted in zend_do_end_class_declaration
# - concludes the class definition and will initiate the trait composition
# when the class definition is encountered during runtime
#
# Added Flags
# ZEND_ACC_TRAIT = 0x120
# ZEND_ACC_IMPLEMENT_TRAITS = 0x400000
# ZEND_FETCH_CLASS_TRAIT = 14
#
# zend_vm_execute.h
# - not sure whether the handler initialization (ZEND_ADD_TRAIT_SPEC_HANDLER,
# ZEND_BIND_TRAITS_SPEC_HANDLER) is correct, maybe it should be more selective
#
# zend_compile.c
# - refactored do_inherit_method_check
# split into do_inherit_method_check and do_inheritance_check_on_method
# - added helper functions use a '_' as prefix and are not mentioned in the
# headers
# - _copy_functions
# prepare hash-maps of functions which should be merged into a class
# here the aliases are handled
# - _merge_functions
# builds a hash-table of the methods which need to be added to a class
# does the conflict detection
# - reused php_runkit_function_copy_ctor
# - it is not identical with the original code anymore, needed to update it
# think I fixed some bugs, not sure whether all have been reported back to runkit
# - has to be renamed, left the name for the moment, to make its origin obvious
# - here might be optimization potential
# - not sure whether everything needs to be copied
# - copying the literals might be broken
# - added it since the literals array is freed by efree and gave problems
# with doubled frees
# - all immutable parts of the zend_op array should not be copied
# - am not sure which parts are immutable
# - and not sure how to avoid doubled frees on the same arrays on shutdown
# - _merge_functions_to_class
# does the final merging with the target class to handle inherited
# and overridden methods
# - small helper for NULL terminated lists
# zend_init_list, zend_add_to_list
#
# zend_language_parser.y
# - reused class definition for traits
# - there should be something with regard to properties
# - if they get explicitly defined, it might be worthwhile to
# check that there are no collisions with other traits in a composition
# (however, I would not introduce elaborate language features to control that
# but a notice for such conflicts might be nice to the developers)

# e87d7200 22-Apr-2010 Dmitry Stogov <dmitry@php.net>

Optimized access to global constants using values with pre-calculated hash_values from litersls table

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

Updated version numbers

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

Added a number of small performance tweaks and optimizations
. ZEND_RECV now always has IS_CV as its result
. ZEND_CATCH now has to be used only with constant class names
. ZEND_FETCH_DIM_? may fetch array and dimension operans in a different order

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

# e0f91992 30-Mar-2010 Johannes Schlüter <johannes@php.net>

Add some const declarations, makes C++ extension writers happy

# 15e31de0 15-Jan-2010 Rasmus Lerdorf <rasmus@php.net>

Fix gcc version check - bug #50771

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

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

# a94558c8 08-Dec-2009 Felipe Pena <felipe@php.net>

- Added MAKE_COPY_ZVAL(ppzv, pzv) macro

# d1988534 06-Sep-2009 Pierre Joye <pajoye@php.net>

- revert last commit, breaks the build and needs test case(s)

# e3c94d50 06-Sep-2009 Moriyoshi Koizumi <moriyoshi@php.net>

- Fix leaks.

# c54f6df9 06-Aug-2009 Scott MacVicar <scottmac@php.net>

Fix bug #48575 - Use dlopen() just like all the other *nixes instead of OSX specific code.

# a7cc9e72 17-Jun-2009 Rasmus Lerdorf <rasmus@php.net>

Need the gcc version check here too

# 04f5d7c9 05-Jun-2009 Rasmus Lerdorf <rasmus@php.net>

There is no always_inline attribute in gcc2

# 95ef46c0 01-Jun-2009 Nuno Lopes <nlopess@php.net>

fix compiler warnings by moving all std includes after include of zend_config.h.
this also fixes the build with stricter compilers than gcc (like clang)

# 2403a580 01-Jun-2009 Arnaud Le Blanc <lbarnaud@php.net>

MFH: better fix for #48409 , #48428 , #48228

# 6bb0ac97 18-Mar-2009 Matt Wilmas <mattwil@php.net>

MFH: Fixed bug #45877 (Array key '2147483647' left as string)

# d3d02fbc 18-Feb-2009 Dmitry Stogov <dmitry@php.net>

Fixed zend_print_zval_r_ex() to use the write callback function

# 2faea53d 31-Dec-2008 Marcus Boerger <helly@php.net>

- Sync with HEAD, no ability to not start builtin functions

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

MFH: Bump copyright year, 3 of 3.

# 1b4134c0 11-Nov-2008 Stanislav Malyshev <stas@php.net>

Namespace resolution streamlining patch
[DOC] new resolution rules should be documented soon

# 85ab4235 15-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Removed some TSRMLS_FETCH()s

# cf7384aa 12-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Constness (Added const qualifier to several function parameters)

# 106864bc 11-Aug-2008 Marcus Boerger <helly@php.net>

- MFH Fix memleak with new error handling stack'ing

# 3f7a4b7e 08-Aug-2008 Marcus Boerger <helly@php.net>

- MFH error handling, now with save, replace, restore

# d5ef2f46 14-Jul-2008 Dmitry Stogov <dmitry@php.net>

Added support for lambda functions and closures

# 148463cc 27-Jun-2008 Stanislav Malyshev <stas@php.net>

enable on MSVC too

# 019fd806 27-Jun-2008 Stanislav Malyshev <stas@php.net>

allow deprecating engine functions

# 76a9a42e 11-Jun-2008 Dmitry Stogov <dmitry@php.net>

- Removed direct executor recursion.
- Use fastcall calling convention in executor on x86.

# 10afe5d9 18-Mar-2008 Rasmus Lerdorf <rasmus@php.net>

Make the sigsetjmp change more robust. On systems that don't have
sigsetjmp use setjmp. Windows is of course weird in that it seems to
have sigsetjmp but not sigjmp_buf (??) so force it to use setjmp in
config.w32.h.in

# c9e0781d 18-Mar-2008 Rasmus Lerdorf <rasmus@php.net>

Use sigsetjmp and siglongjmp instead of setjmp/longjmp in order to be
consistent in how we deal with the signal mask. POSIX doesn't specify
what to do with the signal mask in setjmp/longjmp which has resulted in
the signal mask getting saved on *BSD and not getting saved on Linux.
Making the behaviour explicit via sigsetjmp/siglongjmp gives us
consistency and saves expensive sigprocmask() syscalls on *BSD.

# fd0d44f0 08-Mar-2008 Felipe Pena <felipe@php.net>

User error handlers no longer catch supressed errors (patch by Etienne Kneuss)

# ab232458 05-Mar-2008 Dmitry Stogov <dmitry@php.net>

Optimized require_once() and include_once() by eliminationg open() syscall on second usage.

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

# 70bf5468 23-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed compilation on Windows

# 4ab8d46d 23-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed definitions

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

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

# caa15f02 21-Nov-2007 Dmitry Stogov <dmitry@php.net>

Macro definitions are moved to zend.h

# 10f6cd5c 20-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed compilation on some systems (Wez)

# b4892511 02-Nov-2007 Jani Taskinen <jani@php.net>

- MFH from HEAD:
. Folding tags
. Parameter parsing
. SPL debug info
. array function improvements (not all yet)
. Improvements to function calling with call_user_* functions
. Improvements to debugging info in var_dump/print_r
# I propably forgot already something but this all was pretty close tied
# to each other so it wasn't possible to do it in parts.

# f10766f1 02-Nov-2007 Dmitry Stogov <dmitry@php.net>

Reimplemented support for namespaces in indexes id constant arrays (removed zval.idx_type)

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

MFH: Added macros for managing zval refcounts and is_ref statuses

# 220641af 02-Oct-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #42819 (namespaces in indexes of constant arrays)

# 72d0454b 29-Sep-2007 Dmitry Stogov <dmitry@php.net>

Added support for __callstatic() magic method (missing part). (Sara)

# b20ed0d2 29-Sep-2007 Dmitry Stogov <dmitry@php.net>

Added support for __callstatic() magic method. (Sara)

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

# a748ada2 27-Sep-2007 Sebastian Bergmann <sebastian@php.net>

Bump version.

# c9f6d594 23-Jul-2007 Jani Taskinen <jani@php.net>

MFH: - Fixed buf #42071 (ini scanner allows using NULL as option name).
MFH: Use Z_* macros to access the zvals.

# 3c6d2617 26-Apr-2007 Antony Dovgal <tony2001@php.net>

MFH: fix build on Tru64

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

MFH: Bump year.

# 806bc4e1 14-Sep-2006 Dmitry Stogov <dmitry@php.net>

Reinamed variables to avoid name conflicts

# f5543a42 07-Aug-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #38287 (static variables mess up global vars)

# f1fb77d1 11-Jun-2006 Ilia Alshanetsky <iliaa@php.net>

Make zend_print_zval_r_ex() use the write callback function.

# 14f6b914 19-May-2006 Dmitry Stogov <dmitry@php.net>

Optimized zend_try/zend_catch macroses (eliminated memcpy())

# ec7b8e2b 12-May-2006 Sebastian Bergmann <sebastian@php.net>

Bump version.

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

# 0fab5aac 30-Mar-2006 Antony Dovgal <tony2001@php.net>

fix compilation on AIX

# 9d6e4964 14-Mar-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #36568 (memory_limit setting on win32 has no effect)

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

- Update copyright notices to 2006

# eb99c745 20-Dec-2005 Marcus Boerger <helly@php.net>

- MFH move zend_object_Value definition to zend_types.h

# 0a5d10a5 30-Nov-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #35373 (HP-UX "alias not allowed in this configuration")

# 0b9f9de0 26-Nov-2005 Ilia Alshanetsky <iliaa@php.net>

No longer dev

# 350aec95 25-Nov-2005 Antony Dovgal <tony2001@php.net>

MFH: ICC doesn't support __attribute__ for pointers

# 64931b62 15-Nov-2005 Dmitry Stogov <dmitry@php.net>

Allow recursive calls to __get/__set for different properties

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

Support for class constants and static members for internal classes

# eeecc8a0 09-Aug-2005 Andi Gutmans <andi@php.net>

- No release today. Found a critical bug...

# 01d8e59d 09-Aug-2005 Andi Gutmans <andi@php.net>

- RC1

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

Bump up the year

# bdf2753e 14-Jul-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# a007ddb1 14-Jul-2005 Andi Gutmans <andi@php.net>

- Beta 3

# f030fe2f 12-Jul-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# 897818e1 12-Jul-2005 Andi Gutmans <andi@php.net>

- Beta 3

# 345e0255 07-Jul-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods)

# ec92bb88 23-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# fe238490 23-Jun-2005 Andi Gutmans <andi@php.net>

- Beta 2

# da201c1b 21-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev. Guys (n' Girls), give at least 1 hour before you start
- complaining about not going back to -dev. I like checking the tarball
- before I change it back.

# 9bf68ef6 21-Jun-2005 Andi Gutmans <andi@php.net>

- Take #3 :)

# cf0c7a9f 20-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# fd3d8e95 20-Jun-2005 Andi Gutmans <andi@php.net>

- Beta 2

# aedbdb08 16-Jun-2005 Dmitry Stogov <dmitry@php.net>

Allowed return by refrence from internal functions

# 47676bc0 15-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed OS X compatibility

# cec2347c 13-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol 'zend_error').
The fix is not tested on Solaris and DARWIN!

# 16bbd70c 11-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# e0787f3d 11-Jun-2005 Andi Gutmans <andi@php.net>

- b2 (will post it to internals@)

# 0638c657 10-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# 3b1f8e9a 10-Jun-2005 Andi Gutmans <andi@php.net>

- Go with 5.1.0b1

# 757da1ee 07-Mar-2005 Marcus Boerger <helly@php.net>

- New Interface Serializeable
- Change signature of unserialize() callback to ease inheritance and
support code reuse of handlers

# 5b98a092 23-Feb-2005 Stanislav Malyshev <stas@php.net>

Custom object serializer infrastructure
# The detailed announce on the list will follow

# 8eb3b715 22-Feb-2005 Anantha Kesari H Y <hyanantha@php.net>

NetWare can include autoconf generated config headers

# fd4fe1c8 02-Feb-2005 Dmitry Stogov <dmitry@php.net>

Fixed bugs #29767 and #31683 (__get and __set methods must not modify property name).

# 601140cb 25-Jan-2005 foobar <sniper@php.net>

New versions of glibc support a RTLD_DEEPBIND flag to dlopen. The
effect of this flag when loading a "foo.so" with undefined symbols is
that the search that symbol starts at foo.so and its dependencies
*before* the loading process' global symbol table.

This is an effective workaround for symbol namespace collisions between
various modules and the libraries on which they depend (where fixing the
respective modules or libraries is not possible e.g. due to API
constraints).

(By: Joe Orton)

# 2c65e09a 20-Jan-2005 foobar <sniper@php.net>

- Revert the weird change of ZEND_STRS() macro and use the correct
ZEND_STRL() macro.
# ZEND_STRS was changed to be same as ZEND_STRL..someone on crack? :)

# 2a3ca10a 10-Jan-2005 Rasmus Lerdorf <rasmus@php.net>

Fix OSX DL_UNLOAD macro and actually use it to make shared extensions
work on OSX.

# a139dbf9 09-Jan-2005 foobar <sniper@php.net>

- Fix outside-source-tree builds. Always include generated header files
with #include <some_header.h> to make sure the correct file is used.

# ae78d7d4 03-Nov-2004 Moriyoshi Koizumi <moriyoshi@php.net>

- Checks for Darwin'ish systems that uses Mach-O, which apparently doesn't
support weak symbol aliasing at this time.

# 4b10a256 30-Oct-2004 Marcus Boerger <helly@php.net>

Bump version (as discussed with Andi)

# e0ec7c98 26-Sep-2004 Marcus Boerger <helly@php.net>

- Fix build

# f17aa81e 26-Sep-2004 Andi Gutmans <andi@php.net>

- Apply Thies and Sterling's patch which doesn't call ctor/dtor functions
- for types which don't require it (BOOL/NULL/LONG/DOUBLE)
- Breaks serialization!!!

# ff40ceab 22-Sep-2004 Anantha Kesari H Y <hyanantha@php.net>

defined ZEND_PATHS_SEPERATOR to semicolon for NetWare

# 85a36e2b 05-Sep-2004 Zeev Suraski <zeev@php.net>

Fix reverse dependency

# 7d80f82e 28-Jul-2004 Andi Gutmans <andi@php.net>

- Fix MAC OSX to always use native DSO loading

# 0cd2da03 25-Jul-2004 Marcus Boerger <helly@php.net>

- Execute destructors earlier (Florian Schaper, fschaper at intux org)

# 56f8195f 19-Jul-2004 Andi Gutmans <andi@php.net>

- Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
STR_FREE() and zval_dtor() always have to check for it and it slows down
the general case. In addition, it seems that empty_string has been abused
quite a lot, and was used not only for setting zval's but generally in
PHP code instead of "", which wasn't the intention. Last but not least,
nuking empty_string should improve stability as I doubt every place
correctly checked if they are not mistakenly erealloc()'ing it or
calling efree() on it.
NOTE: Some code is probably broken. Each extension maintainer should
check and see that my changes are OK. Also, I haven't had time to touch
PECL yet. Will try and do it tomorrow.

# c18badbf 13-Jul-2004 Andi Gutmans <andi@php.net>

- 5.0.1-dev

# 399e2ca6 13-Jul-2004 Andi Gutmans <andi@php.net>

- Roll PHP 5.0.0

# 0bdbbd37 07-Jun-2004 Andi Gutmans <andi@php.net>

- Go back to -dev (Shouldn't need another RC)

# 6f471562 07-Jun-2004 Andi Gutmans <andi@php.net>

- Roll RC3

# 02032ccf 03-Jun-2004 Andi Gutmans <andi@php.net>

- Prepare for RC3RC2

# e51105c6 27-May-2004 Andi Gutmans <andi@php.net>

- Back to RC3-dev until we roll final

# 5a9d648f 27-May-2004 Andi Gutmans <andi@php.net>

- RC3RC1

# 87a9f7bd 25-Apr-2004 Andi Gutmans <andi@php.net>

- RC3-dev

# 94c44ea9 25-Apr-2004 Andi Gutmans <andi@php.net>

- RC2

# 206f0da2 21-Apr-2004 Andi Gutmans <andi@php.net>

- RC2-dev

# 40c20d3d 21-Apr-2004 Andi Gutmans <andi@php.net>

- Prepare for RC2RC2 (if everything is OK especially Zeev's interface
- patch I'll roll RC2 tomorrow).

# 245dd736 14-Apr-2004 Andi Gutmans <andi@php.net>

- RC2-dev

# acc4cd17 14-Apr-2004 Andi Gutmans <andi@php.net>

- RC2RC1

# 1c7cfe73 03-Apr-2004 Andi Gutmans <andi@php.net>

- Nuke code which hasn't been in use for ages.

# 52303217 30-Mar-2004 Marcus Boerger <helly@php.net>

- Fix Reflection class names
- Add ability to get the extension an internal class was defined in
# This is the patch Andi and me used to search for underscrores...

# 81400030 18-Mar-2004 Andi Gutmans <andi@php.net>

- Back to RC2-dev

# aac5c1f6 18-Mar-2004 Zeev Suraski <zeev@php.net>

Prepare to roll RC1

# 6535933f 16-Mar-2004 Derick Rethans <derick@php.net>

- Replaced the exec_finished hook by the zend_post_deactive hook for
extensions. The new hook will be run after the symbol table and destructors
are run. (Derick)

# b74128db 16-Mar-2004 Sascha Schumann <sas@php.net>

Enable ptr format check for GCC 3.1 and higher

# 365f0120 16-Mar-2004 Ilia Alshanetsky <iliaa@php.net>

Do not allow 3.0.4 for __attribute__.

# fa5f5271 16-Mar-2004 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #27600 (GCC 3.0.4 does not like __attribute__ directive)

# 97f81830 15-Mar-2004 foobar <sniper@php.net>

- Fixed bug #24582 (extensions can not be loaded dynamically in Solaris/iPlanet)

# 494d8207 09-Mar-2004 Marcus Boerger <helly@php.net>

No longer needed

# 1727c6a2 20-Feb-2004 Hartmut Holzgraefe <hholzgra@php.net>

more EXTERN_C wrapping of ZEND_API prototypes

# 3a3f95a3 18-Feb-2004 Hartmut Holzgraefe <hholzgra@php.net>

wrap ZEND_API prototypes into BEGIN_EXTERN_C/END_EXTERN_C
for C++ extension support

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

# e94e3e17 14-Dec-2003 Zeev Suraski <zeev@php.net>

Some cleanup

# e2012609 11-Dec-2003 Ilia Alshanetsky <iliaa@php.net>

Fixed extra byte allocation for TRUE/FALSE/ZEND_THREAD_SAFE/NULL constants.

# 3c62b3b5 22-Oct-2003 Marcus Boerger <helly@php.net>

Expand Interface C API.
In short: zend_class_entry->interface_gets_implemented() allows to modify
the class entry of a class when an interface gets implemented.

# b0b82541 18-Oct-2003 Marcus Boerger <helly@php.net>

Fix class/iterator relationship & handling

# 25aa8b71 17-Oct-2003 Marcus Boerger <helly@php.net>

Added c-api for iterators
# After 4 Month work and endless discussions...

# 149f7860 03-Oct-2003 Moriyoshi Koizumi <moriyoshi@php.net>

Bug #25738 (alloca() related problems on the Darwin platform)

# 1c86e532 14-Sep-2003 Marcus Boerger <helly@php.net>

Bugfix #25528 (by Ard Biesheuvel)

# d45fd8a1 31-Aug-2003 Marcus Boerger <helly@php.net>

Make vspprintf available as zend utility function. Use it in exception output.

# 744c68e4 28-Aug-2003 Sascha Schumann <sas@php.net>

older gccs don't understand attribute((format)) on function pointers

# 83bd1f43 28-Aug-2003 Sascha Schumann <sas@php.net>

ZEND_GCC_VERSION should always be defined to a number so we can use
simple comparisons all the time.

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

Add format attribute to a number of functions

Kill a few warnings

# 169d43e5 28-Aug-2003 Sascha Schumann <sas@php.net>

cleanup & centralize ZEND_GCC_VERSION and ZEND_ATTRIBUTE_MALLOC so that
they can be used by downstream applications

# 28447d62 25-Aug-2003 foobar <sniper@php.net>

- Fixed bug #25240 (spaces before pre-processor directives)

# 49c4866a 18-Aug-2003 Zeev Suraski <zeev@php.net>

- Improve tracking
- Fix several overloading issues

# 602d1b00 17-Aug-2003 Sascha Schumann <sas@php.net>

One bit fields need to be unsigned, otherwise there is no storage for
the sign bit

"A signed bit field has a length of 1 bit."

# fe9b5870 04-Aug-2003 Zeev Suraski <zeev@php.net>

Add logical XOR, proves to be quite useful lately

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

# 2fd4ffce 30-Jul-2003 Zeev Suraski <zeev@php.net>

Add exec_finished() callback for modules - this is the last place where the
modules may touch the symbol table reliably

# 237116aa 23-Jul-2003 Stanislav Malyshev <stas@php.net>

Remove namespace leftovers

# aad79769 19-Jul-2003 foobar <sniper@php.net>

Fix the HPUX alloca fix as suggested by Sascha

# 99d0a5c8 19-Jul-2003 Andi Gutmans <andi@php.net>

- Don't use alloca on HP-UX (Moriyoshi Koizumi <moriyoshi@at.wakwak.com>)

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

updating license information in the headers.

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

# bfaf618b 18-Apr-2003 Derick Rethans <derick@php.net>

- Revert my symbol fix patch, and merge in Stas' fixes to Zend Engine 1.

# bd77233e 18-Apr-2003 Derick Rethans <derick@php.net>

- MacOSX also prepends the _ before symbols in bundles

# 5657b836 31-Mar-2003 Andrei Zmievski <andrei@php.net>

Multi-purpose patch:
- The fields of zend_namespace were not completely initialized which
led to a variety of problems.
- The occurrence of class/interface/namespace definition is now
captured.
- Functions/classes/interfaces/namespaces can be preceded by doc
comments which are stored for use by extensions.

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

Add support for interfaces

# 955636af 18-Feb-2003 Zeev Suraski <zeev@php.net>

Avoid using a C++ reserved word

# e52aac94 18-Feb-2003 Wez Furlong <wez@php.net>

Implement simple stream support in the ZE scanners.

# a4c3b2ce 16-Feb-2003 Stanislav Malyshev <stas@php.net>

Namespace patch. Big changes:
1. Nested classes are gone.
2. New syntax for namespaces:
namespace foo {
class X { ... }
function bar { ... }
var x = 1;
const ZZ = 2;
}
3. Namespaced symbol access: $x = new foo::X; - etc.
For now, namespaces are case insensitive, just like classes.
Also, there can be no global class and namespace with the same name
(to avoid ambiguities in :: resolution).

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

Centralize class initialization

# 17439aa9 05-Feb-2003 Zeev Suraski <zeev@php.net>

Rework static class properties - now supports access restrictions

# 471947b1 04-Feb-2003 Zeev Suraski <zeev@php.net>

Reimplement PPP properties

# 31196cf6 02-Feb-2003 Zeev Suraski <zeev@php.net>

whitespace

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

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

# 7431b522 15-Jan-2003 Sascha Schumann <sas@php.net>

Revert commit which turned the lengths of strings into zend_uint.

# d48ffd97 12-Jan-2003 Stanislav Malyshev <stas@php.net>

RIP handle_* functions. ZE2 will use __ handlers instead.
# Yes, I know this will break some things. I will fix those I can find shortly.

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

ZTS fixes.

# 24d03425 08-Jan-2003 James Cox <imajes@php.net>

cvs is dev not alpha.

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

Bump year.

# e062dffe 06-Dec-2002 Zeev Suraski <zeev@php.net>

- Implement public/protected/private methods.
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.

# 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

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

MFZE1 - error_reporting fix

# 32e8ee9b 11-Nov-2002 Ilia Alshanetsky <iliaa@php.net>

MFZE1

# bd115087 19-Sep-2002 Zeev Suraski <zeev@php.net>

MFZE1 - connection_status() fix

# 711be83d 17-Sep-2002 Zeev Suraski <zeev@php.net>

MFZE1 - threading fix

# e3ca0ff0 08-Sep-2002 Andi Gutmans <andi@php.net>

- Prepare for alpha 3

# d8651c82 04-Sep-2002 Stanislav Malyshev <stas@php.net>

Support for __get, __set and __call in classes.
This should work as follows: if class hasn't member with given name,
__get/__set is called. If class has no method with given name, __call is called.
__get/__set are not recursive, __call can be.

# e801a99a 03-Sep-2002 Zeev Suraski <zeev@php.net>

MFZE1

# cfad3c66 03-Sep-2002 Sebastian Bergmann <sebastian@php.net>

Add html_errors to zend_utility_values. Patch by Jan Lehnardt <jan@php.net>.

# 88d3154b 13-Aug-2002 Zeev Suraski <zeev@php.net>

MFZE1

# 0650a59a 18-Jul-2002 Derick Rethans <derick@php.net>

- MFZE1 - MacOSX fixes by Marko Karppinen

# bc5ea87e 15-Jul-2002 Andi Gutmans <andi@php.net>

- Commit patch to support protected member variables (by Timm Friebe w/
- some fixes by me).
- You can't access protected variables from outside the object. If you want
- to see a protected member from your ancestors you need to declare the
- member as protected in the class you want to use it in. You can't
- redeclare a protected variable as private nor the other way around.

# f24cb973 29-Jun-2002 Andi Gutmans <andi@php.net>

- Get ready for alpha2

# 6339bd59 29-Jun-2002 Andi Gutmans <andi@php.net>

- Fix bug 15037
- Bump version to alpha2-dev

# ba72dbf3 24-Jun-2002 Andi Gutmans <andi@php.net>

- MFZE1

# 90f43c78 08-Jun-2002 Andi Gutmans <andi@php.net>

- This should improve performance on Windows

# bc95839f 30-May-2002 Venkat Raghavan S <rvenkat@php.net>

NetWare changes

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

# 51e797f1 23-Apr-2002 Harald Radi <phanto@php.net>

some type cleanup work

# a68b4481 07-Apr-2002 Stanislav Malyshev <stas@php.net>

make compatible with current PHP

# d5e64b22 20-Mar-2002 Harald Radi <phanto@php.net>

added thread safe hashtable which allows concurrent
reads but only exclusive writes

# a990c4da 19-Mar-2002 Andi Gutmans <andi@php.net>

- Finish covering all parsed methods to check for validity in parser.
- Change zval's refcount to zend_uint (If it doesn't slow down the Engine
- too much it should probably stay this way). If anyone has time to test
- the difference in speed between zend_ushort & zend_uint in zend.h of
- the struct _zval_struct (one line change) I'd be glad to get some
- figures.

# 0ee65254 12-Mar-2002 Andi Gutmans <andi@php.net>

- Forgot to close comment.

# 9760fdcb 12-Mar-2002 Andi Gutmans <andi@php.net>

- Macro for duality between Engine 1 and 2

# fb6976e4 12-Mar-2002 Andi Gutmans <andi@php.net>

- Another couple of indirection fixes.
- Make class_entry->refcount be part of the structure and not allocated.

# 92dd5e61 12-Mar-2002 Stanislav Malyshev <stas@php.net>

- make class tables contain class_entry *, not class_entry
- fix isset($this)

# 00e90f2f 21-Feb-2002 Andi Gutmans <andi@php.net>

- Experimental support for private members.
<?
class MyClass {
private $Hello = "Hello, World!\n";

function printHello()
{
print $this->Hello;
}
}

class MyClass2 extends MyClass {
function printHello()
{
MyClass::printHello(); /* Should print */
print $this->Hello; /* Shouldn't print out anything */
}
}

$obj = new MyClass();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello(); /* Should print */

$obj = new MyClass2();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello();
?>

# cefbdccb 14-Feb-2002 Stanislav Malyshev <stas@php.net>

Pass TSRM to create_object

# 6608f073 07-Feb-2002 Stanislav Malyshev <stas@php.net>

Mega-commit: Enter the new object model
Note: only standard Zend objects are working now. This is definitely going to
break custom objects like COM, Java, etc. - this will be fixed later.
Also, this may break other things that access objects' internals directly.

# 62dc854b 06-Jan-2002 Sebastian Bergmann <sebastian@php.net>

Happy New Year.

# 8a0c756c 29-Dec-2001 Andi Gutmans <andi@php.net>

- #define to help #ifdef stuff in PHP sources to make them work w/ ZE1 and
- 2

# 73b159e0 27-Dec-2001 Andi Gutmans <andi@php.net>

- Experimental support for destructors. We need to see if destructors
- will actually work well in the context of PHP so we should consider this
- as experimental. Possible problems might be that when the constructor is
- run PHP might not be in a stable state.

# 29ea3da2 26-Dec-2001 Andi Gutmans <andi@php.net>

- Pretty much finish _clone() support

# f4b832d2 13-Dec-2001 Andi Gutmans <andi@php.net>

- Fix crash bug in startup code.
- Start work on being able to reference global and local scope

# 74efc41f 12-Dec-2001 Andi Gutmans <andi@php.net>

- Make classes have scope and function/constant lookups default to the class

# 4cb97fa3 11-Dec-2001 Andi Gutmans <andi@php.net>

- Rename zend_class_entry.constants -> zend_class_entry.constants_table

# d863d52a 11-Dec-2001 Sebastian Bergmann <sebastian@php.net>

Update headers.

# 4345f8a0 11-Dec-2001 Sebastian Bergmann <sebastian@php.net>

MFZE1 (AIX fixes)

# 3bfee898 10-Dec-2001 Andi Gutmans <andi@php.net>

- More namespaces work.
- Nuke memory leak.

# e858d278 30-Nov-2001 Andi Gutmans <andi@php.net>

- Initial support for class constants. There are still a few semantic
- issues which need to be looked into but basically it seems to work.
- Example:
<?php
class foo
{
const hey = "hello";
}

print foo::hey;
?>

# d2da63f6 25-Nov-2001 Andi Gutmans <andi@php.net>

- Support static members. The following script works:
<?
class foo
{
class bar
{
function init_values()
{
for ($i=1; $i<10; $i++) {
foo::bar::$hello[$i] = $i*$i;
}
}

function print_values()
{
for ($i=1; $i<10; $i++) {
print foo::bar::$hello[$i] . "\n";
}
}
}
}

foo::bar::init_values();
foo::bar::print_values();

for ($i=1; $i<10; $i++) {
print $hello[$i]?"Shouldn't be printed\n":"";
}
?>

# 48e54e0c 03-Nov-2001 Andi Gutmans <andi@php.net>

- RISC OS patch by Alex Waugh

# b87194e0 03-Nov-2001 Andi Gutmans <andi@php.net>

- Add constructor to the zend_class_entry instead of looking it up each
- time by name.
- This will allow the next patch of being able to instantiate nested
- classes such as new foo::bar::barbara();

# 26578c38 29-Oct-2001 Andi Gutmans <andi@php.net>

- Initial support for nested class definitions

# 2eabb14d 30-Sep-2001 Andi Gutmans <andi@php.net>

- Merge the NAMESPACES_BRANCH. It wasn't a good idea to have a branch when
- the whole CVS tree is work in progress

# 2a0a07b8 26-Aug-2001 Stanislav Malyshev <stas@php.net>

Add dlsym underscore detection, by Jani Taskinen

# 718f323e 19-Aug-2001 Andi Gutmans <andi@php.net>

- Fix compile problem

# ea48c0c4 16-Aug-2001 Andi Gutmans <andi@php.net>

- Fix a bug in method calls.
- Try to get the old copying behavior of objects to work (doesn't work yet).

# 4f6c95d1 11-Aug-2001 Zeev Suraski <zeev@php.net>

Whitespace

# f5ea49a6 11-Aug-2001 Andi Gutmans <andi@php.net>

- For Sebastian. Will allow to see you're using the Engine 2 CVS via
phpinfo()

# 2f6cd308 08-Aug-2001 Andi Gutmans <andi@php.net>

- Merge zend_try fix from Engine 1

# 5af7770a 07-Aug-2001 Andi Gutmans <andi@php.net>

- Sync Engine2 CVS with latest Engine CVS

# d76cf1da 31-Jul-2001 Zeev Suraski <zeev@php.net>

More TSRMLS_FETCH work

# b40db64d 28-Jul-2001 Andi Gutmans <andi@php.net>

- Small patch to allow fixing the PHP tree to be compatible w/ the initial
- Zend 2 objects patch. Hopefully I can commit that this week.

# b4f3b9d3 28-Jul-2001 Zeev Suraski <zeev@php.net>

Redesigned thread safety mechanism - nua nua

# 6be787a9 28-Jul-2001 Sascha Schumann <sas@php.net>

Fix build

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

# ef4fe54f 21-Jul-2001 Zeev Suraski <zeev@php.net>

Always track bailout file/lineno

# 931ebe08 21-Jul-2001 Zeev Suraski <zeev@php.net>

Improve bailout mechanism, supports nesting of bailouts a-la try..catch

# fb532ba5 16-Jul-2001 Zeev Suraski <zeev@php.net>

Fix bug #10467

# 12db900a 24-Jun-2001 Andi Gutmans <andi@php.net>

- Bump Zend version

# 996e9a72 11-May-2001 Sascha Schumann <sas@php.net>

add missing closing paranthesis

# 62cc5c9c 01-May-2001 Andi Gutmans <andi@php.net>

- Bump up Zend version

# 4e71bbed 28-Apr-2001 Zeev Suraski <zeev@php.net>

include limits.h if available

# b87bac78 28-Apr-2001 Zeev Suraski <zeev@php.net>

Fix bug 5661

# 0971ff99 27-Apr-2001 Andi Gutmans <andi@php.net>

- Whitespace changes to be standard like the rest of Zend

# d2c9e807 26-Feb-2001 Andi Gutmans <andi@php.net>

- Update copyright year

# e4f4983c 14-Feb-2001 Stanislav Malyshev <stas@php.net>

allow more extensions with resources

# 3353ad7e 21-Jan-2001 Andi Gutmans <andi@php.net>

- Make people happy who like the Zend version number bumped up in parallel
with PHP.

# 0e08845e 15-Jan-2001 Zeev Suraski <zeev@php.net>

Add free_estring()

# 903018ef 07-Jan-2001 Zeev Suraski <zeev@php.net>

- Remove backward dependency from PHP -> Zend
- Rename get_ini_entry() as get_configuration_directive() for clarity
(it doesn't use the INI subsystem, but the module-supplied function for
retrieving configuration directives)

# 6b23ef6c 03-Jan-2001 Zeev Suraski <zeev@php.net>

Commit missing declaration

# 35f4826f 20-Nov-2000 Stanislav Malyshev <stas@php.net>

Add macro to replace value of zval with another value while preserving
referencing structure

# 84f81c50 11-Oct-2000 Zeev Suraski <zeev@php.net>

Update version

# e7f10a41 29-Aug-2000 Andi Gutmans <andi@php.net>

- Update Zend version.

# fcdc025d 04-Aug-2000 Andi Gutmans <andi@php.net>

- Beautify code. Try and use more macros for splitting instead of
- replicating the code everywhere.

# 1cce5ed1 08-Jul-2000 Andi Gutmans <andi@php.net>

- Add zend_ulong

# b982307d 02-Jul-2000 Sascha Schumann <sas@php.net>

Change header protection macros to conform to standard.

Draft 3 of IEEE 1003.1 200x, "2.2 The Compilation Environment"

All identifiers that begin with an underscore and either an uppercase
letter or another underscore are always reserved for any use by the
implementation.

# f34b9d41 29-Jun-2000 Zeev Suraski <zeev@php.net>

Add $context argument to error handler

# 38602546 28-Jun-2000 Andi Gutmans <andi@php.net>

version update

# 8e45536c 26-Jun-2000 Zeev Suraski <zeev@php.net>

Make it possible to detect whether we're thread safe or not from PHP scripts and the php.ini
file

# 536221be 18-Jun-2000 Stanislav Malyshev <stas@php.net>

Make error callback be publicly accessible

# 968d2c5b 12-Jun-2000 Zeev Suraski <zeev@php.net>

Get rid of <?php_track_vars?>

# 98bf43f2 06-Jun-2000 Zeev Suraski <zeev@php.net>

Enable asp_tags/short_tags/allow_call_time_pass_by_reference to work on a per-directory
basis as well

# d4b160c0 03-Jun-2000 Zeev Suraski <zeev@php.net>

- Export normalize_bool
- This global/static syntax fix brought us back to the 4 documented conflicts

# 0b7a9cea 03-Jun-2000 Zeev Suraski <zeev@php.net>

- Fix Win32 compilation (Use winsock2.h from now on)
- Add lambda() support

# 8a8c3eaf 02-Jun-2000 Zeev Suraski <zeev@php.net>

Nuke the old error code, use the new one

# 898c8ead 31-May-2000 Zeev Suraski <zeev@php.net>

IS_BC isn't really being used, but still...

# 13b67621 31-May-2000 Zeev Suraski <zeev@php.net>

Fix a bug in static initializers/default values/class member variables that contained
array values

# cc590f49 21-May-2000 Andi Gutmans <andi@php.net>

- Get ready for release

# 0d6a794d 11-May-2000 Zeev Suraski <zeev@php.net>

Get rid of chval - it's really not necessary and seems to be confusing people

# 63b7056f 08-May-2000 Andi Gutmans <andi@php.net>

- Change Zend Engine version number

# b80b8381 27-Apr-2000 Zeev Suraski <zeev@php.net>

More error handling work (still completely disabled)

# a20e90ab 25-Apr-2000 Zeev Suraski <zeev@php.net>

We'll need two...

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

# e663d856 10-Apr-2000 Zeev Suraski <zeev@php.net>

Fix object overloading support

# 9df63e18 26-Mar-2000 Andi Gutmans <andi@php.net>

- Didn't see Thies' commit message although I can't really see how it would
make a difference

# b763b25c 26-Mar-2000 Andi Gutmans <andi@php.net>

- Include Andrea's fix for alloca.h

# 7ec4e5e2 26-Mar-2000 Thies C. Arntzen <thies@php.net>

<alloca.h> needs to be included before we define macros calling alloca()
atleast using SGI's cc - should not harm other platforms (i hope)

# 5dba4774 25-Mar-2000 Zeev Suraski <zeev@php.net>

- Some header dependencies cleanup
- Generalize zval_print() and zval_print_r()

# 1e4e9b34 25-Mar-2000 Sam Ruby <rubys@php.net>

RTLD_NOW => RTLD_LAZY|RTLD_GLOBAL

# 326f69f5 22-Mar-2000 Andi Gutmans <andi@php.net>

- Change Zend version as API has changed

# 13e74131 21-Mar-2000 Andi Gutmans <andi@php.net>

- Change zend_startup to accept a flag for starting builtin functions

# bf18f876 21-Mar-2000 Andi Gutmans <andi@php.net>

- Move #defines

# 8b807770 18-Mar-2000 Andi Gutmans <andi@php.net>

- Fix compile problem on FreeBSD

# 512ff32f 18-Mar-2000 Andi Gutmans <andi@php.net>

- No reason for refcount to be signed and move to zend_* typedefs

# 15dd8e61 15-Mar-2000 Zeev Suraski <zeev@php.net>

- Fix newly introduced problem reported by Sam Ruby

# e92f6f15 13-Mar-2000 Andi Gutmans <andi@php.net>

- define zend_uint and zend_uchar and use them in a few places

# fc173b6a 06-Mar-2000 Sam Ruby <rubys@php.net>

Unresolved externs

# 5e55e47f 06-Mar-2000 Zeev Suraski <zeev@php.net>

It's official now...

# 56251a72 05-Mar-2000 Zeev Suraski <zeev@php.net>

Wrap some commonly unused callbacks

# 0ac9536d 19-Feb-2000 Zeev Suraski <zeev@php.net>

(c) patch

# f1a2ee55 17-Feb-2000 Andi Gutmans <andi@php.net>

- Add ZEND_API

# 9b840c5f 16-Feb-2000 Andi Gutmans <andi@php.net>

- Hopefully fix Thies' bug report.

# 80bdd19e 11-Feb-2000 Zeev Suraski <zeev@php.net>

Fine tune Andi's patch

# b48eebb1 10-Feb-2000 Andi Gutmans <andi@php.net>

- #define ZEND_WIN32 differently

# bc5c9d8d 10-Feb-2000 Andi Gutmans <andi@php.net>

- Finally beautify those WIN32|WINNT checks

# f207b362 05-Feb-2000 Zeev Suraski <zeev@php.net>

Pass the executor globals to internal functions

# 9f51f154 05-Feb-2000 Zeev Suraski <zeev@php.net>

- Stop passing list/plist to internal functions
- Add a typedef for the pCopyConstructor function pointer
- Minor hacks

# 059b64ef 28-Jan-2000 Andi Gutmans <andi@php.net>

- Make sure its use is understood.

# c2305671 28-Jan-2000 Andi Gutmans <andi@php.net>

- Double the speed of some key switch() tests for Win32.

# fafbf6d8 24-Jan-2000 Zeev Suraski <zeev@php.net>

- Implement declare() with declarables framework
- Implement ticks - Germany&Norway - 5 points!

# f2493122 13-Jan-2000 Zeev Suraski <zeev@php.net>

Make Win32 compile again

# bf7b292d 12-Jan-2000 Sascha Schumann <sas@php.net>

Move dl stuff from acconfig.h into zend.h. That allows us finer control
when it comes to suppressing dlfcn.h.

# 44e9e959 04-Jan-2000 Andi Gutmans <andi@php.net>

- Rename IS_BC to FLAG_IS_BC. We will probably nuke it.

# b8cebe32 04-Jan-2000 Andi Gutmans <andi@php.net>

- Separate the overloaded objects' types from Zend's data types.
There is no reason for them to be the same, and IS_METHOD just cluttered
there data types.

# 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

# aec33aa7 26-Dec-1999 Zeev Suraski <zeev@php.net>

Introduce a zval-specific cache - 5-15% speed improvement

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

# 5ba5f00f 22-Dec-1999 Zeev Suraski <zeev@php.net>

export

# f0888cca 21-Dec-1999 Zeev Suraski <zeev@php.net>

Fix the highlighting problem. STR_REALLOC() should be used instead of plain erealloc()
whenever you're dealing with strings that might be coming back from the engine - there seem
to be a few other places like this in PHP.

# be1bb283 20-Dec-1999 Zeev Suraski <zeev@php.net>

- Fix the crash Thies was experiencing (returning a function call could cause a crash)
- Fix the leak Thies was experiencing (@fcall() leaked)

# 223c674c 19-Dec-1999 Zeev Suraski <zeev@php.net>

- Made things work again (Thies, everybody - please check the latest CVS and see if you're
still getting any problems)
- Changed the interface of call_user_function_ex() to support returning of references

# 213d0e2f 19-Dec-1999 Andi Gutmans <andi@php.net>

- More fixes related to the return references patch
- eval_string() and call_user_function_ex() still don't work.
- The libzend tree is untested and might not be stabl yet.

# a1ad2872 18-Dec-1999 Zeev Suraski <zeev@php.net>

- The tree compiles again

# 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

# ced9cee1 15-Dec-1999 Zeev Suraski <zeev@php.net>

- Implement return by reference:
- In function declaration instead of the return statement
- In the assignment phase
- Implement ability to turn off support for call-time pass by reference

# 9baad804 04-Dec-1999 Zeev Suraski <zeev@php.net>

- Break the zend->PHP dependency introduced by the .php extension for use(),
by providing an API
- Enable Stig's patch for use() extensions (it wasn't refered to by the parser)
- Fix a memory leak in that code

# 93536507 01-Dec-1999 Stig S. Bakken <stig@php.net>

Fix warnings surfacing in maintainer-mode.

# 5463dd5b 30-Nov-1999 Andi Gutmans <andi@php.net>

- Add use support (behaves like require, but will not use the same file twice)
- Add import support (behaves like include, but requires parentheses; will not
use the same file twice; Currently, it is not yet properly implemented, and
only behaves like include)

# 6358c663 21-Nov-1999 Zeev Suraski <zeev@php.net>

- Optimize class instanciation
- Fix constant instanciation for array elements inside objects

# 817a11e7 19-Nov-1999 Andi Gutmans <andi@php.net>

- Functions whose return values aren't used have them freed in DO_FCALL
and don't need a special ZEND_FREE opcode following them anymore

# 247d3d33 16-Nov-1999 Andi Gutmans <andi@php.net>

- CHange used_return_value -> return_value_used

# dbb67ab9 16-Nov-1999 Andi Gutmans <andi@php.net>

- Add support for used_return_value passed to internal functions.

# b510a6d1 05-Oct-1999 Sascha Schumann <sas@php.net>

More portability stuff

# 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

# 009025e0 06-Sep-1999 Stig S. Bakken <stig@php.net>

* header file cleanup
* fixed --enable-thread-safety build for UNIX

I don't have a Win32 environment available, could someone please try
compiling on Win32 to see if I got all the header file stuff right there?

# 99947a25 05-Sep-1999 Andi Gutmans <andi@php.net>

- Shift around header files.

# 81e0131b 28-Aug-1999 Zeev Suraski <zeev@php.net>

*** empty log message ***

# cda27ae9 28-Aug-1999 Zeev Suraski <zeev@php.net>

Beef up debug macros

# aa8b27ba 27-Aug-1999 Zeev Suraski <zeev@php.net>

Better debug macros

# 8b44285b 25-Aug-1999 Sascha Schumann <sas@php.net>

make it compile with gcc again

# d82728c4 22-Aug-1999 Sascha Schumann <sas@php.net>

This changes makes it work on egcs 1.1.2/Alpha

# 433880bc 22-Aug-1999 Sascha Schumann <sas@php.net>

remove checks

# acd6114f 17-Aug-1999 Andi Gutmans <andi@php.net>

- Add some ZENDAPI's

# b5f5e9a6 15-Aug-1999 Andi Gutmans <andi@php.net>

- Optimize the execute stack a bit.

# 8f51f72d 26-Jul-1999 Andi Gutmans <andi@php.net>

- Fix the new operator incompatibility.
- I commented PHP_FUNCTION(strtotime) in datetime.c because it stopped
win32 from compiling. This needs to be fixed!!!
- Check out libzend to compile the tree now.

# 84aa8cce 23-Jul-1999 Zeev Suraski <zeev@php.net>

* Add an API macro users can use to ensure an array member can be modifed
before they modify it.
* Fix a bug and remove redundant code in convert_to_long() (booleans and
resources weren't changing their types

# 8d1de13a 19-Jul-1999 Zeev Suraski <zeev@php.net>

0.91 update

# e78fc33c 19-Jul-1999 Andi Gutmans <andi@php.net>

* Fix Zend version
* Fix a method call bug

# b5b11177 16-Jul-1999 Zeev Suraski <zeev@php.net>

License update

# 2a6da781 09-Jul-1999 Zeev Suraski <zeev@php.net>

Step 4:
Move to a 7-bit counter (not fully implemented yet)

# 5f62c347 09-Jul-1999 Zeev Suraski <zeev@php.net>

Step 2:
Rename is_ref to EA

# fdc1b926 06-Jul-1999 Sascha Schumann <sas@php.net>

enable it, until we find a better way

# 52308cd3 05-Jul-1999 Sascha Schumann <sas@php.net>

make Solaris gcc happy

# f6164dbf 05-Jul-1999 Sascha Schumann <sas@php.net>

use void * instead of long for 64-bit test

# d6169276 03-Jul-1999 Sascha Schumann <sas@php.net>

checking for ints won't work, since they are 32 bit on both platforms

# 2a44f45c 02-Jul-1999 Sascha Schumann <sas@php.net>

workaround for 64-bit platforms

# 138d601a 19-Jun-1999 Zeev Suraski <zeev@php.net>

Add a standard get_ini_entry() to interface between Zend and the outside world

# da9faa2c 11-Jun-1999 Zeev Suraski <zeev@php.net>

* Make the output handling of variables much, much cooler.
Uses zend_make_printable_zval() instead of convert_to_string() now:

$foo = true;
print "\$foo is $foo";
will now print
$foo is true
(instead of "$foo is 1", earlier).

Also, with objects, it automatically tries to call __print() and use it as a printing
function.

For example:

class foo {
function __print() { return "Foo Object"; }
};

$foo = new foo;
print $foo;

will print "Foo Object".

# ed06a70f 05-Jun-1999 Zeev Suraski <zeev@php.net>

* Centralized shutdown
* Change shutdown order again

# 9108abc2 04-Jun-1999 Zeev Suraski <zeev@php.net>

Minor updates (mostly __declspec() stuff)

# 63f2cc9f 31-May-1999 Zeev Suraski <zeev@php.net>

*** empty log message ***

# 741b8161 28-May-1999 Zeev Suraski <zeev@php.net>

* Support getThis() for internal functions.
* Fix 'new object or die' and AiCount issue thoroughly (earlier fix didn't
work with the optimizer).
* Add new macros for standardized definition of classes.
* Only report AiCount problems if shutdown was not silent.

# 1250c43a 22-May-1999 Zeev Suraski <zeev@php.net>

* Add struct name to all typedef's so that they can be debugged with MSVC
* Fix an AiCount bug - list(...) = $var was using $var multiple times, and thus
causing AiCount to be decreased multiple times even though it was increased only
once for $var. Mark all FETCH_DIM's so that they won't decrease AiCount, and only
decrease AiCount on the last FETCH_DIM.
* Fix a stupid bug - forgot to pass CLS_C to some compiler function. For some reason
MSVC doesn't report these :I

# 080105f7 22-May-1999 Zeev Suraski <zeev@php.net>

Give more information and save log lines in memory leak reports

# b0bfa458 15-May-1999 Zeev Suraski <zeev@php.net>

* Fix all hash checks that checked Bucket.arKey for NULL, when it was changed
to char[1], these checks should have been changed to Bucket.nKeyLength==0
* Support runtime declaration of functions. I ended up changing the grammar
to catch top level functions vs. nested functions. The reason is simple -
if we don't have functions properly declared at compile-time, function calls
cannot be resolved at compile time, and have to be resolved at runtime, which
ends up being much much slower (without the optimizer, that is).
It's no biggy though, the grammar change isn't that bad.

# 0b873a78 12-May-1999 Zeev Suraski <zeev@php.net>

*** empty log message ***

# 1aa2c5c0 23-Apr-1999 Zeev Suraski <zeev@php.net>

Ok, call me crazy, because I probably am.
Thread safe version now uses a C++ scanner object. Works fully.

# b227e385 19-Apr-1999 Stig S. Bakken <stig@php.net>

convert to automake

# 342c6e0b 18-Apr-1999 Zeev Suraski <zeev@php.net>

Whatnot:
* updated alloc_persist to use critical sections
* changed extension shutdown to two-phase
* updated dependencies
* PR support (don't remember if there was any really)

# 39a7f4c3 12-Apr-1999 Zeev Suraski <zeev@php.net>

This patch is a go. Not fully optimized yet, but working properly.
Prepatch tagged as BEFORE_STACK_PATCH.

# 7656c77c 10-Apr-1999 Zeev Suraski <zeev@php.net>

We need to initialize the utility values after we initialize the INI file, which in
turn, is after we initialize Zend. Set the utility values separately from Zend's
initialization

# 573b4602 07-Apr-1999 Andi Gutmans <andi@php.net>

Zend Library

# ff14b7ad 18-Aug-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3.23 is next


# ff14b7ad 18-Aug-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3.23 is next

# 2c0a6977 21-Jul-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3 is now 7.3.22-dev

# 91982bad 23-Jun-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3 is now 7.3.21-dev

# c249f593 26-May-2020 Christoph M. Becker <cmbecker69@gmx.de>

7.3.20 will be next

# 6998cc50 28-Apr-2020 Christoph M. Becker <cmbecker69@gmx.de>

Bump version

# 33226c3a 31-Mar-2020 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.18

# 9dda3b9e 03-Mar-2020 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.17

# e3632fdc 04-Feb-2020 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.16

# 38c0a53b 07-Jan-2020 Christoph M. Becker <cmbecker69@gmx.de>

Bump version

# 65bbc670 02-Dec-2019 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.14

# 4c9ba3e0 05-Nov-2019 Christoph M. Becker <cmbecker69@gmx.de>

7.3.13 is next

# 26f45cb4 07-Oct-2019 Christoph M. Becker <cmbecker69@gmx.de>

7.3.12 is next

# cf31210f 10-Sep-2019 Christoph M. Becker <cmbecker69@gmx.de>

PHP 7.3.10RC1 has been tagged

# 5536105b 13-Aug-2019 Christoph M. Becker <cmbecker69@gmx.de>

Next will be 7.3.10

# fe799791 13-Aug-2019 Christoph M. Becker <cmbecker69@gmx.de>

Bump version numbers

This should have been done four weeks ago already.

# bcf20963 11-Jun-2019 Christoph M. Becker <cmbecker69@gmx.de>

Next is 7.3.8

# 2d93cce0 14-May-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare 7.3.7-dev

# 5ae49c43 16-Apr-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for PHP 7.3.6

# a2de4204 19-Mar-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for PHP 7.3.5

# 2ec59b3e 19-Feb-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for PHP 7.3.4

# 19a9a6ba 22-Jan-2019 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for PHP 7.3.3

# a65133a1 17-Dec-2018 Christoph M. Becker <cmbecker69@gmx.de>

Prepare main branch for 7.3.2

# b0177d38 09-Dec-2018 Christoph M. Becker <cmbecker69@gmx.de>

Fix version numbers in main branch

This should have already happened, when `PHP-7.3.0` was branched.

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

Future-proof email addresses

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

# 583616de 18-Jul-2018 Christoph M. Becker <cmbecker69@gmx.de>

[ci skip] Fix typo in comment

# 5e8977bd 12-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Merge zend_class_entry.create_object and zend_class_entry.interface_gets_implemented into the same memory lacation. The first used only by classes, the second only by magic interfaces.

# 7d4e18b0 12-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Improved user iterator implementation to reduce zend_class_entry memory consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build.

# 85ee47ed 11-Jul-2018 Dmitry Stogov <dmitry@zend.com>

Changed structure of zend_class_entry.trait_aliases and zend_class_entry.trait_precedences to avoid keeping "intermediate" trait references, that are used only during inheritance.

# 7eb045d3 03-Jul-2018 Dmitry Stogov <dmitry@zend.com>

API cleanup. Removed unused functions (kept compatibility macros).

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

year++

# 66c8a9d6 23-Dec-2017 Nikita Popov <nikita.ppv@gmail.com>

Remove EH_SUPPRESS mode

It is unused and does not work in any meaningful way:
Warnings are suppressed, but everything else (both notices and
fatals) are not. It would make some sense if it suppressed
warnings and lower, but right now this is a pointless mode.

# 26f8fc83 15-Nov-2017 Nikita Popov <nikita.ppv@gmail.com>

Enable and fix printf() format warnings

Add _unchecked() variants of zend_spprintf and zend_strpprintf for
cases where we specifically want to disable these checks, such as
use of %H.

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

Move a part of opcache initialization into post_startup phase (when all extensions already loaded).

# 0a98998b 12-Sep-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.2'

* PHP-7.2:
drop symbol definition, and not defined anywhere


# ea2507bc 12-Sep-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
drop symbol definition, and not defined anywhere


# 42e15813 12-Sep-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
drop symbol definition, and not defined anywhere


# 35deb4c8 12-Sep-2017 Remi Collet <remi@php.net>

drop symbol definition, and not defined anywhere

# 49d9b301 26-Jul-2017 Anatol Belski <ab@php.net>

Move cwd_state and path related routines to size_t

Having `int` there is no real profit in the size or speed, while unsigned
improves security and overall integration. ZPP supplied strings can
be then accepted directly and structs can be still handled with smaller
unsigned types for size reasons, which is safe. Yet some related places
are to go.

basic move tsrm_realpath_r to size_t

fix conditions and sync with affected places

touch ocurrences of php_sys_readlink usage

follow up on phar path handling

remove duplicated check

move zend_resolve_path and related pieces to size_t

touch yet resolve path related places

remove cast

missing pieces

missing piece

yet cleanups for php_sys_readlink for ssize_t

fix wrong return

# 5230541e 18-Jul-2017 Sara Golemon <pollita@php.net>

Prepare for PHP 7.3

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

further sync for vim mode lines

# ec31924c 10-Mar-2017 Remi Collet <remi@php.net>

Constify to void build warning for C++ ext. [-Wwrite-strings]

Example (with v8js):

/builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc: In function 'void v8js_execute_script(zval*, v8js_script*, long int, long int, long int, zval**)':
/usr/include/php/Zend/zend.h:204:57: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
#define zend_bailout() _zend_bailout(__FILE__, __LINE__)
^
/builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc:633:3: note: in expansion of macro 'zend_bailout'
zend_bailout();
^~~~~~~~~~~~

# fa45f64b 20-Jan-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.1'

* PHP-7.1:
NEWS
NEWS
Fixed bug #73965 DTrace reported as enabled when disabled


# 7ea7d3d8 20-Jan-2017 Remi Collet <remi@php.net>

Merge branch 'PHP-7.0' into PHP-7.1

* PHP-7.0:
NEWS
Fixed bug #73965 DTrace reported as enabled when disabled


# f81b7df6 20-Jan-2017 Remi Collet <remi@php.net>

Fixed bug #73965 DTrace reported as enabled when disabled

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

Update copyright headers to 2017

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

Update copyright headers to 2017

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

Update copyright headers to 2017

# 5fc9aa9a 18-Dec-2016 Nikita Popov <nikic@php.net>

Make printf_to_smart_str(ing) the primitive printf operation

vs(tr)pprintf is now implemented in Zend on top of
printf_to_smart_str(int), which is provided as a utility function.

This allows us to efficiently printf to the end of a smart string.

# c7742e28 18-Dec-2016 Nikita Popov <nikic@php.net>

Export zend_s(tr)pprintf

It's annoying that in Zend you have to use zend_strpprintf instead
of strpprintf, while in PHP you have to use strpprintf instead of
zend_strpprintf.

Make zend_s(tr)pprintf always available and keep s(tr)pprintf as
macro aliases.

# 66897044 12-Dec-2016 Dmitry Stogov <dmitry@zend.com>

Increased number of reserved resources (from 4 to 6)

# 2f509016 02-Dec-2016 Davey Shafik <me@daveyshafik.com>

Bump versions and NEWS for 7.1.1-dev

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

further normalizations, uint vs uint32_t

fix merge mistake

yet one more replacement run

# 13dcab03 24-Nov-2016 Sebastian Bergmann <sb@sebastian-bergmann.de>

Bump Zend Engine version

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

Implement \ArgumentCountError exception

# d0460d8f 23-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Turn safe timeout handling into general interrupt handling ability.

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

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

# 4042f543 20-Jun-2016 Dmitry Stogov <dmitry@zend.com>

HANDLE_BLOCK/UNBLOCK_INTERRUPTIONS() protection on inter-process data is completely useless now.
Historicaly, these macros were introduced as a protection from execution timeout handling, but we don't need them anymore after "safe execution timeout" implementation.
These macros are still useful to protect from termination during inner process data modification, because of OS signals (e.g. SIGTERM during OPcache SHM update).

# c8706331 20-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Cleanup zend_signal API

# 3abd9c34 20-Jun-2016 Dmitry Stogov <dmitry@zend.com>

Removed unused callbacks

# 1b29e0ca 07-Oct-2015 Nikita Popov <nikic@php.net>

Switch zend_print_zval_r to use smart_str

Instead of directly writing to stdout. This allows doing a print_r
into a string, without using output buffering.

The motivation for this is bug #67467: print_r() in return mode
will still dump the string to stdout (causing a potential information
leak) if a fatal error occurs.

# 556827de 26-Mar-2016 Nikita Popov <nikic@php.net>

Remove some dead defines

# f57c0b32 03-Mar-2016 Nikita Popov <nikic@php.net>

Merge branch 'PHP-7.0'


# 1ac15293 03-Mar-2016 Nikita Popov <nikic@php.net>

Move semicolon into TSRMLS_CACHE_EXTERN/DEFINE

Also re bug #71575.

# 5faedf5b 05-Feb-2016 Nikita Popov <nikic@php.net>

Remove EXT_TYPE_UNUSED in favor of IS_UNUSED

This means we no longer allocate an unused VAR for the retval of
instructions that support unused results.

Nearly all instructions already used the result variable only if
it was used. The only exception to this was the return value
variable for internal function call results. I've adjusted the code
to use a stack zval for the unused return case now. As we have
retval specialization now, we know that it doesn't matter.

# 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

# 6897c111 06-Nov-2015 Anatol Belski <ab@php.net>

no more dev ZEND_VERSION

# 76a6f28f 22-Oct-2015 Kalle Sommer Nielsen <kalle@php.net>

Zend Engine 3.1.0-dev for master

# 4ddeeb49 11-Sep-2015 Xinchen Hui <laruence@gmail.com>

Remove free_string_zval

# 127db5a3 28-Aug-2015 Dmitry Stogov <dmitry@zend.com>

HANDLE_BLOCK_INTERRUPTIONS() is not used by SAPIs anymore. It may be useful only when PHP configured with --enable-zend-signals.

# e549ebdb 26-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Mark parse error functions as cold

# 30dcb2d6 19-Aug-2015 Dmitry Stogov <dmitry@zend.com>

Fixed typo

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

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

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

Remove need to pass error level

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

Enable throwing custom exceptions from errors

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

Always throw TypeException on throwing zpp failures

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

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

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

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

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

# 95b4aa52 07-Mar-2015 Xinchen Hui <laruence@php.net>

Fixed zend_hash_append result duplicated key

actually, maybe we should precalculate before calling zend_hash_appen
when we are not sure whether the hash is caclculated(prop_info->name).

but it looks a little ugly.. (also for zend_string_copy)

# 2fa8d67a 03-Mar-2015 Dmitry Stogov <dmitry@zend.com>

Use zend_string* instead of char* for opened_patch handling. Avoid reallocations and improve string reuse.

# af3ca745 16-Feb-2015 Anatol Belski <ab@php.net>

made ZEND_TSRMLS_CACHE_* macros look like function calls

which also comply with the current semantics for such macros

# 57496c38 06-Feb-2015 Dmitry Stogov <dmitry@zend.com>

This should fix compilation on OSX (bug #68987 Failed to compile zend.c with gcc-4.9.2)

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

bump year

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

trailing whitespace removal

# e112f6a0 14-Dec-2014 Anatol Belski <ab@php.net>

second shot on removing TSRMLS_*

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

first shot remove TSRMLS_* things

# ba35b22b 06-Dec-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'origin/master' into native-tls

* origin/master: (35 commits)
Fixed bug #68398 msooxml matches too many archives
Fix zpp call in apache_getenv()
Drop unnecessary zval containers
fixed test
C89 compat
add include for missing localeconv_r proto
updated NEWS
Fixed bug #65230 setting locale randomly broken
Fix compilation error (ref #68424)
Removed useless handlers
Move checks for references into slow paths of operator functions. Remove duplicate opcode handlers.
Revert unintentional docblock change
Restored zip/oci8 PHP 4 code, add PHP 7 checks
Note macro removal in UPGRADING.INTERNALS
Removed ZEND_ENGINE_2 checks (and ZE1 code, it's been a decade!)
Zend Engine 3
Updated NEWS
Updated NEWS
Updated NEWS
Start adding new attribute to control multi statements
...


# 90d916c4 19-Sep-2014 Andrea Faulds <ajf@ajf.me>

Zend Engine 3

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

Merge remote-tracking branch 'origin/master' into native-tls

* origin/master: (214 commits)
fix datatype mismatch warnings
fix datatype mismatches
fix datatype mismatches
fix datatype mismatches
fix datatype mismatch warnings
fix datatype mismatch warnings
fix datatype mismatch warnings
fix datatype mismatch warning
fix datatype mismatches
fix datatype mismatch warnings
Re-add phpdbg to travis
Added some NEWS
Make xml valid (missing space between attrs)
Fix info classes file name in xml
Add note about <eval> tag for errors in xml.md
Name the tag <eval> if the error id during ev cmd
Do not print out xml as PHP print...
Fix output to wrong function
Fixed parameter order on %.*s
Too much copypaste...
...


# 944d2c65 22-Oct-2014 Anatol Belski <ab@php.net>

fix datatype mismatches

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

moved most of the core to use static tsrm ls cache pointer

plus apache2handler, cli and cgi

# ee4ae7fb 03-Oct-2014 Anatol Belski <ab@php.net>

Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
remove the remains of dsp files handling
fix EX usage
remove misprint parentheses
remove misprint parentheses
Replaced EG(This) and EX(object) with EX(This). Internal functions now recieves zend_execute_data as the first argument.
And this one...
It should be in extern c
Remove useless condition
NEWS entry for previous commit
NEWS entry for previous commit
add IPv6 support to php-fpm
Micro optimization for the most frequency case
Add hash to EXTENSIONS file
Remove extensions which are long gone
we also have xz release tarballs since 5.5
Fix ZTS build
improved file size computation in stat()
Fixed incorrect compilation
5.5.19 now


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

# 76081df1 01-Oct-2014 Anatol Belski <ab@php.net>

using pointer to the tsrm ls cache instead of a function call

yet another approach

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

reworked the patch, less new stuff but worky

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

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

What is done merely is

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

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

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

# 4db75dc8 22-Sep-2014 Anatol Belski <ab@php.net>

basic windows fix

# 61d37e05 18-Sep-2014 Dmitry Stogov <dmitry@zend.com>

Moved some definitions from zend.h into more suitable header files

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

revamp serialization to work with size_t for Serializable

# 9ee4a40f 08-Sep-2014 Anatol Belski <ab@php.net>

made Visual Studio to understand that zend_error_noreturn() will not return

- windows only, on linux gcc would cause a warning that the function returns,
as no noreturn functions are used
- ZEND_NORETURN works on windows as well now, using __declspec(noreturn),
which is useful for the other cases
- one more function call will be needed, which is not critical for the
error reporting
- the way is open to enable the same for gcc as soon as it's not causing a warning

# f4f9b549 06-Sep-2014 Nikita Popov <nikic@php.net>

Revert "Move safe_address into zend_multiply.h"

This reverts commit 43b02e169c718335a82b8c90c3252194f988659a.

I'm getting symbol resolution issues for zend_error_noreturn in the
opcache.so, so reverting this for now.

# 43b02e16 06-Sep-2014 Nikita Popov <nikic@php.net>

Move safe_address into zend_multiply.h

This allows reuse in zend_arena_calloc.

Also renamed the function to zend_safe_address as it's no longer
private to the allocator.

# 979058d4 03-Sep-2014 Nikita Popov <nikic@php.net>

Disable format string checking by default

Instead of removing format attributes altogether, disable the checks
by default. This allows you to do a build with format string checks
and filter out the false positives (basically anything mentioning
%p).

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

Refactored INI subsystem to use zend_string* instead of char*

# ee552b62 27-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Reorder fields for better nenory consumtion and data locality on 64-bit systems

# b1f53ca4 27-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Use efree_size() instead of efree() where posible

# 8ec40397 27-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Cleanup IS_VAR handling

# 661f90d4 26-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Replaced Zend Memory Manager

# b63ab832 26-Aug-2014 Anatol Belski <ab@php.net>

several signature and data type fixes

# 899a1ed5 25-Aug-2014 Nikita Popov <nikic@php.net>

Merge branch 'ast'

Conflicts:
Zend/zend_compile.c


# 6db293d5 25-Aug-2014 Nikita Popov <nikic@php.net>

Merge remote-tracking branch 'php-src/master' into ast

Conflicts:
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_globals.h
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_types.h


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

master renamings phase 5

# 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

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

mostly fixes to spl, but also some other

# 904a83a1 16-Aug-2014 Nikita Popov <nikic@php.net>

Merge remote-tracking branch 'php-src/master' into ast

Conflicts:
ext/opcache/Optimizer/optimize_func_calls.c


# 71675a4b 16-Aug-2014 Nikita Popov <nikic@php.net>

Merge remote-tracking branch 'php-src/phpng' into ast

Conflicts:
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_language_parser.y

Incomplete merge!


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

further fixes to ext/standard and zend

# 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

# d9f3eac1 15-Aug-2014 Dmitry Stogov <dmitry@zend.com>

Bump version to 7.0.0-dev

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

update zend_make_printable_zval to take TSRM context

# a51e00a8 26-Jul-2014 Nikita Popov <nikic@php.net>

Add functions for create str/long ast directly

# 6cc487df 18-Jul-2014 Xinchen Hui <laruence@php.net>

Revert "stash" (pushed by accident)

This reverts commit a18bf5fc9303e2739ee7026bdb3bbf272bf4baa8.

# a18bf5fc 16-Jul-2014 Xinchen Hui <laruence@php.net>

stash

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

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

Imporoved EXPECTED/UNEXPECTED macros to support not boolean expressions.
Fixed invalid EXPECTED() usage.

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

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

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

Simplify call-frame handling

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

# 2508d493 18-Jun-2014 Xinchen Hui <laruence@php.net>

Fixed typo

# 6288bb8f 17-Jun-2014 Xinchen Hui <laruence@php.net>

Refactoring mysqlnd (incompleted, only mysqlnd ext compilable)

# 592c8a04 10-Jun-2014 Dmitry Stogov <dmitry@zend.com>

Improved conditions order

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

Use reference counting instead of zval duplication

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

cleanup

# 032bdbba 30-May-2014 Dmitry Stogov <dmitry@zend.com>

Improved conditions order

# b3b616cf 29-May-2014 Dmitry Stogov <dmitry@zend.com>

Introduced immutable arrays. They don't need to be copyed and may be used directly from SHM.

# 6f0f8511 16-May-2014 Nikita Popov <nikic@php.net>

Assert that EMPTY_SWITCH_DEFAULT_CASE() cannot be reached in debug

# 88c550a7 09-May-2014 Xinchen Hui <laruence@php.net>

Added vstrpprintf strpprintf to avoid duplicate string

(the function name maybe improvement)

# f9927a6c 25-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Merge mainstream 'master' branch into refactoring
During merge I had to revert:
Nikita's patch for php_splice() (it probably needs to be applyed again)
Bob Weinand's patches related to constant expression handling (we need to review them carefully)
I also reverted all our attempts to support sapi/phpdbg (we didn't test it anyway)

Conflicts:
Zend/zend.h
Zend/zend_API.c
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_constants.c
Zend/zend_exceptions.c
Zend/zend_execute.c
Zend/zend_execute.h
Zend/zend_execute_API.c
Zend/zend_hash.c
Zend/zend_highlight.c
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
Zend/zend_variables.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/date/php_date.c
ext/dom/documenttype.c
ext/hash/hash.c
ext/iconv/iconv.c
ext/mbstring/tests/zend_multibyte-10.phpt
ext/mbstring/tests/zend_multibyte-11.phpt
ext/mbstring/tests/zend_multibyte-12.phpt
ext/mysql/php_mysql.c
ext/mysqli/mysqli.c
ext/mysqlnd/mysqlnd_reverse_api.c
ext/mysqlnd/php_mysqlnd.c
ext/opcache/ZendAccelerator.c
ext/opcache/zend_accelerator_util_funcs.c
ext/opcache/zend_persist.c
ext/opcache/zend_persist_calc.c
ext/pcre/php_pcre.c
ext/pdo/pdo_dbh.c
ext/pdo/pdo_stmt.c
ext/pdo_pgsql/pgsql_driver.c
ext/pgsql/pgsql.c
ext/reflection/php_reflection.c
ext/session/session.c
ext/spl/spl_array.c
ext/spl/spl_observer.c
ext/standard/array.c
ext/standard/basic_functions.c
ext/standard/html.c
ext/standard/mail.c
ext/standard/php_array.h
ext/standard/proc_open.c
ext/standard/streamsfuncs.c
ext/standard/user_filters.c
ext/standard/var_unserializer.c
ext/standard/var_unserializer.re
main/php_variables.c
sapi/phpdbg/phpdbg.c
sapi/phpdbg/phpdbg_bp.c
sapi/phpdbg/phpdbg_frame.c
sapi/phpdbg/phpdbg_help.c
sapi/phpdbg/phpdbg_list.c
sapi/phpdbg/phpdbg_print.c
sapi/phpdbg/phpdbg_prompt.c


# 08ae8815 23-Apr-2014 Nikita Popov <nikic@php.net>

Allocate zend_strings with correct size

For me (32bit) sizeof(zend_string) is 20, which means that the
char[1] array at the end is padded with three bytes. Thus allocating
based on sizeof(zend_string)-1 overallocates by those 3 padding bytes.

This commit fixes the allocation size, by using XtOffsetOf.

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

Use zval_get_string in print_zval and propagate TSRMLS

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

Cleanup (1-st round)

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

Merge branch 'PHP-5.6'


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

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

# 816f8dfe 09-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Fixed macro

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

Various VM optimizations

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

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

# d8099d04 02-Apr-2014 Dmitry Stogov <dmitry@zend.com>

Changed data layout to allow more efficient operations

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

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

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

Cleanup

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

Use ZVAL_DEREF() macro

# 506f6a42 23-Mar-2014 Xinchen Hui <laruence@gmail.com>

Refactor mbstring (incompleted)

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

Refactored GC (incomplete)

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

Reverted wrong fix

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

Fixed refcounting

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

Handle interned strings as non-refcounted scalars

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

Fixed IS_REFERENCE separation

# 38151a38 04-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixed dereferencing of value returned from function (foo()[1] = ...)

# 1be0df93 03-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixed destruction of VM handler operands (FREE_OP1 and family)

# e73c32c2 03-Mar-2014 Dmitry Stogov <dmitry@zend.com>

Fixed macros

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

Fixed SEPARATE_ZVAL_IF_REF()

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

Fixed SEPARATE_ZVAL() to support objects and resources

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

Fixed segfault due to missing REFCOUNTED check

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

Use better data structures (incomplete)

# 837af672 18-Feb-2014 Sara Golemon <pollita@php.net>

Merge branch 'PHP-5.6'

* PHP-5.6:
Add __debugInfo() magic method


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

Add __debugInfo() magic method

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

public function count() { return 42; }

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

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

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

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

Use better data structures (incomplete)

# 2161103f 10-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)

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

Merge branch 'PHP-5.6'


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

Bump year

# 65fd18fd 26-Dec-2013 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.6'

* PHP-5.6:
Improved empty string handling. Now ZE uses an interned string instead of allocation new empty string each time. (Some extensions might need to be fixed using str_efree() instead of efree() to support interned strings).

Conflicts:
NEWS
Zend/zend_extensions.h
Zend/zend_modules.h


# 03a37de9 26-Dec-2013 Dmitry Stogov <dmitry@zend.com>

Improved empty string handling. Now ZE uses an interned string instead of allocation new empty string each time. (Some extensions might need to be fixed using str_efree() instead of efree() to support interned strings).

# aed4b086 18-Dec-2013 Kalle Sommer Nielsen <kalle@php.net>

Eliminate the TSRMLS_FETCH() calls in the ticks functions and hook

# 48cc47d5 03-Dec-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>

Leftover: Bump version to 5.7.0

# 2e6d8305 29-Nov-2013 ArunSK <arunsk.tec@gmail.com>

Fixed unused value compiler warning

# d36cf902 28-Nov-2013 Bob Weinand <bobwei9@hotmail.com>

Merge branch 'const_scalar_exprs' into PHP-5.6

Conflicts:
Zend/zend_extensions.h


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

export more Zend API

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

Constant expressions refactoring

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

Merge branch 'const_scalar_exprs' of github.com:bwoebi/php-src into const_scalar_exprs

* 'const_scalar_exprs' of github.com:bwoebi/php-src:
Removed operations on constant arrays. They make no sense as constants are not allowed to be arrays. And as just properties are allowed to; no problem, we still don't need operations on any constant array.
Added a few more operators
Whitespace fix
converted several switches to ifs and made more opcache friendly
Fatal error about self referencing constants fixed
Fixed mem leaks, added tests and ternary operator
Working commit for constant scalar expressions (with constants). Tests will follow.

Conflicts:
Zend/Makefile.am
configure.in
win32/build/config.w32


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

# 25dc4af3 24-Oct-2013 Anatol Belski <ab@php.net>

enabled windows to use stack in both ts/nts mode, some more fixes

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

# 81623d3a 12-Mar-2013 Nikita Popov <nikic@php.net>

Merge branch 'PHP-5.5'

Conflicts:
UPGRADING
UPGRADING.INTERNALS


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

Add support for non-scalar Iterator keys in foreach

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

# 01e1ba88 11-Mar-2013 Xinchen Hui <laruence@php.net>

Merge branch 'PHP-5.5'

Conflicts:
UPGRADING


# 4573405c 11-Mar-2013 Xinchen Hui <laruence@php.net>

Merge branch 'PHP-5.4' into PHP-5.5


# 0444708c 11-Mar-2013 Xinchen Hui <laruence@php.net>

Disable zend_always_inline in debug build

it will be much more easier for debuging

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

Merge branch 'PHP-5.5'


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

Happy New Year

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

Happy New Year

# f3ea4973 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.5'

* PHP-5.5:
Removed deprecated fields


# bc0425c0 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Removed deprecated fields

# 3b17a090 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.5'

* PHP-5.5:
Traits refactoring


# b8c719c0 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
Traits refactoring


# 3f8c729e 25-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Traits refactoring

# cc118f78 13-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Merge branch 'PHP-5.5'

* PHP-5.5:
Removed redundand checks from release build


# ff1e1d7a 13-Dec-2012 Dmitry Stogov <dmitry@zend.com>

Removed redundand checks from release build

# 79726be6 14-Nov-2012 Sebastian Bergmann <sebastian@php.net>

Leftover: Bump version to 5.6.0

# 8788cddf 26-Aug-2012 Lars Strojny <lstrojny@php.net>

Prefix RESULT_CODE enum with ZEND_

# e3ef84c5 07-Aug-2012 Stuart Langley <slangley@google.com>

Strong types for the result codes SUCCESS & FAILURE. These are common
symbol names and using #defines can cause conflicts.

# 0fa40bb9 21-Aug-2012 Sebastian Bergmann <sebastian@php.net>

Bump version.

# 58d22033 24-May-2012 Nuno Lopes <nlopess@php.net>

add support for the alloc_size __attribute__ (through ZEND_ATTRIBUTE_ALLOC_SIZE and ZEND_ATTRIBUTE_ALLOC_SIZE2

requires GCC >= 4.3 or clang >= 3.2 to perform anything useful

# dab17da3 16-Feb-2012 Stanislav Malyshev <stas@php.net>

make ZEND_SIGNALS configurable, off by default
also make ZEND_SIGNALS enabled and disabled binary-compatible

# fa9540e1 16-Feb-2012 Stanislav Malyshev <stas@php.net>

make ZEND_SIGNALS configurable, off by default
also make ZEND_SIGNALS enabled and disabled binary-compatible

# b31c1243 04-Jan-2012 Xinchen Hui <laruence@php.net>

Fixed bug #60627 (httpd.worker segfault on startup with php_value)

# 1c4f2275 04-Jan-2012 Xinchen Hui <laruence@php.net>

Fixed bug #60627 (httpd.worker segfault on startup with php_value)

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

- Year++

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

- Year++

# a0934916 22-Nov-2011 Antony Dovgal <tony2001@php.net>

export zend_on_timeout handler from ZE

# e1481943 22-Nov-2011 Antony Dovgal <tony2001@php.net>

export zend_on_timeout handler from ZE

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

Fixed ZE specific compile warnings (Bug #55629)

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

Fixed ZE specific compile warnings (Bug #55629)

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

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

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

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

# 34d93f0c 22-Jun-2011 Ilia Alshanetsky <iliaa@php.net>

Zend Signal Handling

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

scalar types cleanup

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

scalar types cleanup

# 93987513 02-Jun-2011 Ilia Alshanetsky <iliaa@php.net>

Zend Signal Handling (see RFC: https://wiki.php.net/rfc/zendsignals)
This needs to go into 5.4 as well, but will wait for Pierre to review win32 situation

# Patch by Lucas Nealan, Arnaud Le Blanc, Brian Shire & Ilia Alshanetsky

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

Add options to debug_backtrace functions

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

- Year++

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

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

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

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

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

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

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

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

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

- Added scalar typehinting.

# cd6415f1 22-Apr-2010 Stefan Marr <gron@php.net>

Implemented Traits for PHP as proposed in the RFC [TRAITS]

# RFC http://wiki.php.net/rfc/horizontalreuse#traits_-_reuse_of_behavior
# Ok, here we go, I guess that will result in more discussion, which is fine
# by me. But now, the patch is here, and properly archived.
#
# See below a list of notes to the patch, it also includes a list of
# points which should be fixed
#
# Internals of the Traits Patch
# -----------------------------
#
# Open TODOs
# """"""""""
#
# - Reflection API
# - support for traits for internal classes
# - currently destroy_zend_class does not handle that case
#
# Introduced Structures
# """""""""""""""""""""
#
# Data structures to encode the composition information specified in the
# source:
# - zend_trait_method_reference
# - zend_trait_precedence
# - zend_trait_alias
#
# Changes
# """""""
#
# zend_class_entry
# - uses NULL terminated lists of pointers for
# - trait_aliases
# - trait_precedences
# - do you prefer an explicit counter?
# - the information is only necessary during class composition
# but might be interesting for reflection
# - did not want to blow up class further with not really necessary length counters
#
# added keywords
# - trait
# - insteadof
#
# Added opcodes
# ZEND_ADD_TRAIT
# - similar to ZEND_ADD_INTERFACE
# - adds the trait to the list of traits of a class, no actual composition done
# ZEND_BIND_TRAITS
# - emitted in zend_do_end_class_declaration
# - concludes the class definition and will initiate the trait composition
# when the class definition is encountered during runtime
#
# Added Flags
# ZEND_ACC_TRAIT = 0x120
# ZEND_ACC_IMPLEMENT_TRAITS = 0x400000
# ZEND_FETCH_CLASS_TRAIT = 14
#
# zend_vm_execute.h
# - not sure whether the handler initialization (ZEND_ADD_TRAIT_SPEC_HANDLER,
# ZEND_BIND_TRAITS_SPEC_HANDLER) is correct, maybe it should be more selective
#
# zend_compile.c
# - refactored do_inherit_method_check
# split into do_inherit_method_check and do_inheritance_check_on_method
# - added helper functions use a '_' as prefix and are not mentioned in the
# headers
# - _copy_functions
# prepare hash-maps of functions which should be merged into a class
# here the aliases are handled
# - _merge_functions
# builds a hash-table of the methods which need to be added to a class
# does the conflict detection
# - reused php_runkit_function_copy_ctor
# - it is not identical with the original code anymore, needed to update it
# think I fixed some bugs, not sure whether all have been reported back to runkit
# - has to be renamed, left the name for the moment, to make its origin obvious
# - here might be optimization potential
# - not sure whether everything needs to be copied
# - copying the literals might be broken
# - added it since the literals array is freed by efree and gave problems
# with doubled frees
# - all immutable parts of the zend_op array should not be copied
# - am not sure which parts are immutable
# - and not sure how to avoid doubled frees on the same arrays on shutdown
# - _merge_functions_to_class
# does the final merging with the target class to handle inherited
# and overridden methods
# - small helper for NULL terminated lists
# zend_init_list, zend_add_to_list
#
# zend_language_parser.y
# - reused class definition for traits
# - there should be something with regard to properties
# - if they get explicitly defined, it might be worthwhile to
# check that there are no collisions with other traits in a composition
# (however, I would not introduce elaborate language features to control that
# but a notice for such conflicts might be nice to the developers)

# e87d7200 22-Apr-2010 Dmitry Stogov <dmitry@php.net>

Optimized access to global constants using values with pre-calculated hash_values from litersls table

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

Updated version numbers

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

Added a number of small performance tweaks and optimizations
. ZEND_RECV now always has IS_CV as its result
. ZEND_CATCH now has to be used only with constant class names
. ZEND_FETCH_DIM_? may fetch array and dimension operans in a different order

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

# e0f91992 30-Mar-2010 Johannes Schlüter <johannes@php.net>

Add some const declarations, makes C++ extension writers happy

# 15e31de0 15-Jan-2010 Rasmus Lerdorf <rasmus@php.net>

Fix gcc version check - bug #50771

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

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

# a94558c8 08-Dec-2009 Felipe Pena <felipe@php.net>

- Added MAKE_COPY_ZVAL(ppzv, pzv) macro

# d1988534 06-Sep-2009 Pierre Joye <pajoye@php.net>

- revert last commit, breaks the build and needs test case(s)

# e3c94d50 06-Sep-2009 Moriyoshi Koizumi <moriyoshi@php.net>

- Fix leaks.

# c54f6df9 06-Aug-2009 Scott MacVicar <scottmac@php.net>

Fix bug #48575 - Use dlopen() just like all the other *nixes instead of OSX specific code.

# a7cc9e72 17-Jun-2009 Rasmus Lerdorf <rasmus@php.net>

Need the gcc version check here too

# 04f5d7c9 05-Jun-2009 Rasmus Lerdorf <rasmus@php.net>

There is no always_inline attribute in gcc2

# 95ef46c0 01-Jun-2009 Nuno Lopes <nlopess@php.net>

fix compiler warnings by moving all std includes after include of zend_config.h.
this also fixes the build with stricter compilers than gcc (like clang)

# 2403a580 01-Jun-2009 Arnaud Le Blanc <lbarnaud@php.net>

MFH: better fix for #48409 , #48428 , #48228

# 6bb0ac97 18-Mar-2009 Matt Wilmas <mattwil@php.net>

MFH: Fixed bug #45877 (Array key '2147483647' left as string)

# d3d02fbc 18-Feb-2009 Dmitry Stogov <dmitry@php.net>

Fixed zend_print_zval_r_ex() to use the write callback function

# 2faea53d 31-Dec-2008 Marcus Boerger <helly@php.net>

- Sync with HEAD, no ability to not start builtin functions

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

MFH: Bump copyright year, 3 of 3.

# 1b4134c0 11-Nov-2008 Stanislav Malyshev <stas@php.net>

Namespace resolution streamlining patch
[DOC] new resolution rules should be documented soon

# 85ab4235 15-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Removed some TSRMLS_FETCH()s

# cf7384aa 12-Aug-2008 Felipe Pena <felipe@php.net>

- MFH: Constness (Added const qualifier to several function parameters)

# 106864bc 11-Aug-2008 Marcus Boerger <helly@php.net>

- MFH Fix memleak with new error handling stack'ing

# 3f7a4b7e 08-Aug-2008 Marcus Boerger <helly@php.net>

- MFH error handling, now with save, replace, restore

# d5ef2f46 14-Jul-2008 Dmitry Stogov <dmitry@php.net>

Added support for lambda functions and closures

# 148463cc 27-Jun-2008 Stanislav Malyshev <stas@php.net>

enable on MSVC too

# 019fd806 27-Jun-2008 Stanislav Malyshev <stas@php.net>

allow deprecating engine functions

# 76a9a42e 11-Jun-2008 Dmitry Stogov <dmitry@php.net>

- Removed direct executor recursion.
- Use fastcall calling convention in executor on x86.

# 10afe5d9 18-Mar-2008 Rasmus Lerdorf <rasmus@php.net>

Make the sigsetjmp change more robust. On systems that don't have
sigsetjmp use setjmp. Windows is of course weird in that it seems to
have sigsetjmp but not sigjmp_buf (??) so force it to use setjmp in
config.w32.h.in

# c9e0781d 18-Mar-2008 Rasmus Lerdorf <rasmus@php.net>

Use sigsetjmp and siglongjmp instead of setjmp/longjmp in order to be
consistent in how we deal with the signal mask. POSIX doesn't specify
what to do with the signal mask in setjmp/longjmp which has resulted in
the signal mask getting saved on *BSD and not getting saved on Linux.
Making the behaviour explicit via sigsetjmp/siglongjmp gives us
consistency and saves expensive sigprocmask() syscalls on *BSD.

# fd0d44f0 08-Mar-2008 Felipe Pena <felipe@php.net>

User error handlers no longer catch supressed errors (patch by Etienne Kneuss)

# ab232458 05-Mar-2008 Dmitry Stogov <dmitry@php.net>

Optimized require_once() and include_once() by eliminationg open() syscall on second usage.

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

# 70bf5468 23-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed compilation on Windows

# 4ab8d46d 23-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed definitions

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

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

# caa15f02 21-Nov-2007 Dmitry Stogov <dmitry@php.net>

Macro definitions are moved to zend.h

# 10f6cd5c 20-Nov-2007 Dmitry Stogov <dmitry@php.net>

Fixed compilation on some systems (Wez)

# b4892511 02-Nov-2007 Jani Taskinen <jani@php.net>

- MFH from HEAD:
. Folding tags
. Parameter parsing
. SPL debug info
. array function improvements (not all yet)
. Improvements to function calling with call_user_* functions
. Improvements to debugging info in var_dump/print_r
# I propably forgot already something but this all was pretty close tied
# to each other so it wasn't possible to do it in parts.

# f10766f1 02-Nov-2007 Dmitry Stogov <dmitry@php.net>

Reimplemented support for namespaces in indexes id constant arrays (removed zval.idx_type)

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

MFH: Added macros for managing zval refcounts and is_ref statuses

# 220641af 02-Oct-2007 Dmitry Stogov <dmitry@php.net>

Fixed bug #42819 (namespaces in indexes of constant arrays)

# 72d0454b 29-Sep-2007 Dmitry Stogov <dmitry@php.net>

Added support for __callstatic() magic method (missing part). (Sara)

# b20ed0d2 29-Sep-2007 Dmitry Stogov <dmitry@php.net>

Added support for __callstatic() magic method. (Sara)

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

# a748ada2 27-Sep-2007 Sebastian Bergmann <sebastian@php.net>

Bump version.

# c9f6d594 23-Jul-2007 Jani Taskinen <jani@php.net>

MFH: - Fixed buf #42071 (ini scanner allows using NULL as option name).
MFH: Use Z_* macros to access the zvals.

# 3c6d2617 26-Apr-2007 Antony Dovgal <tony2001@php.net>

MFH: fix build on Tru64

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

MFH: Bump year.

# 806bc4e1 14-Sep-2006 Dmitry Stogov <dmitry@php.net>

Reinamed variables to avoid name conflicts

# f5543a42 07-Aug-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #38287 (static variables mess up global vars)

# f1fb77d1 11-Jun-2006 Ilia Alshanetsky <iliaa@php.net>

Make zend_print_zval_r_ex() use the write callback function.

# 14f6b914 19-May-2006 Dmitry Stogov <dmitry@php.net>

Optimized zend_try/zend_catch macroses (eliminated memcpy())

# ec7b8e2b 12-May-2006 Sebastian Bergmann <sebastian@php.net>

Bump version.

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

# 0fab5aac 30-Mar-2006 Antony Dovgal <tony2001@php.net>

fix compilation on AIX

# 9d6e4964 14-Mar-2006 Dmitry Stogov <dmitry@php.net>

Fixed bug #36568 (memory_limit setting on win32 has no effect)

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

- Update copyright notices to 2006

# eb99c745 20-Dec-2005 Marcus Boerger <helly@php.net>

- MFH move zend_object_Value definition to zend_types.h

# 0a5d10a5 30-Nov-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #35373 (HP-UX "alias not allowed in this configuration")

# 0b9f9de0 26-Nov-2005 Ilia Alshanetsky <iliaa@php.net>

No longer dev

# 350aec95 25-Nov-2005 Antony Dovgal <tony2001@php.net>

MFH: ICC doesn't support __attribute__ for pointers

# 64931b62 15-Nov-2005 Dmitry Stogov <dmitry@php.net>

Allow recursive calls to __get/__set for different properties

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

Support for class constants and static members for internal classes

# eeecc8a0 09-Aug-2005 Andi Gutmans <andi@php.net>

- No release today. Found a critical bug...

# 01d8e59d 09-Aug-2005 Andi Gutmans <andi@php.net>

- RC1

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

Bump up the year

# bdf2753e 14-Jul-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# a007ddb1 14-Jul-2005 Andi Gutmans <andi@php.net>

- Beta 3

# f030fe2f 12-Jul-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# 897818e1 12-Jul-2005 Andi Gutmans <andi@php.net>

- Beta 3

# 345e0255 07-Jul-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods)

# ec92bb88 23-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# fe238490 23-Jun-2005 Andi Gutmans <andi@php.net>

- Beta 2

# da201c1b 21-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev. Guys (n' Girls), give at least 1 hour before you start
- complaining about not going back to -dev. I like checking the tarball
- before I change it back.

# 9bf68ef6 21-Jun-2005 Andi Gutmans <andi@php.net>

- Take #3 :)

# cf0c7a9f 20-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# fd3d8e95 20-Jun-2005 Andi Gutmans <andi@php.net>

- Beta 2

# aedbdb08 16-Jun-2005 Dmitry Stogov <dmitry@php.net>

Allowed return by refrence from internal functions

# 47676bc0 15-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed OS X compatibility

# cec2347c 13-Jun-2005 Dmitry Stogov <dmitry@php.net>

Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol 'zend_error').
The fix is not tested on Solaris and DARWIN!

# 16bbd70c 11-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# e0787f3d 11-Jun-2005 Andi Gutmans <andi@php.net>

- b2 (will post it to internals@)

# 0638c657 10-Jun-2005 Andi Gutmans <andi@php.net>

- Back to -dev

# 3b1f8e9a 10-Jun-2005 Andi Gutmans <andi@php.net>

- Go with 5.1.0b1

# 757da1ee 07-Mar-2005 Marcus Boerger <helly@php.net>

- New Interface Serializeable
- Change signature of unserialize() callback to ease inheritance and
support code reuse of handlers

# 5b98a092 23-Feb-2005 Stanislav Malyshev <stas@php.net>

Custom object serializer infrastructure
# The detailed announce on the list will follow

# 8eb3b715 22-Feb-2005 Anantha Kesari H Y <hyanantha@php.net>

NetWare can include autoconf generated config headers

# fd4fe1c8 02-Feb-2005 Dmitry Stogov <dmitry@php.net>

Fixed bugs #29767 and #31683 (__get and __set methods must not modify property name).

# 601140cb 25-Jan-2005 foobar <sniper@php.net>

New versions of glibc support a RTLD_DEEPBIND flag to dlopen. The
effect of this flag when loading a "foo.so" with undefined symbols is
that the search that symbol starts at foo.so and its dependencies
*before* the loading process' global symbol table.

This is an effective workaround for symbol namespace collisions between
various modules and the libraries on which they depend (where fixing the
respective modules or libraries is not possible e.g. due to API
constraints).

(By: Joe Orton)

# 2c65e09a 20-Jan-2005 foobar <sniper@php.net>

- Revert the weird change of ZEND_STRS() macro and use the correct
ZEND_STRL() macro.
# ZEND_STRS was changed to be same as ZEND_STRL..someone on crack? :)

# 2a3ca10a 10-Jan-2005 Rasmus Lerdorf <rasmus@php.net>

Fix OSX DL_UNLOAD macro and actually use it to make shared extensions
work on OSX.

# a139dbf9 09-Jan-2005 foobar <sniper@php.net>

- Fix outside-source-tree builds. Always include generated header files
with #include <some_header.h> to make sure the correct file is used.

# ae78d7d4 03-Nov-2004 Moriyoshi Koizumi <moriyoshi@php.net>

- Checks for Darwin'ish systems that uses Mach-O, which apparently doesn't
support weak symbol aliasing at this time.

# 4b10a256 30-Oct-2004 Marcus Boerger <helly@php.net>

Bump version (as discussed with Andi)

# e0ec7c98 26-Sep-2004 Marcus Boerger <helly@php.net>

- Fix build

# f17aa81e 26-Sep-2004 Andi Gutmans <andi@php.net>

- Apply Thies and Sterling's patch which doesn't call ctor/dtor functions
- for types which don't require it (BOOL/NULL/LONG/DOUBLE)
- Breaks serialization!!!

# ff40ceab 22-Sep-2004 Anantha Kesari H Y <hyanantha@php.net>

defined ZEND_PATHS_SEPERATOR to semicolon for NetWare

# 85a36e2b 05-Sep-2004 Zeev Suraski <zeev@php.net>

Fix reverse dependency

# 7d80f82e 28-Jul-2004 Andi Gutmans <andi@php.net>

- Fix MAC OSX to always use native DSO loading

# 0cd2da03 25-Jul-2004 Marcus Boerger <helly@php.net>

- Execute destructors earlier (Florian Schaper, fschaper at intux org)

# 56f8195f 19-Jul-2004 Andi Gutmans <andi@php.net>

- Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
STR_FREE() and zval_dtor() always have to check for it and it slows down
the general case. In addition, it seems that empty_string has been abused
quite a lot, and was used not only for setting zval's but generally in
PHP code instead of "", which wasn't the intention. Last but not least,
nuking empty_string should improve stability as I doubt every place
correctly checked if they are not mistakenly erealloc()'ing it or
calling efree() on it.
NOTE: Some code is probably broken. Each extension maintainer should
check and see that my changes are OK. Also, I haven't had time to touch
PECL yet. Will try and do it tomorrow.

# c18badbf 13-Jul-2004 Andi Gutmans <andi@php.net>

- 5.0.1-dev

# 399e2ca6 13-Jul-2004 Andi Gutmans <andi@php.net>

- Roll PHP 5.0.0

# 0bdbbd37 07-Jun-2004 Andi Gutmans <andi@php.net>

- Go back to -dev (Shouldn't need another RC)

# 6f471562 07-Jun-2004 Andi Gutmans <andi@php.net>

- Roll RC3

# 02032ccf 03-Jun-2004 Andi Gutmans <andi@php.net>

- Prepare for RC3RC2

# e51105c6 27-May-2004 Andi Gutmans <andi@php.net>

- Back to RC3-dev until we roll final

# 5a9d648f 27-May-2004 Andi Gutmans <andi@php.net>

- RC3RC1

# 87a9f7bd 25-Apr-2004 Andi Gutmans <andi@php.net>

- RC3-dev

# 94c44ea9 25-Apr-2004 Andi Gutmans <andi@php.net>

- RC2

# 206f0da2 21-Apr-2004 Andi Gutmans <andi@php.net>

- RC2-dev

# 40c20d3d 21-Apr-2004 Andi Gutmans <andi@php.net>

- Prepare for RC2RC2 (if everything is OK especially Zeev's interface
- patch I'll roll RC2 tomorrow).

# 245dd736 14-Apr-2004 Andi Gutmans <andi@php.net>

- RC2-dev

# acc4cd17 14-Apr-2004 Andi Gutmans <andi@php.net>

- RC2RC1

# 1c7cfe73 03-Apr-2004 Andi Gutmans <andi@php.net>

- Nuke code which hasn't been in use for ages.

# 52303217 30-Mar-2004 Marcus Boerger <helly@php.net>

- Fix Reflection class names
- Add ability to get the extension an internal class was defined in
# This is the patch Andi and me used to search for underscrores...

# 81400030 18-Mar-2004 Andi Gutmans <andi@php.net>

- Back to RC2-dev

# aac5c1f6 18-Mar-2004 Zeev Suraski <zeev@php.net>

Prepare to roll RC1

# 6535933f 16-Mar-2004 Derick Rethans <derick@php.net>

- Replaced the exec_finished hook by the zend_post_deactive hook for
extensions. The new hook will be run after the symbol table and destructors
are run. (Derick)

# b74128db 16-Mar-2004 Sascha Schumann <sas@php.net>

Enable ptr format check for GCC 3.1 and higher

# 365f0120 16-Mar-2004 Ilia Alshanetsky <iliaa@php.net>

Do not allow 3.0.4 for __attribute__.

# fa5f5271 16-Mar-2004 Ilia Alshanetsky <iliaa@php.net>

Fixed bug #27600 (GCC 3.0.4 does not like __attribute__ directive)

# 97f81830 15-Mar-2004 foobar <sniper@php.net>

- Fixed bug #24582 (extensions can not be loaded dynamically in Solaris/iPlanet)

# 494d8207 09-Mar-2004 Marcus Boerger <helly@php.net>

No longer needed

# 1727c6a2 20-Feb-2004 Hartmut Holzgraefe <hholzgra@php.net>

more EXTERN_C wrapping of ZEND_API prototypes

# 3a3f95a3 18-Feb-2004 Hartmut Holzgraefe <hholzgra@php.net>

wrap ZEND_API prototypes into BEGIN_EXTERN_C/END_EXTERN_C
for C++ extension support

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

# e94e3e17 14-Dec-2003 Zeev Suraski <zeev@php.net>

Some cleanup

# e2012609 11-Dec-2003 Ilia Alshanetsky <iliaa@php.net>

Fixed extra byte allocation for TRUE/FALSE/ZEND_THREAD_SAFE/NULL constants.

# 3c62b3b5 22-Oct-2003 Marcus Boerger <helly@php.net>

Expand Interface C API.
In short: zend_class_entry->interface_gets_implemented() allows to modify
the class entry of a class when an interface gets implemented.

# b0b82541 18-Oct-2003 Marcus Boerger <helly@php.net>

Fix class/iterator relationship & handling

# 25aa8b71 17-Oct-2003 Marcus Boerger <helly@php.net>

Added c-api for iterators
# After 4 Month work and endless discussions...

# 149f7860 03-Oct-2003 Moriyoshi Koizumi <moriyoshi@php.net>

Bug #25738 (alloca() related problems on the Darwin platform)

# 1c86e532 14-Sep-2003 Marcus Boerger <helly@php.net>

Bugfix #25528 (by Ard Biesheuvel)

# d45fd8a1 31-Aug-2003 Marcus Boerger <helly@php.net>

Make vspprintf available as zend utility function. Use it in exception output.

# 744c68e4 28-Aug-2003 Sascha Schumann <sas@php.net>

older gccs don't understand attribute((format)) on function pointers

# 83bd1f43 28-Aug-2003 Sascha Schumann <sas@php.net>

ZEND_GCC_VERSION should always be defined to a number so we can use
simple comparisons all the time.

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

Add format attribute to a number of functions

Kill a few warnings

# 169d43e5 28-Aug-2003 Sascha Schumann <sas@php.net>

cleanup & centralize ZEND_GCC_VERSION and ZEND_ATTRIBUTE_MALLOC so that
they can be used by downstream applications

# 28447d62 25-Aug-2003 foobar <sniper@php.net>

- Fixed bug #25240 (spaces before pre-processor directives)

# 49c4866a 18-Aug-2003 Zeev Suraski <zeev@php.net>

- Improve tracking
- Fix several overloading issues

# 602d1b00 17-Aug-2003 Sascha Schumann <sas@php.net>

One bit fields need to be unsigned, otherwise there is no storage for
the sign bit

"A signed bit field has a length of 1 bit."

# fe9b5870 04-Aug-2003 Zeev Suraski <zeev@php.net>

Add logical XOR, proves to be quite useful lately

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

# 2fd4ffce 30-Jul-2003 Zeev Suraski <zeev@php.net>

Add exec_finished() callback for modules - this is the last place where the
modules may touch the symbol table reliably

# 237116aa 23-Jul-2003 Stanislav Malyshev <stas@php.net>

Remove namespace leftovers

# aad79769 19-Jul-2003 foobar <sniper@php.net>

Fix the HPUX alloca fix as suggested by Sascha

# 99d0a5c8 19-Jul-2003 Andi Gutmans <andi@php.net>

- Don't use alloca on HP-UX (Moriyoshi Koizumi <moriyoshi@at.wakwak.com>)

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

updating license information in the headers.

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

# bfaf618b 18-Apr-2003 Derick Rethans <derick@php.net>

- Revert my symbol fix patch, and merge in Stas' fixes to Zend Engine 1.

# bd77233e 18-Apr-2003 Derick Rethans <derick@php.net>

- MacOSX also prepends the _ before symbols in bundles

# 5657b836 31-Mar-2003 Andrei Zmievski <andrei@php.net>

Multi-purpose patch:
- The fields of zend_namespace were not completely initialized which
led to a variety of problems.
- The occurrence of class/interface/namespace definition is now
captured.
- Functions/classes/interfaces/namespaces can be preceded by doc
comments which are stored for use by extensions.

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

Add support for interfaces

# 955636af 18-Feb-2003 Zeev Suraski <zeev@php.net>

Avoid using a C++ reserved word

# e52aac94 18-Feb-2003 Wez Furlong <wez@php.net>

Implement simple stream support in the ZE scanners.

# a4c3b2ce 16-Feb-2003 Stanislav Malyshev <stas@php.net>

Namespace patch. Big changes:
1. Nested classes are gone.
2. New syntax for namespaces:
namespace foo {
class X { ... }
function bar { ... }
var x = 1;
const ZZ = 2;
}
3. Namespaced symbol access: $x = new foo::X; - etc.
For now, namespaces are case insensitive, just like classes.
Also, there can be no global class and namespace with the same name
(to avoid ambiguities in :: resolution).

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

Centralize class initialization

# 17439aa9 05-Feb-2003 Zeev Suraski <zeev@php.net>

Rework static class properties - now supports access restrictions

# 471947b1 04-Feb-2003 Zeev Suraski <zeev@php.net>

Reimplement PPP properties

# 31196cf6 02-Feb-2003 Zeev Suraski <zeev@php.net>

whitespace

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

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

# 7431b522 15-Jan-2003 Sascha Schumann <sas@php.net>

Revert commit which turned the lengths of strings into zend_uint.

# d48ffd97 12-Jan-2003 Stanislav Malyshev <stas@php.net>

RIP handle_* functions. ZE2 will use __ handlers instead.
# Yes, I know this will break some things. I will fix those I can find shortly.

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

ZTS fixes.

# 24d03425 08-Jan-2003 James Cox <imajes@php.net>

cvs is dev not alpha.

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

Bump year.

# e062dffe 06-Dec-2002 Zeev Suraski <zeev@php.net>

- Implement public/protected/private methods.
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.

# 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

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

MFZE1 - error_reporting fix

# 32e8ee9b 11-Nov-2002 Ilia Alshanetsky <iliaa@php.net>

MFZE1

# bd115087 19-Sep-2002 Zeev Suraski <zeev@php.net>

MFZE1 - connection_status() fix

# 711be83d 17-Sep-2002 Zeev Suraski <zeev@php.net>

MFZE1 - threading fix

# e3ca0ff0 08-Sep-2002 Andi Gutmans <andi@php.net>

- Prepare for alpha 3

# d8651c82 04-Sep-2002 Stanislav Malyshev <stas@php.net>

Support for __get, __set and __call in classes.
This should work as follows: if class hasn't member with given name,
__get/__set is called. If class has no method with given name, __call is called.
__get/__set are not recursive, __call can be.

# e801a99a 03-Sep-2002 Zeev Suraski <zeev@php.net>

MFZE1

# cfad3c66 03-Sep-2002 Sebastian Bergmann <sebastian@php.net>

Add html_errors to zend_utility_values. Patch by Jan Lehnardt <jan@php.net>.

# 88d3154b 13-Aug-2002 Zeev Suraski <zeev@php.net>

MFZE1

# 0650a59a 18-Jul-2002 Derick Rethans <derick@php.net>

- MFZE1 - MacOSX fixes by Marko Karppinen

# bc5ea87e 15-Jul-2002 Andi Gutmans <andi@php.net>

- Commit patch to support protected member variables (by Timm Friebe w/
- some fixes by me).
- You can't access protected variables from outside the object. If you want
- to see a protected member from your ancestors you need to declare the
- member as protected in the class you want to use it in. You can't
- redeclare a protected variable as private nor the other way around.

# f24cb973 29-Jun-2002 Andi Gutmans <andi@php.net>

- Get ready for alpha2

# 6339bd59 29-Jun-2002 Andi Gutmans <andi@php.net>

- Fix bug 15037
- Bump version to alpha2-dev

# ba72dbf3 24-Jun-2002 Andi Gutmans <andi@php.net>

- MFZE1

# 90f43c78 08-Jun-2002 Andi Gutmans <andi@php.net>

- This should improve performance on Windows

# bc95839f 30-May-2002 Venkat Raghavan S <rvenkat@php.net>

NetWare changes

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

# 51e797f1 23-Apr-2002 Harald Radi <phanto@php.net>

some type cleanup work

# a68b4481 07-Apr-2002 Stanislav Malyshev <stas@php.net>

make compatible with current PHP

# d5e64b22 20-Mar-2002 Harald Radi <phanto@php.net>

added thread safe hashtable which allows concurrent
reads but only exclusive writes

# a990c4da 19-Mar-2002 Andi Gutmans <andi@php.net>

- Finish covering all parsed methods to check for validity in parser.
- Change zval's refcount to zend_uint (If it doesn't slow down the Engine
- too much it should probably stay this way). If anyone has time to test
- the difference in speed between zend_ushort & zend_uint in zend.h of
- the struct _zval_struct (one line change) I'd be glad to get some
- figures.

# 0ee65254 12-Mar-2002 Andi Gutmans <andi@php.net>

- Forgot to close comment.

# 9760fdcb 12-Mar-2002 Andi Gutmans <andi@php.net>

- Macro for duality between Engine 1 and 2

# fb6976e4 12-Mar-2002 Andi Gutmans <andi@php.net>

- Another couple of indirection fixes.
- Make class_entry->refcount be part of the structure and not allocated.

# 92dd5e61 12-Mar-2002 Stanislav Malyshev <stas@php.net>

- make class tables contain class_entry *, not class_entry
- fix isset($this)

# 00e90f2f 21-Feb-2002 Andi Gutmans <andi@php.net>

- Experimental support for private members.
<?
class MyClass {
private $Hello = "Hello, World!\n";

function printHello()
{
print $this->Hello;
}
}

class MyClass2 extends MyClass {
function printHello()
{
MyClass::printHello(); /* Should print */
print $this->Hello; /* Shouldn't print out anything */
}
}

$obj = new MyClass();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello(); /* Should print */

$obj = new MyClass2();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello();
?>

# cefbdccb 14-Feb-2002 Stanislav Malyshev <stas@php.net>

Pass TSRM to create_object

# 6608f073 07-Feb-2002 Stanislav Malyshev <stas@php.net>

Mega-commit: Enter the new object model
Note: only standard Zend objects are working now. This is definitely going to
break custom objects like COM, Java, etc. - this will be fixed later.
Also, this may break other things that access objects' internals directly.

# 62dc854b 06-Jan-2002 Sebastian Bergmann <sebastian@php.net>

Happy New Year.

# 8a0c756c 29-Dec-2001 Andi Gutmans <andi@php.net>

- #define to help #ifdef stuff in PHP sources to make them work w/ ZE1 and
- 2

# 73b159e0 27-Dec-2001 Andi Gutmans <andi@php.net>

- Experimental support for destructors. We need to see if destructors
- will actually work well in the context of PHP so we should consider this
- as experimental. Possible problems might be that when the constructor is
- run PHP might not be in a stable state.

# 29ea3da2 26-Dec-2001 Andi Gutmans <andi@php.net>

- Pretty much finish _clone() support

# f4b832d2 13-Dec-2001 Andi Gutmans <andi@php.net>

- Fix crash bug in startup code.
- Start work on being able to reference global and local scope

# 74efc41f 12-Dec-2001 Andi Gutmans <andi@php.net>

- Make classes have scope and function/constant lookups default to the class

# 4cb97fa3 11-Dec-2001 Andi Gutmans <andi@php.net>

- Rename zend_class_entry.constants -> zend_class_entry.constants_table

# d863d52a 11-Dec-2001 Sebastian Bergmann <sebastian@php.net>

Update headers.

# 4345f8a0 11-Dec-2001 Sebastian Bergmann <sebastian@php.net>

MFZE1 (AIX fixes)

# 3bfee898 10-Dec-2001 Andi Gutmans <andi@php.net>

- More namespaces work.
- Nuke memory leak.

# e858d278 30-Nov-2001 Andi Gutmans <andi@php.net>

- Initial support for class constants. There are still a few semantic
- issues which need to be looked into but basically it seems to work.
- Example:
<?php
class foo
{
const hey = "hello";
}

print foo::hey;
?>

# d2da63f6 25-Nov-2001 Andi Gutmans <andi@php.net>

- Support static members. The following script works:
<?
class foo
{
class bar
{
function init_values()
{
for ($i=1; $i<10; $i++) {
foo::bar::$hello[$i] = $i*$i;
}
}

function print_values()
{
for ($i=1; $i<10; $i++) {
print foo::bar::$hello[$i] . "\n";
}
}
}
}

foo::bar::init_values();
foo::bar::print_values();

for ($i=1; $i<10; $i++) {
print $hello[$i]?"Shouldn't be printed\n":"";
}
?>

# 48e54e0c 03-Nov-2001 Andi Gutmans <andi@php.net>

- RISC OS patch by Alex Waugh

# b87194e0 03-Nov-2001 Andi Gutmans <andi@php.net>

- Add constructor to the zend_class_entry instead of looking it up each
- time by name.
- This will allow the next patch of being able to instantiate nested
- classes such as new foo::bar::barbara();

# 26578c38 29-Oct-2001 Andi Gutmans <andi@php.net>

- Initial support for nested class definitions

# 2eabb14d 30-Sep-2001 Andi Gutmans <andi@php.net>

- Merge the NAMESPACES_BRANCH. It wasn't a good idea to have a branch when
- the whole CVS tree is work in progress

# 2a0a07b8 26-Aug-2001 Stanislav Malyshev <stas@php.net>

Add dlsym underscore detection, by Jani Taskinen

# 718f323e 19-Aug-2001 Andi Gutmans <andi@php.net>

- Fix compile problem

# ea48c0c4 16-Aug-2001 Andi Gutmans <andi@php.net>

- Fix a bug in method calls.
- Try to get the old copying behavior of objects to work (doesn't work yet).

# 4f6c95d1 11-Aug-2001 Zeev Suraski <zeev@php.net>

Whitespace

# f5ea49a6 11-Aug-2001 Andi Gutmans <andi@php.net>

- For Sebastian. Will allow to see you're using the Engine 2 CVS via
phpinfo()

# 2f6cd308 08-Aug-2001 Andi Gutmans <andi@php.net>

- Merge zend_try fix from Engine 1

# 5af7770a 07-Aug-2001 Andi Gutmans <andi@php.net>

- Sync Engine2 CVS with latest Engine CVS

# d76cf1da 31-Jul-2001 Zeev Suraski <zeev@php.net>

More TSRMLS_FETCH work

# b40db64d 28-Jul-2001 Andi Gutmans <andi@php.net>

- Small patch to allow fixing the PHP tree to be compatible w/ the initial
- Zend 2 objects patch. Hopefully I can commit that this week.

# b4f3b9d3 28-Jul-2001 Zeev Suraski <zeev@php.net>

Redesigned thread safety mechanism - nua nua

# 6be787a9 28-Jul-2001 Sascha Schumann <sas@php.net>

Fix build

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

# ef4fe54f 21-Jul-2001 Zeev Suraski <zeev@php.net>

Always track bailout file/lineno

# 931ebe08 21-Jul-2001 Zeev Suraski <zeev@php.net>

Improve bailout mechanism, supports nesting of bailouts a-la try..catch

# fb532ba5 16-Jul-2001 Zeev Suraski <zeev@php.net>

Fix bug #10467

# 12db900a 24-Jun-2001 Andi Gutmans <andi@php.net>

- Bump Zend version

# 996e9a72 11-May-2001 Sascha Schumann <sas@php.net>

add missing closing paranthesis

# 62cc5c9c 01-May-2001 Andi Gutmans <andi@php.net>

- Bump up Zend version

# 4e71bbed 28-Apr-2001 Zeev Suraski <zeev@php.net>

include limits.h if available

# b87bac78 28-Apr-2001 Zeev Suraski <zeev@php.net>

Fix bug 5661

# 0971ff99 27-Apr-2001 Andi Gutmans <andi@php.net>

- Whitespace changes to be standard like the rest of Zend

# d2c9e807 26-Feb-2001 Andi Gutmans <andi@php.net>

- Update copyright year

# e4f4983c 14-Feb-2001 Stanislav Malyshev <stas@php.net>

allow more extensions with resources

# 3353ad7e 21-Jan-2001 Andi Gutmans <andi@php.net>

- Make people happy who like the Zend version number bumped up in parallel
with PHP.

# 0e08845e 15-Jan-2001 Zeev Suraski <zeev@php.net>

Add free_estring()

# 903018ef 07-Jan-2001 Zeev Suraski <zeev@php.net>

- Remove backward dependency from PHP -> Zend
- Rename get_ini_entry() as get_configuration_directive() for clarity
(it doesn't use the INI subsystem, but the module-supplied function for
retrieving configuration directives)

# 6b23ef6c 03-Jan-2001 Zeev Suraski <zeev@php.net>

Commit missing declaration

# 35f4826f 20-Nov-2000 Stanislav Malyshev <stas@php.net>

Add macro to replace value of zval with another value while preserving
referencing structure

# 84f81c50 11-Oct-2000 Zeev Suraski <zeev@php.net>

Update version

# e7f10a41 29-Aug-2000 Andi Gutmans <andi@php.net>

- Update Zend version.

# fcdc025d 04-Aug-2000 Andi Gutmans <andi@php.net>

- Beautify code. Try and use more macros for splitting instead of
- replicating the code everywhere.

# 1cce5ed1 08-Jul-2000 Andi Gutmans <andi@php.net>

- Add zend_ulong

# b982307d 02-Jul-2000 Sascha Schumann <sas@php.net>

Change header protection macros to conform to standard.

Draft 3 of IEEE 1003.1 200x, "2.2 The Compilation Environment"

All identifiers that begin with an underscore and either an uppercase
letter or another underscore are always reserved for any use by the
implementation.

# f34b9d41 29-Jun-2000 Zeev Suraski <zeev@php.net>

Add $context argument to error handler

# 38602546 28-Jun-2000 Andi Gutmans <andi@php.net>

version update

# 8e45536c 26-Jun-2000 Zeev Suraski <zeev@php.net>

Make it possible to detect whether we're thread safe or not from PHP scripts and the php.ini
file

# 536221be 18-Jun-2000 Stanislav Malyshev <stas@php.net>

Make error callback be publicly accessible

# 968d2c5b 12-Jun-2000 Zeev Suraski <zeev@php.net>

Get rid of <?php_track_vars?>

# 98bf43f2 06-Jun-2000 Zeev Suraski <zeev@php.net>

Enable asp_tags/short_tags/allow_call_time_pass_by_reference to work on a per-directory
basis as well

# d4b160c0 03-Jun-2000 Zeev Suraski <zeev@php.net>

- Export normalize_bool
- This global/static syntax fix brought us back to the 4 documented conflicts

# 0b7a9cea 03-Jun-2000 Zeev Suraski <zeev@php.net>

- Fix Win32 compilation (Use winsock2.h from now on)
- Add lambda() support

# 8a8c3eaf 02-Jun-2000 Zeev Suraski <zeev@php.net>

Nuke the old error code, use the new one

# 898c8ead 31-May-2000 Zeev Suraski <zeev@php.net>

IS_BC isn't really being used, but still...

# 13b67621 31-May-2000 Zeev Suraski <zeev@php.net>

Fix a bug in static initializers/default values/class member variables that contained
array values

# cc590f49 21-May-2000 Andi Gutmans <andi@php.net>

- Get ready for release

# 0d6a794d 11-May-2000 Zeev Suraski <zeev@php.net>

Get rid of chval - it's really not necessary and seems to be confusing people

# 63b7056f 08-May-2000 Andi Gutmans <andi@php.net>

- Change Zend Engine version number

# b80b8381 27-Apr-2000 Zeev Suraski <zeev@php.net>

More error handling work (still completely disabled)

# a20e90ab 25-Apr-2000 Zeev Suraski <zeev@php.net>

We'll need two...

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

# e663d856 10-Apr-2000 Zeev Suraski <zeev@php.net>

Fix object overloading support

# 9df63e18 26-Mar-2000 Andi Gutmans <andi@php.net>

- Didn't see Thies' commit message although I can't really see how it would
make a difference

# b763b25c 26-Mar-2000 Andi Gutmans <andi@php.net>

- Include Andrea's fix for alloca.h

# 7ec4e5e2 26-Mar-2000 Thies C. Arntzen <thies@php.net>

<alloca.h> needs to be included before we define macros calling alloca()
atleast using SGI's cc - should not harm other platforms (i hope)

# 5dba4774 25-Mar-2000 Zeev Suraski <zeev@php.net>

- Some header dependencies cleanup
- Generalize zval_print() and zval_print_r()

# 1e4e9b34 25-Mar-2000 Sam Ruby <rubys@php.net>

RTLD_NOW => RTLD_LAZY|RTLD_GLOBAL

# 326f69f5 22-Mar-2000 Andi Gutmans <andi@php.net>

- Change Zend version as API has changed

# 13e74131 21-Mar-2000 Andi Gutmans <andi@php.net>

- Change zend_startup to accept a flag for starting builtin functions

# bf18f876 21-Mar-2000 Andi Gutmans <andi@php.net>

- Move #defines

# 8b807770 18-Mar-2000 Andi Gutmans <andi@php.net>

- Fix compile problem on FreeBSD

# 512ff32f 18-Mar-2000 Andi Gutmans <andi@php.net>

- No reason for refcount to be signed and move to zend_* typedefs

# 15dd8e61 15-Mar-2000 Zeev Suraski <zeev@php.net>

- Fix newly introduced problem reported by Sam Ruby

# e92f6f15 13-Mar-2000 Andi Gutmans <andi@php.net>

- define zend_uint and zend_uchar and use them in a few places

# fc173b6a 06-Mar-2000 Sam Ruby <rubys@php.net>

Unresolved externs

# 5e55e47f 06-Mar-2000 Zeev Suraski <zeev@php.net>

It's official now...

# 56251a72 05-Mar-2000 Zeev Suraski <zeev@php.net>

Wrap some commonly unused callbacks

# 0ac9536d 19-Feb-2000 Zeev Suraski <zeev@php.net>

(c) patch

# f1a2ee55 17-Feb-2000 Andi Gutmans <andi@php.net>

- Add ZEND_API

# 9b840c5f 16-Feb-2000 Andi Gutmans <andi@php.net>

- Hopefully fix Thies' bug report.

# 80bdd19e 11-Feb-2000 Zeev Suraski <zeev@php.net>

Fine tune Andi's patch

# b48eebb1 10-Feb-2000 Andi Gutmans <andi@php.net>

- #define ZEND_WIN32 differently

# bc5c9d8d 10-Feb-2000 Andi Gutmans <andi@php.net>

- Finally beautify those WIN32|WINNT checks

# f207b362 05-Feb-2000 Zeev Suraski <zeev@php.net>

Pass the executor globals to internal functions

# 9f51f154 05-Feb-2000 Zeev Suraski <zeev@php.net>

- Stop passing list/plist to internal functions
- Add a typedef for the pCopyConstructor function pointer
- Minor hacks

# 059b64ef 28-Jan-2000 Andi Gutmans <andi@php.net>

- Make sure its use is understood.

# c2305671 28-Jan-2000 Andi Gutmans <andi@php.net>

- Double the speed of some key switch() tests for Win32.

# fafbf6d8 24-Jan-2000 Zeev Suraski <zeev@php.net>

- Implement declare() with declarables framework
- Implement ticks - Germany&Norway - 5 points!

# f2493122 13-Jan-2000 Zeev Suraski <zeev@php.net>

Make Win32 compile again

# bf7b292d 12-Jan-2000 Sascha Schumann <sas@php.net>

Move dl stuff from acconfig.h into zend.h. That allows us finer control
when it comes to suppressing dlfcn.h.

# 44e9e959 04-Jan-2000 Andi Gutmans <andi@php.net>

- Rename IS_BC to FLAG_IS_BC. We will probably nuke it.

# b8cebe32 04-Jan-2000 Andi Gutmans <andi@php.net>

- Separate the overloaded objects' types from Zend's data types.
There is no reason for them to be the same, and IS_METHOD just cluttered
there data types.

# 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

# aec33aa7 26-Dec-1999 Zeev Suraski <zeev@php.net>

Introduce a zval-specific cache - 5-15% speed improvement

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

# 5ba5f00f 22-Dec-1999 Zeev Suraski <zeev@php.net>

export

# f0888cca 21-Dec-1999 Zeev Suraski <zeev@php.net>

Fix the highlighting problem. STR_REALLOC() should be used instead of plain erealloc()
whenever you're dealing with strings that might be coming back from the engine - there seem
to be a few other places like this in PHP.

# be1bb283 20-Dec-1999 Zeev Suraski <zeev@php.net>

- Fix the crash Thies was experiencing (returning a function call could cause a crash)
- Fix the leak Thies was experiencing (@fcall() leaked)

# 223c674c 19-Dec-1999 Zeev Suraski <zeev@php.net>

- Made things work again (Thies, everybody - please check the latest CVS and see if you're
still getting any problems)
- Changed the interface of call_user_function_ex() to support returning of references

# 213d0e2f 19-Dec-1999 Andi Gutmans <andi@php.net>

- More fixes related to the return references patch
- eval_string() and call_user_function_ex() still don't work.
- The libzend tree is untested and might not be stabl yet.

# a1ad2872 18-Dec-1999 Zeev Suraski <zeev@php.net>

- The tree compiles again

# 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

# ced9cee1