Commit Graph

439 Commits

Author SHA1 Message Date
Nikita Popov
0d6358f2cf Drop support for printf p modifier
To be conservative, cause a fatal error if the p modifier is
encountered, in case this is still used by some extension.
2021-06-16 17:59:00 +02:00
Nikita Popov
e11468a79b Remove ZVAL_NEW_ARR() macro
This macro is a footgun because it creates an uninitialized array
(only an allocation). This macro is no longer used in php-src,
and we have better alternatives like array_init() or
ZVAL_ARR(arr, zend_new_array(size_hint)).
2021-06-07 12:49:58 +02:00
Anatol Belski
805b391d99
NEWS: UPGRADING.INTERNALS: Add PCRE2 10.37 info
[ci skip]

Signed-off-by: Anatol Belski <ab@php.net>
2021-05-30 13:06:16 +02:00
George Peter Banyard
612609e1bd
Refactor PGSQL extension to use zend_string*
* Prevents some unnecessary strlen() computation
 * Use interned "NULL"
 * Certain PGSQL_API functions now accept zend_string* instead of char*

Closes GH-6792
2021-04-19 20:33:40 +01:00
George Peter Banyard
fabcfd6d81
Formalize return type to zend_result for PGSQL_API functions 2021-04-19 20:33:05 +01:00
George Peter Banyard
dcdc5d9069 Drop -Wno-implicit-fallthrough compiler flag
And add it back to ext/date, ext/hash, and ext/opcache
2021-04-19 13:59:18 +01:00
twosee
cb8f39f247
Add zend_get_opcode_id() to get opcode id from name 2021-04-06 11:44:10 +08:00
George Peter Banyard
caaf2e9981 [skip-ci] Update UPGRADING documents for the new argument for fputcsv() 2021-03-29 13:55:18 +01:00
Dmitry Stogov
c732ab400a Change Zend Stream API to use zend_string* instead of char*.
This allows to eliminate re-calculation of string lenght and hash value.
See the detailed list of changes in UPGRADING.INTERNALS.
2021-03-16 20:31:36 +03:00
George Peter Banyard
0807c6cbb0 Remove php_pdo_str_tolower_dup() function 2021-03-15 14:48:33 +00:00
Máté Kocsis
91739b8c89
Fix bug #80816 Document the removal of alias class entries from ext/spl
Closes GH-6748 [skip-ci]
2021-03-03 09:43:55 +01:00
Anatol Belski
6055b72d0e UPGRADING: Add note about xxHash secret and fix a typo
[ci skip]

Signed-off-by: Anatol Belski <ab@php.net>
2021-02-21 13:36:28 +01:00
George Peter Banyard
a78aea8948 Refactor PDO's last inserted ID handler to use and return zend_string
Closes GH-6617
2021-01-19 11:54:25 +00:00
George Peter Banyard
94ea8e247b Refactor PDO doer handler to use zend_string 2021-01-19 11:42:39 +00:00
George Peter Banyard
63cda0fea8 Refactor PDO's quoter handler to return a zend_string
Closes GH-6547
2021-01-07 15:53:48 +00:00
George Peter Banyard
9052f3b7d2 Update UPGRADIN.INTERNALS 2021-01-06 10:26:37 +00:00
Nikita Popov
caa710037e Rewrite PDO result binding
Instead of requiring the type to be determined in advance by the
describer function and then requiring get_col to return a buffer
of appropriate type, allow get_col to return an arbitrary zval.
See UPGRADING.INTERNALS for a more detailed description of the
change.

This makes the result fetching simpler, more efficient and more
flexible. The general possibility already existed via the special
PDO_PARAM_ZVAL type, but the usage was very inconvenient and/or
inefficient. Now it's possible to easily implement behavior like
"return int if it fits, otherwise string" and to avoid any kind
of complex management of temporary buffers.

This also fixes bug #40913 (our second highest voted bug of all
time, for some reason). PARAM_LOB result bindings will now
consistently return a stream resource, independently of the used
database driver.

I've tried my best to update all PDO drivers for this change, but
some of the changes may be broken, as I cannot test or even build
some of these drivers (in particular PDO dblib and PDO oci).
Fixes are appreciated -- a working CI setup would be even more
appreciated ;)
2020-12-22 15:56:34 +01:00
Anatol Belski
ffcc93e3e5 UPGRADING.INTERNALS: Document hash init signature changes [ci skip]
Signed-off-by: Anatol Belski <ab@php.net>
2020-12-13 16:52:01 +01:00
Gabriel Caruso
14806e0824
Prepare for PHP 8.1
Closes GH-6305.
2020-10-09 11:37:27 +02:00
George Peter Banyard
07a2f30417 Extensions should have the final say on their compiler flags
Currently compiler flags passed by extensions using the standard
``PHP_NEW_EXTENSION`` and ``PHP_ADD_SOURCES`` m4 macros are prepended
before the ones defined by ``Zend/Zend.m4``.

This was not really an issue before as ``Zend.m4`` only included
``-Wall`` but since the addition of ``-Wextra`` various issue about
disabling flags have been brought up.

A preliminary attempt was done in commit 5c1cf7669b
but this turns out to be more or less irrelevant.

The root issue is that  ``PHP_NEW_EXTENSION`` and ``PHP_ADD_SOURCES`` call the
``PHP_ADD_SOURCES_X`` macro and pass their flags as the 3rd argument which prepends
the flags. There exists a 6th argument for this macro which appends them but from a
cursory look at https://heap.space/search?full=PHP_ADD_SOURCES_X&project=php-src
this is not used. Moreover, the comment describing this macro explicitly informs
that this macro should not be used directly.

As such we drop the 6th argument of ``PHP_ADD_SOURCES_X`` and move the `special-flags`
argument to be appended instead of prepended.

Closes GH-6204
2020-09-28 13:18:47 +01:00
Christoph M. Becker
3e33e1e86d Check linker compatibility directly from HMODULE
Checking the linker compatibility with extranous `ImageLoad()` calls is
possible, but unnecessary, since the modules are either already loaded
or loaded shortly afterwards, so that we can get the required
information directly from the module handles.  And actually, doing
`ImageLoad()` as well as `LoadLibrary()` leaves a tiny room for a race
condition, because both functions will lookup the module in the search
path, so there is no *guarantee* that both are dealing with the same
module.  Dropping the `ImageLoad()` calls also has the advantage to no
longer face the issue reported in bug #79557.  A very minor additional
advantage is that we no longer have to link against Imagehlp.dll.

Furthermore, there is no need to check for CRT compatibility multiple
times, so we can simplify the signature of `php_win32_crt_compatible`,
and at the same time clean up main.c a bit.

These changes require to change the signature of the exported
`php_win32_image_compatible` and `php_win32_crt_compatible` functions,
which now expect a `HMODULE` and nothing, respectively, instead of the
module name.
2020-09-21 16:25:31 +02:00
Sammy Kaye Powers
12306728c5
Add system ID entropy API
The `zend_system_id` is a (true global) system ID that fingerprints a process state. When extensions add engine hooks during MINIT/startup, entropy is added the system ID for each hook. This allows extensions to identify that changes have been made to the engine since the last PHP process restart.

Closes GH-5871
2020-09-18 14:26:44 -07:00
Nikita Popov
34bb5ba2ea Remove support for EXT_NOP
This is an annoying edge case that regularly gets broken. As we're
not aware of significant users of this API, and there are other
ways to hook this, remove support for EXT_NOP.
2020-09-18 11:03:08 +02:00
Benjamin Eberlei
1359a52d5b Rename zend_error_notify APIs to zend_observer_error* 2020-09-14 19:29:14 +02:00
George Peter Banyard
7b3ac296a5 Fix mismatch between macro and struct definition 2020-09-03 14:01:45 +02:00
George Peter Banyard
fa8d9b1183 Improve type declarations for Zend APIs
Voidification of Zend API which always succeeded
Use bool argument types instead of int for boolean arguments
Use bool return type for functions which return true/false (1/0)
Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics

Closes GH-6002
2020-08-28 15:41:27 +02:00
George Peter Banyard
1b2ec73c1d Drop various unused macros/APIs
Also convert_libmagic_pattern() to return a zend_string*

Closes GH-6029
2020-08-26 12:59:43 +02:00
Nikita Popov
45ece5bf19 Add UPGRADING.INTERNALS notes for zend_object* changes
Closes GH-5953.
2020-08-07 16:40:27 +02:00
Máté Kocsis
af80d8a14e
Add more argument types to stubs
Closes GH-5943
2020-08-07 12:35:30 +02:00
Nikita Popov
0d836a39a7 Revert "Prepare for PHP 8.1"
This reverts commit 1ab4d0e6b7.
This reverts commit a359635cb1.
2020-08-04 22:24:44 +02:00
Gabriel Caruso
a359635cb1
Prepare for PHP 8.1 2020-08-04 18:46:14 +02:00
Tyson Andre
650801ce45 [skip ci] Fix grammar/typo nits in docs
The PHP error message says "well-formed", not "well formed"

Fixes GH-5920
2020-08-01 18:03:45 -04:00
Máté Kocsis
02b03df91a
Document the signature change of zend_get_closure_method_def() 2020-07-31 10:04:49 +02:00
Nikita Popov
e2f39f84e2 Remove PHP_CHECK_GCC_ARG()
In favor of AX_CHECK_COMPILE_FLAG(), which we bundle since at least
PHP 7.

Closes GH-5904.
2020-07-29 15:07:53 +02:00
Benjamin Eberlei
4890bf19aa Add error notification callbacks to UPGRADING.INTERNALS 2020-07-17 15:51:15 +02:00
Nikita Popov
f60cf0cfe7 Remove type argument from zend_get_zval_ptr
As pointed out by Levi, this is unused, and we already changed
the signature of this function for PHP 8.
2020-07-15 09:51:51 +02:00
George Peter Banyard
4f3eccfd4d Use consistent types
uint32_t type for argument count
size_t for length of char*
zend_bool for a zval bool arg

Closes GH-5845
2020-07-13 13:30:54 +02:00
Nikita Popov
0280c64a2e Add upgrading note
[ci skip]
2020-07-13 11:47:25 +02:00
George Peter Banyard
9839752a9c Voidify some ZEND_API functions
Closes GH-5805
2020-07-09 14:15:57 +02:00
Nikita Popov
302933daea Remove no_separation flag 2020-07-07 09:30:24 +02:00
Remi Collet
8d1a1120bf [skip ci] add upgrade note
Closes GH-5798
2020-07-06 10:57:55 +02:00
Christoph M. Becker
8d9637bdac [ci skip] (Hopefully) clarify meaning 2020-07-01 12:04:54 +02:00
Christoph M. Becker
942f341b4e Document zend_hash_sort and zend_ts_hash_sort signature change
Cf. <https://github.com/php/php-src/pull/3936>.
2020-07-01 10:11:58 +02:00
Alex Dowad
7b4179e8da Update UPGRADING.INTERNALS re: removed --disable-inline-optimization switch
This build configuration switch was removed in 3a19726bce.
2020-06-24 20:25:11 +02:00
Nikita Popov
ff19ec2df3 Introduce InternalIterator
Userland classes that implement Traversable must do so either
through Iterator or IteratorAggregate. The same requirement does
not exist for internal classes: They can implement the internal
get_iterator mechanism, without exposing either the Iterator or
IteratorAggregate APIs. This makes them usable in get_iterator(),
but incompatible with any Iterator based APIs.

A lot of internal classes do this, because exposing the userland
APIs is simply a lot of work. This patch alleviates this issue by
providing a generic InternalIterator class, which acts as an
adapater between get_iterator and Iterator, and can be easily
used by many internal classes. At the same time, we extend the
requirement that Traversable implies Iterator or IteratorAggregate
to internal classes as well.

Closes GH-5216.
2020-06-24 15:31:41 +02:00
Fabien Villepinte
293a0e797c Fix typo 2020-06-15 21:32:01 +02:00
Dmitry Stogov
f04f7c3995 Added note 2020-06-15 17:21:32 +03:00
Christoph M. Becker
68dd6cc92b Control VCRT leak reporting via environment variable in debug builds
Formerly, this had to be enabled by passing the configuration flag
`--enable-crt-debug`; now it can be enabled by setting the environment
variable `PHP_WIN32_DEBUG_HEAP`.  The advantage is that it is no longer
necessary to do separate builds, at the cost of a very minor
performance penalty during process startup.
2020-06-10 09:05:17 +02:00
George Peter Banyard
4865592525 Remove old ARG_COUNT() macro
Use ZEND_NUM_ARGS() instead.

Clsoes GH-5551
2020-05-11 16:52:04 +02:00
Nikita Popov
8fd7f02ea4 Make cast_object handler required
Avoid subtle differences in behavior depending on whether the
handler is absent or returns FAILURE.

If you previously set cast_object to NULL, create a handler that
always returns FAILURE instead.
2020-03-31 14:37:49 +02:00
Nikita Popov
33ef3d64da Use separate typedef for bucket comparison function
Avoid performing the same casting dance inside each sort compare
function.
2020-03-04 12:46:06 +01:00
Nikita Popov
b35b0142e6 Require all internal functions to have arginfo 2020-02-26 10:05:20 +01:00
Tyson Andre
d9b80efb57 [skip ci] Fix typos in UPGRADING
Closes GH-5183
2020-02-16 10:28:39 -05:00
Dmitry Stogov
64b40f69dc Make ASSIGN, ASSIGN_OP, INC and DEC opcodes to return IS_TMP_VAR instead of IS_VAR.
This helps to avoid unnecessary IS_REFERENCE checks.
This changes some notices "Only variables should be passed by reference" to exception "Cannot pass parameter %d by reference".

Also, for consistency, compile-time fatal error "Only variables can be passed by reference" was converted to exception "Cannot pass parameter %d by reference"
2020-02-07 13:36:52 +03:00
George Peter Banyard
2b5fb76de6 Apply custom format/length modifier removal to spprintf
This mimicks the changes made to the custom snprintf implementation
by removing the custom 'v' format and custom 'I' length modifier
from the spprintf implementation.

Closes GH-5108
2020-01-23 13:45:28 +01:00
George Peter Banyard
13178087c7 Drop the custom 'v' format from snprintf custom implementation.
Extensions should instead use the standard 's' format.

Closes GH-5100
2020-01-21 13:18:13 +01:00
George Peter Banyard
aaa1f90e3f Drop the custom I length modifier from snprintf custom implementation.
Extensions should rather use the ZEND_LONG_FMT, ZEND_ULONG_FMT and
ZEND_XLONG_FMT macros defined in php-src/Zend/zend_long.h

Closes GH-5089
2020-01-20 23:03:10 +01:00
Markus Staab
0eee18097f Fix typo [ci skip] 2019-10-07 23:11:19 +02:00
Dmitry Stogov
b02b81299c Comparison cleanup:
- introduce zend_compare() that returns -1,0,1 dirctly (without intermediate zval)
- remove compare_objects() object handler, and keep only compare() handler
2019-10-07 17:57:49 +03:00
Christoph M. Becker
652c09ecf7 [ci skip] Update UPGRADING.INTERNALS
Cf. <http://git.php.net/?p=php-src.git;a=commit;h=0c7124e6beff0a7b0540691db370148be06d242a>.
2019-09-24 16:20:18 +02:00
Peter Cowburn
4253811c42 upgrading notes for ValueError/zend_value_error() 2019-09-10 13:19:24 +01:00
Dmitry Stogov
57d9b94dea Simplify TMP/VAR operand releasing 2019-07-24 14:13:40 +03:00
Peter Kokot
24fbda0505 Update changelog 2019-07-21 00:39:44 +02:00
Peter Kokot
9310ac2ab5 Symbol HAVE_PCRE has been removed 2019-07-14 23:02:52 +02:00
Peter Kokot
bbd19a127b [ci skip] Mention HAVE_HASH_EXT 2019-06-26 03:15:28 +02:00
Nikita Popov
4d90848d68 Don't verify arginfo types for internal functions
To avoid duplicate type checks. In debug builds arginfo is still
checked and will generate an assertions if the function doesn't
subsequently throw an exception.

Some test results change due to differences in zpp and arginfo
error messages.
2019-06-17 11:46:28 +02:00
Christoph M. Becker
1a5fde5894 Fix typo 2019-06-03 10:34:32 +02:00
Nikita Popov
8a0965e3d6 Remove zpp L specifier
We don't use this internally anymore, and external usages should
be encouraged to move towards 'l'.
2019-06-03 09:39:17 +02:00
Nikita Popov
45a0656e95 Remove get() object handler
Now that set() is gone, there is little point in keeping get(), as
it is essentially just a different way of writing cast_object()
now.

Closes GH-4202.
2019-05-29 17:15:19 +02:00
Nikita Popov
31a516cf96 Remove set() object handler 2019-05-29 10:00:06 +02:00
Joe Watkins
4383442923
Merge branch 'master' of git://github.com/php/php-src 2019-03-25 08:01:36 +01:00
Joe Watkins
bd73607b9e
TSRM cleanup for PHP8 2019-03-25 08:00:17 +01:00
Joe Watkins
161adfff3f
For consistency with Windows, and because ZTS is not experimental or a "maintainer" feature, this commits renames --enable-maintainer-zts to --enable-zts in the autotools build, and related documentation 2019-03-23 07:34:54 +01:00
Dmitry Stogov
f45e0ce928 Remove ZEND_OVERLOADED_FUNCTION and corresponding call_method object handler 2019-02-07 21:05:46 +03:00
Markus Staab
9d936669e8
fixed typo in UPGRADING.INTERNALS 2019-02-04 13:22:37 +01:00
Dmitry Stogov
6c81c4b613 Added note anout object habdlers API change 2019-02-04 13:47:09 +03:00
Nikita Popov
e118151139 Clear NEWS, UPGRADING and UPGRADING.INTERNALS 2019-01-28 11:17:30 +01:00
Nikita Popov
e219ec144e Implement typed properties
RFC: https://wiki.php.net/rfc/typed_properties_v2

This is a squash of PR #3734, which is a squash of PR #3313.

Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
Co-authored-by: Joe Watkins <krakjoe@php.net>
Co-authored-by: Dmitry Stogov <dmitry@zend.com>
2019-01-11 15:49:06 +01:00
Dmitry Stogov
76d8f3923e Revert HASH_FLAG_INITIALIZED into HASH_FLAG_UNINITIALIZED. 2018-12-28 11:22:18 +03:00
Dmitry Stogov
b95cd92b9d Added note about changes in class declaration opcodes 2018-12-24 10:51:48 +03:00
Dmitry Stogov
d356f6d72b Removed add_get_assoc_*() and add_get_index_*() API functions 2018-12-19 16:47:48 +03:00
Christoph M. Becker
3b0f051193 Allow empty $escape to eschew escaping CSV
Albeit CSV is still a widespread data exchange format, it has never been
officially standardized.  There exists, however, the “informational” RFC
4180[1] which has no notion of escape characters, but rather defines
`escaped` as strings enclosed in double-quotes where contained
double-quotes have to be doubled.  While this concept is supported by
PHP's implementation (`$enclosure`), the `$escape` sometimes interferes,
so that `fgetcsv()` is unable to correctly parse externally generated
CSV, and `fputcsv()` is sometimes generating non-compliant CSV.  Since
PHP's `$escape` concept is availble for many years, we cannot drop it
for BC reasons (even though many consider it as bug).  Instead we allow
to pass an empty string as `$escape` parameter to the respective
functions, which results in ignoring/omitting any escaping, and as such
is more inline with RFC 4180.  It is noteworthy that this is almost no
userland BC break, since formerly most functions did not accept an empty
string, and failed in this case.  The only exception was `str_getcsv()`
which did accept an empty string, and used a backslash as escape
character then (which appears to be unintended behavior, anyway).

The changed functions are `fputcsv()`, `fgetcsv()` and `str_getcsv()`,
and also the `::setCsvControl()`, `::getCsvControl()`, `::fputcsv()`,
and `::fgetcsv()` methods of `SplFileObject`.

The implementation also changes the type of the escape parameter of the
PHP_APIs `php_fgetcsv()` and `php_fputcsv()` from `char` to `int`, where
`PHP_CSV_NO_ESCAPE` means to ignore/omit escaping.  The parameter
accepts the same values as `isalpha()` and friends, i.e. “the value of
which shall be representable as an `unsigned char` or shall equal the
value of the macro `EOF`.  If the argument has any other value, the
behavior is undefined.”  This is a subtle BC break, since the character
`chr(128)` has the value `-1` if `char` is signed, and so likely would
be confused with `EOF` when converted to `int`.  We consider this BC
break to be acceptable, since it's rather unlikely that anybody uses
`chr(128)` as escape character, and it easily can be fixed by casting
all `escape` arguments to `unsigned char`.

This patch implements the feature requests 38301[2] and 51496[3].

[1] <https://tools.ietf.org/html/rfc4180>
[2] <https://bugs.php.net/bug.php?id=38301>
[3] <https://bugs.php.net/bug.php?id=51496>
2018-12-15 14:38:15 +01:00
Tyson Andre
78a8b0f0d7 Fix a typo in UPGRADING.INTERNALS 2018-10-17 21:14:46 -04:00
Dmitry Stogov
d57cd36e47 Immutable clases and op_arrays.
Squashed commit of the following:

commit cd0c36c3f9
Merge: 4740dabb84 ad6738e886
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 14:43:38 2018 +0300

    Merge branch 'master' into immutable

    * master:
      Remove the "auto" encoding
      Fixed bug #77025
      Add vtbls for EUC-TW encoding

commit 4740dabb84
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 14:12:28 2018 +0300

    Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes.

commit ad7a78b253
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:46:30 2018 +0300

    Added comment

commit 0276ea5187
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:42:43 2018 +0300

    Added type cast

commit c63fc5d5f1
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:36:51 2018 +0300

    Moved static class members initialization into the proper place.

commit b945548e93
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:21:03 2018 +0300

    Removed redundand assertion

commit d5a4108840
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:19:13 2018 +0300

    Removed duplicate code

commit 8dadca8864
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:05:43 2018 +0300

    Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros.

commit 9ef07c88bd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 10:48:29 2018 +0300

    typo

commit a06f0f3d3a
Merge: 94099586ec 3412345ffe
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 10:47:07 2018 +0300

    Merge branch 'master' into immutable

    * master:
      Remove unused variable makefile_am_files
      Classify object handlers are required/optional
      Add support for getting SKIP_TAGSTART and SKIP_WHITE options
      Remove some obsolete config_vars.mk occurrences
      Remove bsd_converted from .gitignore
      Remove configuration parser and scanners ignores
      Remove obsolete buildconf.stamp from .gitignore
      [ci skip] Add magicdata.patch exception to .gitignore
      Remove outdated ext/spl/examples items from .gitignore
      Remove unused test.inc in ext/iconv/tests

commit 94099586ec
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 15 23:34:01 2018 +0300

    Immutable clases and op_arrays
2018-10-17 15:52:50 +03:00
Nikita Popov
1cfbb21790 Classify object handlers are required/optional 2018-10-16 20:53:59 +02:00
Peter Kokot
37c329d715 Trim trailing whitespace in source code files 2018-10-13 14:17:28 +02:00
Nikita Popov
5a679341b8 Add UPGRADING notes
[ci skip]
2018-10-10 12:00:57 +02:00
Kalle Sommer Nielsen
bf34442581 Implemented RFC "Always available hash extension" 2018-10-03 08:47:07 +02:00
Dmitry Stogov
2606566269 Rename ZEND_ACC_NO_RT_ARENA into ZEND_ACC_HEAP_RT_CACHE and use it for pseudo-main op_arrays. 2018-10-02 09:10:04 +03:00
Anatol Belski
a2c843780e [ci skip] Update UPGRADING.INTERNALS 2018-09-22 02:05:28 +02:00
Dmitry Stogov
689c6fb188 Replace ZEND_ACC_ANON_BOUND, ZEND_ACC_UNRESOLVED_PARENT and ZEND_ACC_UNRESOLVED_INTERFACES with single ZEND_ACC_LINKED. 2018-09-18 11:41:40 +03:00
Nikita Popov
ca6caa0cb2 Make ext/xml API private
Also remove dead functions
2018-09-16 11:07:40 +02:00
Dmitry Stogov
49b92446d7 Remove zend_check_private() 2018-09-13 13:47:06 +03:00
Dmitry Stogov
0fbd2e6a16 Renumber ZEND_ACC_... flags 2018-09-11 17:21:17 +03:00
Dmitry Stogov
034b7ff091 Get rid of ZEND_ACC_IMPLICIT_PUBLIC 2018-09-11 12:26:26 +03:00
Dmitry Stogov
3a249e769b Squashed commit of the following:
commit 2d3cac9e00
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Sep 11 11:54:47 2018 +0300

    Fixed static property access

commit 31786ee272
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Sep 11 11:05:29 2018 +0300

    Avoid duplicate checks

commit 5ae502b979
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Sep 11 10:39:17 2018 +0300

    Optimization

commit 82c17f0e8a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Sep 11 09:26:50 2018 +0300

    Removed unused zend_duplicate_property_info()

commit ba53d1d0dd
Merge: eacc11b8fd c4b14370cf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Sep 11 09:24:13 2018 +0300

    Merge branch 'master' into shadow

    * master:
      7.0.33 next
      Sync NEWS [ci skip]
      add NEWS for 76582
      Enforce ordering of property compare in object comparisons
      Fixed wrong assertion
      Skip test on unsuitable env

commit eacc11b8fd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Sep 10 13:12:39 2018 +0300

    Fixed failure of ext/spl/tests/array_017.phpt

commit 62d1871430
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Sep 10 11:55:07 2018 +0300

    Fixed issues

commit 1d37e3a40e
Merge: d6c3f098b6 1e550e6f7e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Sep 10 10:21:20 2018 +0300

    Merge branch 'master' into shadow

    * master:
      Update NEWS
      Fix for bug #76582
      Fix ssl stream reneg limit test to print only after first renegotiation
      Make a copy unconditionally
      Fix memory leak in pcre cache
      Remove not needed checking for <errno.h>
      Remove HAVE_ASSERT_H
      Add test for bug #76850
      Fixed bug #76850 Exit code mangled by set locale/preg_match
      Remove empty PHP tags from test
      Fix #75273: php_zlib_inflate_filter() may not update bytes_consumed
      Fix PCRE2 exclusion and remove dead libs in Makefile.gcov
      Report mem leaks to stderr if no Win debugger is present
      Use combined assignment contanation operator
      Fixed bug #76796
      Support fixed address mmap without replacement

commit d6c3f098b6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Sep 7 13:56:30 2018 +0300

    Get rid of ZEND_ACC_SHADOW
2018-09-11 11:56:45 +03:00
Fabien Villepinte
ec110f1ecc Fix typos in UPGRADING.INTERNALS 2018-09-05 17:21:31 +02:00
Dmitry Stogov
8939c4d96b Get rid of ZEND_ACC_CTOR, ZEND_ACC_DTOR and ZEND_ACC_IMPLEMENTED_ABSTRACT 2018-09-05 13:16:10 +03:00
Peter Kokot
29dc0470c8
Remove AC_FUNC_UTIME_NULL
Autoconf 2.59d (released in 2006) [1] started promoting several macros
as not relevant for newer systems, including the AC_FUNC_UTIME_NULL.

This macro checks if `utime(file, NULL)` sets file's timestamp to the
current time and defines the `HAVE_UTIME_NULL` symbol. This check was
relevant on very old systems (for example, 4.3BSD released in 1986) and
today can be omitted for systems with utime since it should be well
supported by now. [2]

Refs:
[1] http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
[2] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
2018-09-04 12:03:34 +02:00
Peter Kokot
ef12e96215 Remove AC_FUNC_VPRINTF
Autoconf 2.59d (released in 2006) 1 started promoting several macros
as not relevant for newer systems anymore, including the AC_FUNC_VPRINTF.

This macro checks for presence of the vprint function otherwise checks
for presence of the _doprnt function. This check was relevant on very
old systems and today can be omitted since it should be well supported
by now. [2]

Also PHP doesn't use the HAVE_VPRINTF or HAVE_DOPRNT symbols.

Refs:
[1] http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
[2] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html
2018-08-29 21:31:55 +02:00
Peter Kokot
3748d8070f Implement #64517: Add AC_ARG_PROGRAM macro
The AC_ARG_PROGRAM Autoconf macro provides program name transformations
when installing. This patch implements #64517 and prepares the
implementation for the request #60518.

In ./configure --help it additionally outputs --program-prefix=PREFIX,
--program-suffix=SUFFIX and the upcoming --program-transform-name=PROGRAM
option.

Macro AC_ARG_PROGRAM is available since Autoconf 2.0 and needs to be
called after the AC_CANONICAL_TARGET macro.

Refs:
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Transforming-Names.html
2018-08-29 02:04:48 +02:00
Dmitry Stogov
92fdf9d629 Change zend_lookup_class_ex() and zend_fetch_class_by_name() prototypes to accept optional lower-case class name as zend_string*, instead of zval*. 2018-08-22 17:07:31 +03:00
Christoph M. Becker
c9861bd7a9 Create and expose php_sys_symlink() and php_sys_link()
These macros are supposed to behave like POSIX's symlink() and link(),
respectively, on POSIX compliant systems and on Windows.

Future scope: merge link.c and link_win32.c
2018-08-02 14:08:30 +02:00
Christoph M. Becker
bccf0dfba1 Prepare UPGRADING(.INTERNALS) for PHP 7.4
We also add this as task to README.RELEASE_PROCESS, so that it's not
overlooked next time.
2018-07-31 15:54:03 +02:00
Peter Kokot
7c1e0930c4 Remove TSRM_CHECK_GCC_ARG and LIBZEND_CPLUSPLUS_CHECKS
This removes two old Autoconf macro definitions since they are not used
anymore.
2018-07-31 05:59:05 +02:00
Peter Kokot
72551dd89e [ci skip] Document RETSIGTYPE 2018-07-29 21:32:35 +02:00
Peter Kokot
209f05a878 [ci skip] Note HAVE_ST_BLKSIZE and HAVE_ST_RDEV 2018-07-29 14:44:56 +02:00
Peter Kokot
d7ad4babe0 [ci skip] Note removal of PHP_PROG_LEX 2018-07-29 13:37:48 +02:00
Dmitry Stogov
ab8094c666 Pack zend_constant.flags and zend_constant.module_number into reserved space inside zend_constant.value. 2018-07-26 12:58:07 +03:00
Dmitry Stogov
57c4ae393c typo 2018-07-25 23:00:33 +03:00
Dmitry Stogov
f950128cd6 Encode parent class name as IS_CONST operand in DECLARE_INHERITED_CLASS and DECLARE_ANON_INHERITED_CLASS opcodes (eliminate FETCH_CLAS
S opcode).
2018-07-25 13:40:47 +03:00
Remi Collet
0c3561892b add info about zend_class_entry.iterator_funcs 2018-07-18 11:17:53 +02:00
Christoph M. Becker
0896a3abd1 [ci skip] Fix typos 2018-07-10 17:03:48 +02:00
Christoph M. Becker
091c0a8a59 [ci skip] Document changes to php_add[c]slashes 2018-07-10 16:04:14 +02:00
Tyson Andre
5bbe6080b4 [ci skip] Fix a typo. RANGE_RANGE should be RAND_RANGE 2018-07-05 12:11:56 +02:00
Christoph M. Becker
d798fd491b [ci skip] Document GC_C() → zend_gc_get_status() 2018-07-04 12:19:29 +02:00
Christoph M. Becker
2ff26bdf73 [ci skip] Document new typedef zif_handler 2018-06-28 12:52:36 +02:00
Markus Staab
a0a4232ae3 [ci skip] fixed typos 2018-06-25 13:14:55 +02:00
Dmitry Stogov
ecce21169e Added note about zend_function.reserved[] fields usage 2018-06-25 13:35:14 +03:00
Remi Collet
3b9ecb2d65 add note about php_url struct changes 2018-06-22 14:58:30 +02:00
Robert Lu
ecc1a7c582 Fix bug #44217: Output after stdout/stderr closed cause immediate exit with status 0
We exit with status 255 instead.
2018-06-19 12:15:33 +02:00
Anatol Belski
acda5e084e Document new configurue options 2018-03-08 12:14:48 +01:00
Xinchen Hui
cf0fae5e97 Optimized base64_encode/decode with SIMD instructions 2018-02-12 20:53:14 +08:00
Dmitry Stogov
1208acfe5f Added note about changed VM instructions 2018-02-02 17:35:23 +03:00
Dmitry Stogov
17a3b48454 Make IS_UNUSED to be zero. 2018-01-31 11:18:41 +03:00
Dmitry Stogov
742d5a01ed Get rid of IS_TYPE_COPYABLE. 2018-01-19 17:47:26 +03:00
Dmitry Stogov
1ee94f56c4 Removed IS_TYPE_COPYABLE flag from IS_STRING zvals. 2018-01-18 12:41:27 +03:00
Xinchen Hui
3a3e0493d0 Added ZEND_API zend_cpu_supports 2018-01-16 14:53:00 +08:00
Anatol Belski
83497327e7 Implement high resolution monotonic timer function hrtime() 2018-01-07 16:03:52 +01:00
Dmitry Stogov
d9f5ea691f zend_fcall_info_cache.initialized is removed (zend_fcall_info_cache is initialized if zend_fcall_info_cache.function_handler is set). 2017-12-27 15:15:03 +03:00
Nikita Popov
b2b2b437af Add _IS_NUMBER as cast_object() target type
convert_scalar_to_number() will now call cast_object() with an
_IS_NUMBER argument, in which case the cast handler should return
either an integer or floating point number, whichever is more
appropriate.

Previously convert_scalar_to_number() unconditionally converted
objects to integers instead.

Fixes bug #53033.
Fixes bug #54973.
Fixes bug #73108.
2017-12-26 12:39:06 +01:00
Tom Van Looy
e4e26f2428 Remove RAND_RANGE() macro
The behavior of RANGE_RANGE() is 7.1 changed completely, from
rescaling an already generated number to generating a number
itself. Because of this str_shuffle() ended up generating two
random numbers on every iteration.

To avoid further misuse the function is dropped entirely. Extensions
for PHP >= 7.1 should directly call php_mt_rand_range().
2017-12-09 17:24:17 +01:00
Anatol Belski
6c8b441f87 [ci skip] Update UPGRADING.INTERNALS 2017-11-06 14:20:04 +01:00
Anatol Belski
7d14dcc084 [ci skip] Fix UPGRADING.INTERNALS, seems it was not reset after 7.2
branch off
2017-11-06 14:12:02 +01:00
Dmitry Stogov
67d5f39a47 Persistent resources are "thread-local".
Register persistent resources through new functions zend_register_persistent_resource()/zend_register_persistent_resource_ex().
2017-11-01 15:19:31 +03:00
Nikita Popov
cb2884679c Remove zend_get_parameters(_ex) APIs
zend_get_parameters_ex() has been marked as deprecated for a long
time already. What zend_get_paramers() does is even more
questionable under PHP7. Both functions are obsoleted by the ZPP
mechanism, so I'm dropping them.
2017-10-30 22:00:42 +01:00
Dmitry Stogov
5d88ea5c75 Update UPGRADING.INTERNALS 2017-10-30 12:47:22 +03:00
Dmitry Stogov
ef5ea48741 Always use IS_CONSTANT_AST (IS_CONSTANT is removed). 2017-10-10 10:11:05 +03:00
Dmitry Stogov
39ded1d5f8 Changed zend_ast_ref structure to use only one allocation, removing dichotomy between heap/arena ASTs. 2017-10-09 16:57:51 +03:00
Dmitry Stogov
254b74b85f HASH_FLAG_PERSISTENT renamed into IS_ARRAY_PERSISTENT and moved into GC_FLAGS (to be consistent with IS_STR_PERSISTENT). 2017-10-06 02:54:14 +03:00
Dmitry Stogov
cb9d81ef4f Refactored recursion pretection 2017-10-06 01:34:50 +03:00
Dmitry Stogov
e70618aff6 Changed the way VM accesses constant operands in 64-bit builds. 2017-10-04 16:53:01 +03:00
Dmitry Stogov
44e0b79ac6 Refactored array creation API. array_init() and array_init_size() are converted into macros calling zend_new_array(). They are not functions anymore and don't return any values. 2017-09-20 02:25:56 +03:00
Remi Collet
8d1ae4e1c5 valid_symbol_table removed 2017-07-05 06:33:34 +02:00
Remi Collet
b6ee9dd490 upgrading: doc about ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX 2017-06-26 17:26:07 +02:00
Remi Collet
4ed8ff5090 not about zend_arg_info.class_name 2017-06-25 08:41:11 +02:00
Remi Collet
b3b8627106 note about IS_TYPE_IMMUTABLE 2017-06-25 08:32:03 +02:00
Remi Collet
59c30c01b3 note about php_pcre_replace* 2017-06-25 08:27:52 +02:00
Remi Collet
754e1c463d ZEND_ACC_CLONE is removed 2017-06-25 08:23:30 +02:00
Remi Collet
8e98a44eb2 fix version 2017-06-25 08:22:29 +02:00
Anatol Belski
e9dd511ec6 [ci skip] more upgrading notes 2017-04-24 18:15:15 +02:00
Anatol Belski
0e1b2ae4f3 [ci skip] move item to right section 2017-04-24 18:15:14 +02:00
Anatol Belski
46df51132a fix typo 2017-02-15 16:15:16 +01:00
Anatol Belski
8164e024cd update UPGRADING.INTERNALS 2017-02-13 08:35:01 +01:00
Anatol Belski
758af77e9d Path handling related refactorings
Primarily related to the path handling datatypes, to avoid unnecessary
casts, where possible. Also some rework to avoid code dup. Probably
more places are to go, even not path related, primarily to have less
casts and unsigned integers where possible. That way, we've not only
less warnings and casts, but are also safer with regard to the
integer overflows. OFC it's not a panacea, but still significantly
reduces the vulnerability potential.
2016-12-22 14:56:47 +01:00
Anatol Belski
5e6faf2306 add UPGRADING and NEWS items 2016-12-21 16:10:38 +01:00
Yasuo Ohgaki
7f196e321f Fix bug #71038 - session_start() returns true even when it failed
PR #2167
2016-11-17 11:09:07 +09:00
Kalle Sommer Nielsen
64945e9387 Implemented proc_nice() for Windows (FR #49806)
The core implementation details are described in win32/nice.c for values sent to proc_nice(), these can however be discussed to maybe comply with those of wmic, Anatol, thoughts?

The test supplied uses wmic for testing the functionality, it could potentially fail on systems where either wmic is not available or the system language is not english (as Microsoft tends to translate even CLI programs).
2016-10-16 04:17:35 +02:00
Nikita Popov
0374a98e14 Scrub UPGRADING and UPGRADING.INTERNALS
There were already some master-only entries in there -- I hope I
didn't remove anything that was supposed to be there.

[skip ci]
2016-08-15 23:01:19 +02:00
Anatol Belski
6442aac72f move the internal only info into UPGRADING.INTERNALS 2016-07-11 11:22:00 +02:00
Anatol Belski
5e66b8f232 notes to UPGRADING.INTERNALS 2016-06-20 18:03:19 +02:00
Anatol Belski
0f71d006e8 make room for next UPGRADING notes 2015-09-17 13:19:30 +02:00
Christoph M. Becker
1b5e87a579 Fix #70289: Different sort in php7 (and hhvm) compared to php5
We add a respective note to UPGRADING. Furthermore, as renaming of zend_qsort()
and the new zend_insert_sort() are irrelevant for user-land, we move this
info to UPGRADING.INTERNALS.
2015-08-18 13:44:14 +02:00
Adam Harvey
d6db83816c We don't need CVS/SVN keywords in UPGRADING. 2015-08-13 12:40:46 -07:00
Anatol Belski
a7587135e3 more info for UPGRADING.INTERNALS 2015-08-02 17:49:06 +02:00
Anatol Belski
9249890acf fix wrong info 2015-07-29 19:30:36 +02:00
Anatol Belski
f6d196a38f document globals accesor macro and tls specifiers 2015-07-29 17:26:53 +02:00
Anatol Belski
02df0cb02b improve info about the applink 2015-07-03 12:45:59 +02:00
Anatol Belski
9d9f372df6 added openssl applink shim note to UPGRADING.INTERNALS 2015-07-03 12:40:54 +02:00
Anatol Belski
274edb4c6f add missing item in the content table 2015-07-03 12:40:53 +02:00
Anatol Belski
d0787534c0 add missing items to the table of contents 2015-07-02 16:34:42 +02:00
Anatol Belski
79ca2b06b6 update UPGRADING infos 2015-07-02 16:32:57 +02:00
Hannes Magnusson
ce01d7361e space 2015-06-23 19:29:10 -07:00
Anatol Belski
29a91e52ad a bit more clearness fir --with-mp 2015-06-02 15:56:30 +02:00
Andrew Murray
00790467b7 Fixed typos in UPGRADING.INTERNALS 2015-06-01 11:13:09 +10:00
Hannes Magnusson
8eea193470 Fix typos and add link to the phpng upgrading wiki page 2015-05-29 19:07:14 +00:00
Xinchen Hui
45c3112726 Add some missed entry 2015-04-11 09:48:09 +08:00
Anatol Belski
e1f706e3f4 fix typo 2015-03-24 22:02:26 +01:00
Anatol Belski
4dc69709e2 some more UPGRADING INTERNALS notes 2015-03-23 15:50:13 +01:00
Anatol Belski
429c8715b2 some UPGRADING.INTERNALS notes 2015-03-23 15:27:26 +01:00
Reeze Xia
ff2cccbfdd TSRMLS_* macros have been removed, user don't have to care about the change anymore 2015-02-06 11:46:38 +01:00
Xinchen Hui
118ed493e1 Update UPGRADING 2015-02-04 14:25:06 +08:00
Xinchen Hui
77b164edfd Update UPGRADING 2015-02-04 11:42:19 +08:00
Yasuo Ohgaki
6230493005 Update UPGRADING.INTERNALS Session section 2015-02-04 11:54:16 +09:00
Yasuo Ohgaki
f90f6108c8 Merge branch 'master' into master-rfc-session-lock4
Conflicts:
	UPGRADING
2015-01-29 09:55:36 +09:00
Stanislav Malyshev
dfe6aea9ca size_t cleanup for PDO 2015-01-26 16:16:02 -08:00
Yasuo Ohgaki
7b17980875 Update UPGRADING and UPGRADING.INTERNALS 2015-01-26 06:14:40 +09:00
Adam Harvey
eb6dc9db29 Make gc_collect_cycles hookable. 2015-01-23 19:23:58 +00:00
Anatol Belski
dec8eb431a noted the TSRM changes to UPGRADING.INTERNALS 2014-12-18 09:09:02 +01:00
Julien Pauli
0adfa03397 Merged PR #911. 2014-12-12 18:00:13 +01:00
Andrea Faulds
8efe343352 Note macro removal in UPGRADING.INTERNALS 2014-12-05 19:46:31 +00:00
Anatol Belski
583c3dc9e7 added info about some other macro changes 2014-11-20 14:23:15 +01:00
Anatol Belski
f030cd8bda added note about toolset and phpize 2014-11-20 14:23:14 +01:00
Anatol Belski
799057c6be added note about the response files 2014-11-20 14:23:13 +01:00
Anatol Belski
5eb65a71a7 update UPGRADING.INTERNALS 2014-11-10 14:25:14 +01:00
Nikita Popov
3efc331701 Add notes about get_class_entry/get_class_name to UPGRADING 2014-10-10 12:28:55 +02:00
Anatol Belski
bdc4f23517 updated UPGRADING.INTERNALS 2014-08-27 20:49:34 +02:00
Anatol Belski
316705c7ed add note about 'l' and zend_long 2014-08-27 09:26:25 +02:00
Ferenc Kovacs
a18714d8ed better heading for UPGRADING.INTERNALS 2014-08-26 00:35:40 +02:00
Anatol Belski
1cda5e196c updated UPGRADING.INTERNALS 2014-08-26 00:13:37 +02:00
Anatol Belski
b2d123f985 fix a phrase 2014-08-24 02:57:19 +02:00
Anatol Belski
3c17ce9e0f note on %pd format 2014-08-24 02:36:17 +02:00
Anatol Belski
4ff697b6b1 adedd note on portable numeric macros 2014-08-22 13:48:20 +02:00
Anatol Belski
4c56e68b7f note on LFS macros 2014-08-22 13:40:45 +02:00
Anatol Belski
24cf50d2df note on hash table and sprintf 2014-08-22 13:22:49 +02:00
Anatol Belski
c893552a9a note on zpp specs 2014-08-22 10:31:48 +02:00
Anatol Belski
612e459041 updated UPGRADING.INTERNALS with new data types 2014-08-22 10:24:51 +02:00
Kalle Sommer Nielsen
9e3551ba1f Eliminated the TSRMLS_FETCH() in zend_set_memory_limit() 2013-11-18 01:36:17 +01:00
Ferenc Kovacs
d17b684b91 bump version, empty NEWS, UPGRADING and UPGRADING.INTERNALS 2013-11-06 14:03:24 +01:00
Nikita Popov
0d7a638866 Implement variadic function syntax
As per RFC: https://wiki.php.net/rfc/variadics
2013-09-26 18:39:17 +02:00
Michael Wallner
4a3936ef4a NEWS/UPGRADING{,.INTERNALS} notes about temp POST stream 2013-09-17 11:08:23 +02:00
Nikita Popov
0856714576 Always pass return_value_ptr to internal functions
Previous some places passed return_value_ptr only if the function
returned by reference. Now return_value_ptr is always set, even
for functions returning by-value.

This allows you to return zvals without copying their contents. For
this purpose two new macros RETVAL_ZVAL_FAST and RETURN_ZVAL_FAST
are added:

    RETVAL_ZVAL_FAST(zv); /* Analog to RETVAL_ZVAL(zv, 1, 0) */
    RETURN_ZVAL_FAST(zv); /* Analog to RETURN_ZVAL(zv, 1, 0) */

These macros behave similarly to the non-FAST versions with
copy=1 and dtor=0, with the difference that the FAST versions
will try return the zval without copying by utilizing return_value_ptr.
2013-08-31 13:16:41 +02:00
Michael Wallner
3419ee9547 bison upgrading notes 2013-08-09 22:23:35 +02:00
Nikita Popov
ca660c2f77 Update NEWS, UPGRADING and UPGRADING.INTERNALS 2013-06-17 18:27:22 +02:00
Nikita Popov
1713d9ad30 Merge branch 'PHP-5.5'
Conflicts:
	UPGRADING
	UPGRADING.INTERNALS
2013-03-23 18:09:05 +01:00
Nikita Popov
0cb868c042 Move some internal changes from UPGRADING to UPGRADING.INTERNALS 2013-03-23 18:06:25 +01:00
Nikita Popov
fcc6611de9 Add support for non-scalar Iterator keys in foreach
RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
2013-03-12 17:27:31 +01:00
Gustavo Lopes
70b25e9c61 UPGRADING.INTERNALS: document zend_qsort_r 2013-01-14 17:27:20 +01:00
Stanislav Malyshev
bd340b7296 add NEWS/UPGRADING 2012-07-14 15:03:51 -07:00
Gustavo André dos Santos Lopes
e391abb1d9 - Cleanup UPGRADING and UPGRADING.INTERNALS from 5.4 changes.
- Added information about removal of streams pooling API.
2012-02-22 10:08:37 +00:00
Pierre Joye
090bfcdfe1 - add expand_filepath_with_mode (not used anywhere yet but will be used for file ops (fopen&co) to avoid extra links resolution and other non required ops on open 2011-07-25 16:50:07 +00:00
Jani Taskinen
6791197b31 - Added section for build system changes in UPGRADING.INTERNALS 2010-11-18 10:43:01 +00:00
Gustavo André dos Santos Lopes
dc8bc65fe6 - Fixed incorrection in UPGRADING.INTERNALS. 2010-11-15 03:22:26 +00:00
Gustavo André dos Santos Lopes
3a02cfb675 - Added leak_variable() function.
- Added mechanism to force outer streams to be closed before their inner ones.
- Fixed temp:// streams only handling correctly (through an ad hoc mechanism)  reverse closing order
  when the  inner stream is of type memory.
2010-11-15 03:05:32 +00:00
Gustavo André dos Santos Lopes
3f804701b5 - Added to UPGRADING(.INTERNALS) information about the changes on html.c.
- Added to UPGRADING information about the new class Transliteral, the new
  parameter in dns_get_record and the fact that call_user_func_array no longer
  allows call-time pass-by-reference.
2010-10-24 16:21:15 +00:00
Kalle Sommer Nielsen
a3161aa091 Removed a TSRMLS_FETCH() call in php_idate() in favor of the TSRMLS macros 2010-09-27 01:19:57 +00:00
Kalle Sommer Nielsen
1ac15b2f8e Added TSRMLS macros into php_get_current_user() 2010-09-23 04:13:36 +00:00
Pierre Joye
b154864cc9 - drop tsrmls_fetch in popen_ex 2010-09-17 10:00:01 +00:00
Pierre Joye
83527d16a3 - drop tsrmls_fetch in tsrm_win32_access 2010-09-17 09:27:19 +00:00
Pierre Joye
79ee513903 - drop TSRMLS_FETCH in sapi_register_* (won't bring much at runtime :) ) and cleanup/group the upgrade guide, no need of twenty titles for the same change 2010-09-17 08:42:12 +00:00
Pierre Joye
ed58636f00 - use TSRMLS_D/C with php_stream_context_alloc 2010-09-16 09:33:42 +00:00
Pierre Joye
aa0ed267a2 - use TSRMLS_*C instead of TSRMLS_FETCH in zend_list_insert 2010-09-16 09:13:19 +00:00
Pierre Joye
4420a91bbd - macros--; ZEND_FAST_* are now gone 2010-09-15 17:27:43 +00:00
Pierre Joye
c93631a137 - update and restore TOC 2010-09-15 17:04:22 +00:00
Dmitry Stogov
f2df6a4a3e - 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.
2010-09-15 07:38:52 +00:00
Pierre Joye
bf0a5ea745 - add php_sys_readlink 2010-09-10 14:01:44 +00:00
Pierre Joye
9b6d0f222e - typo/clarity 2010-09-02 10:30:34 +00:00
Pierre Joye
6d6645b3f8 - upgrading addition about stat/lstat 2010-09-01 09:54:45 +00:00
Pierre Joye
b01d74f7f9 - initial import, internals upgrade guide 2010-08-30 10:26:31 +00:00