]> granicus.if.org Git - php/log
php
6 years agoFix pecl vs ext typo in phar
Peter Kokot [Sat, 30 Jun 2018 12:15:40 +0000 (14:15 +0200)]
Fix pecl vs ext typo in phar

Phar phpinfo output lists also info about bz2 extension if it's
disabled and a quick info about installation. Instead of not maintained
pecl package bz2 the ext/bz2 should be mentioned. Also some outdated
pecl/phar are updated to ext/phar instead in test comments.

6 years agoAdd ext/sodium to php.ini-*
Christoph M. Becker [Sat, 30 Jun 2018 12:52:30 +0000 (14:52 +0200)]
Add ext/sodium to php.ini-*

6 years agoMerge branch 'PHP-7.2'
Nikita Popov [Fri, 29 Jun 2018 21:23:08 +0000 (23:23 +0200)]
Merge branch 'PHP-7.2'

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Fri, 29 Jun 2018 21:23:02 +0000 (23:23 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

6 years agoFix nullable type pretty-printing
Nikita Popov [Fri, 29 Jun 2018 21:22:41 +0000 (23:22 +0200)]
Fix nullable type pretty-printing

6 years agoAdd zend_update_static_property_ex API
Nikita Popov [Fri, 29 Jun 2018 20:56:47 +0000 (22:56 +0200)]
Add zend_update_static_property_ex API

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

6 years agoAdd zend_read_static_property_ex API
Nikita Popov [Fri, 29 Jun 2018 20:49:15 +0000 (22:49 +0200)]
Add zend_read_static_property_ex API

For symmetry with zend_read_property_ex.

6 years agoFix build
Nikita Popov [Fri, 29 Jun 2018 20:44:42 +0000 (22:44 +0200)]
Fix build

These were changed in 6e77a60a75445c863f85f81a83e5c2dd28f0e877.

6 years ago[ci skip] Update NEWS
Anatol Belski [Fri, 29 Jun 2018 18:12:45 +0000 (20:12 +0200)]
[ci skip] Update NEWS

6 years agoMerge branch 'PHP-7.2'
Anatol Belski [Fri, 29 Jun 2018 18:12:24 +0000 (20:12 +0200)]
Merge branch 'PHP-7.2'

* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS

6 years ago[ci skip] Update NEWS
Anatol Belski [Fri, 29 Jun 2018 18:11:55 +0000 (20:11 +0200)]
[ci skip] Update NEWS

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Anatol Belski [Fri, 29 Jun 2018 18:11:23 +0000 (20:11 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  [ci skip] Update NEWS

6 years ago[ci skip] Update NEWS
Anatol Belski [Fri, 29 Jun 2018 18:10:54 +0000 (20:10 +0200)]
[ci skip] Update NEWS

6 years agoCheck return value of pcre2_maketables()
Anatol Belski [Fri, 29 Jun 2018 17:11:02 +0000 (19:11 +0200)]
Check return value of pcre2_maketables()

6 years agoMerge branch 'PHP-7.2'
Anatol Belski [Fri, 29 Jun 2018 16:36:22 +0000 (18:36 +0200)]
Merge branch 'PHP-7.2'

* PHP-7.2:
  Fixed bug #76548 pg_fetch_result did not fetch the next row

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Anatol Belski [Fri, 29 Jun 2018 16:35:44 +0000 (18:35 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Fixed bug #76548 pg_fetch_result did not fetch the next row

6 years agoFixed bug #76548 pg_fetch_result did not fetch the next row
Anatol Belski [Fri, 29 Jun 2018 16:34:53 +0000 (18:34 +0200)]
Fixed bug #76548 pg_fetch_result did not fetch the next row

6 years agoRemoved INIT_OVERLOADED_CLASS... macros
Dmitry Stogov [Fri, 29 Jun 2018 11:41:35 +0000 (14:41 +0300)]
Removed INIT_OVERLOADED_CLASS... macros

6 years agocleanup
Dmitry Stogov [Fri, 29 Jun 2018 09:35:14 +0000 (12:35 +0300)]
cleanup

6 years agoChanged php_add[c]slashes prototypes (removed should_free argument)
Dmitry Stogov [Thu, 28 Jun 2018 21:19:16 +0000 (00:19 +0300)]
Changed php_add[c]slashes prototypes (removed should_free argument)

6 years agoMerge branch 'PHP-7.2'
Nikita Popov [Thu, 28 Jun 2018 21:06:08 +0000 (23:06 +0200)]
Merge branch 'PHP-7.2'

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Thu, 28 Jun 2018 21:04:54 +0000 (23:04 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

6 years agoFixed bug #76532 (excessive memory usage in mb_strimwidth)
Marcus Schwarz [Thu, 28 Jun 2018 12:10:41 +0000 (14:10 +0200)]
Fixed bug #76532 (excessive memory usage in mb_strimwidth)

6 years agoFix ReflectionProperty::get/setValue() on internal static property
Nikita Popov [Thu, 28 Jun 2018 20:45:26 +0000 (22:45 +0200)]
Fix ReflectionProperty::get/setValue() on internal static property

This was broken by 6dc0cd868d972885249ce40f2d64097cd0ba6c1f, which
moved static property initialization outside of constant updating.

Instead of replicating logic, use zend_get_static_property() API
in the reflection implementation, just like we're using
read_property for non-static proprety access.

6 years agoMerge branch 'PHP-7.2'
Anatol Belski [Thu, 28 Jun 2018 13:59:10 +0000 (15:59 +0200)]
Merge branch 'PHP-7.2'

* PHP-7.2:
  Update SDK version for AppVeyor

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Anatol Belski [Thu, 28 Jun 2018 13:58:20 +0000 (15:58 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Update SDK version for AppVeyor

6 years agoUpdate SDK version for AppVeyor
Anatol Belski [Thu, 28 Jun 2018 13:56:27 +0000 (15:56 +0200)]
Update SDK version for AppVeyor

6 years agoMerge branch 'PHP-7.2'
Anatol Belski [Thu, 28 Jun 2018 11:29:32 +0000 (13:29 +0200)]
Merge branch 'PHP-7.2'

* PHP-7.2:
  Sync versions for VC++ 15.8

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Anatol Belski [Thu, 28 Jun 2018 11:28:46 +0000 (13:28 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Sync versions for VC++ 15.8

6 years agoSync versions for VC++ 15.8
Anatol Belski [Thu, 28 Jun 2018 11:23:19 +0000 (13:23 +0200)]
Sync versions for VC++ 15.8

6 years ago[ci skip] Document new typedef zif_handler
Christoph M. Becker [Thu, 28 Jun 2018 10:52:16 +0000 (12:52 +0200)]
[ci skip] Document new typedef zif_handler

6 years ago[ci skip] Announce emails should not be cross-posted
Christoph M. Becker [Thu, 28 Jun 2018 10:36:25 +0000 (12:36 +0200)]
[ci skip] Announce emails should not be cross-posted

Otherwise answers may be send to all the lists which might be
irrelevant for particular participants only subscribed to one of them.

6 years ago[ci skip] Update NEWS
Anatol Belski [Thu, 28 Jun 2018 09:41:49 +0000 (11:41 +0200)]
[ci skip] Update NEWS

6 years agoMerge branch 'PHP-7.2'
Anatol Belski [Thu, 28 Jun 2018 08:55:35 +0000 (10:55 +0200)]
Merge branch 'PHP-7.2'

* PHP-7.2:
  Don't ignore commits on NEWS, etc. on AppVeyor

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Anatol Belski [Thu, 28 Jun 2018 08:54:59 +0000 (10:54 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Don't ignore commits on NEWS, etc. on AppVeyor

6 years agoDon't ignore commits on NEWS, etc. on AppVeyor
Anatol Belski [Thu, 28 Jun 2018 08:53:23 +0000 (10:53 +0200)]
Don't ignore commits on NEWS, etc. on AppVeyor

[ci skip] can be used explicitly, and otherwise it might ignore commits
with a code change.

6 years agoDOMDocument::formatOutput attribute sometimes ignored
Andrew Nester [Tue, 1 May 2018 12:04:46 +0000 (12:04 +0000)]
DOMDocument::formatOutput attribute sometimes ignored

6 years agoUpdate NEWS
Xinchen Hui [Thu, 28 Jun 2018 04:38:40 +0000 (12:38 +0800)]
Update NEWS

6 years agoMerge branch 'PHP-7.2'
Xinchen Hui [Thu, 28 Jun 2018 04:38:26 +0000 (12:38 +0800)]
Merge branch 'PHP-7.2'

* PHP-7.2:
  Update NEWS
  Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence)

6 years agoUpdate NEWS
Xinchen Hui [Thu, 28 Jun 2018 04:38:14 +0000 (12:38 +0800)]
Update NEWS

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Xinchen Hui [Thu, 28 Jun 2018 04:37:58 +0000 (12:37 +0800)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence)

6 years agoFixed bug #76536 (PHP crashes with core dump when throwing exception in error handler...
Xinchen Hui [Thu, 28 Jun 2018 04:37:33 +0000 (12:37 +0800)]
Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence)

6 years agoStore unmangled name in ReflectionProperty
Nikita Popov [Wed, 27 Jun 2018 21:38:37 +0000 (23:38 +0200)]
Store unmangled name in ReflectionProperty

Avoid redundant unmangles and string copies, where possible.

6 years agoFix typos...
Nikita Popov [Wed, 27 Jun 2018 21:22:29 +0000 (23:22 +0200)]
Fix typos...

6 years agoOptimize ReflectionProperty constructor
Nikita Popov [Wed, 27 Jun 2018 21:21:06 +0000 (23:21 +0200)]
Optimize ReflectionProperty constructor

Perform HT lookups using a zend_string. Don't copy the name for
the "name" property. We can always use the original name directly,
as properties case case-sensitive, so the original name should
always match the unmangled name of the fetched property info.

6 years agoFixed bug #76538
Nikita Popov [Wed, 27 Jun 2018 21:06:25 +0000 (23:06 +0200)]
Fixed bug #76538

6 years agoUpdate UPGRADING wrt. PCRE2
Christoph M. Becker [Wed, 27 Jun 2018 13:19:41 +0000 (15:19 +0200)]
Update UPGRADING wrt. PCRE2

The upgrade to PCRE2 should mostly be transparent to existing code, but
apparently there are some minor differences, which warrant a note in
UPGRADING (and consequently, in the migration guide).

6 years agoFixed bug #76439
Nikita Popov [Wed, 27 Jun 2018 12:06:03 +0000 (14:06 +0200)]
Fixed bug #76439

6 years agoRemove duplicated code (keep destroy_zend_function() for compatibility)
Dmitry Stogov [Wed, 27 Jun 2018 11:54:42 +0000 (14:54 +0300)]
Remove duplicated code (keep destroy_zend_function() for compatibility)

6 years agoMoved very rare exception check into a single place.
Dmitry Stogov [Wed, 27 Jun 2018 10:34:15 +0000 (13:34 +0300)]
Moved very rare exception check into a single place.

6 years agoRemove outdated comments about PHP 3
Peter Kokot [Tue, 26 Jun 2018 23:09:48 +0000 (01:09 +0200)]
Remove outdated comments about PHP 3

6 years agoFixed ZTS race condition (zend_class_entry->ce_flags of internal classes must not...
Dmitry Stogov [Wed, 27 Jun 2018 09:33:20 +0000 (12:33 +0300)]
Fixed ZTS race condition (zend_class_entry->ce_flags of internal classes must not be modified, because internal class enties are shared between threads)

6 years agoAdd test for issue #1400
Xinchen Hui [Wed, 27 Jun 2018 08:49:05 +0000 (16:49 +0800)]
Add test for issue #1400

6 years agoUpdate NEWS
Xinchen Hui [Wed, 27 Jun 2018 05:09:54 +0000 (13:09 +0800)]
Update NEWS

6 years agoMerge branch 'PHP-7.2'
Xinchen Hui [Wed, 27 Jun 2018 05:08:47 +0000 (13:08 +0800)]
Merge branch 'PHP-7.2'

* PHP-7.2:
  Update NEWS
  Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)

Conflicts:
Zend/zend_vm_execute.h

6 years agoUpdate NEWS
Xinchen Hui [Wed, 27 Jun 2018 05:07:53 +0000 (13:07 +0800)]
Update NEWS

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Xinchen Hui [Wed, 27 Jun 2018 05:07:36 +0000 (13:07 +0800)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)

Conflicts:
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

6 years agoFixed bug #76534 (PHP hangs on 'illegal string offset on string references with an...
Xinchen Hui [Wed, 27 Jun 2018 05:05:11 +0000 (13:05 +0800)]
Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)

6 years agoMinor cleanup in regards to magic_quotes in tests:
Kalle Sommer Nielsen [Tue, 26 Jun 2018 20:38:00 +0000 (22:38 +0200)]
Minor cleanup in regards to magic_quotes in tests:

- dba008.phpt never runs anyway, no need to keep it
- bug75357.phpt has a branch that is never hit, which should not change the bug behavior in anyway
- bug55371.phpt added a simple 'done' test to not let the EXPECT section be empty

6 years agoCleanup conditions
Dmitry Stogov [Tue, 26 Jun 2018 13:18:30 +0000 (16:18 +0300)]
Cleanup conditions

6 years agoMerge branch 'fetch_r_tmp'
Dmitry Stogov [Tue, 26 Jun 2018 11:48:53 +0000 (14:48 +0300)]
Merge branch 'fetch_r_tmp'

* fetch_r_tmp:
  Make FETCH_R/IS, FETCH_DIM_R/IS, FETCH_OBJ_R/IS, FETCH_STATIC_PROP_R/IS return TMP_VAR, instead of VAR.

6 years agoRestored zend_array_element_type() prototype
Dmitry Stogov [Tue, 26 Jun 2018 08:23:37 +0000 (11:23 +0300)]
Restored zend_array_element_type() prototype

6 years agoMake FETCH_R/IS, FETCH_DIM_R/IS, FETCH_OBJ_R/IS, FETCH_STATIC_PROP_R/IS return TMP_VA...
Dmitry Stogov [Mon, 25 Jun 2018 20:43:23 +0000 (23:43 +0300)]
Make FETCH_R/IS, FETCH_DIM_R/IS, FETCH_OBJ_R/IS, FETCH_STATIC_PROP_R/IS return TMP_VAR, instead of VAR.

6 years agoRemove unnecessary uses of z/ parameters
Nikita Popov [Mon, 25 Jun 2018 17:00:37 +0000 (19:00 +0200)]
Remove unnecessary uses of z/ parameters

6 years agoFixed ability to call plain functions through zend_call_method()
Dmitry Stogov [Mon, 25 Jun 2018 20:01:21 +0000 (23:01 +0300)]
Fixed ability to call plain functions through zend_call_method()

6 years agotypo
Dmitry Stogov [Mon, 25 Jun 2018 19:43:19 +0000 (22:43 +0300)]
typo

6 years agoLazy function copying from op_cache SHM into process memory
Dmitry Stogov [Mon, 25 Jun 2018 16:53:58 +0000 (19:53 +0300)]
Lazy function copying from op_cache SHM into process memory

6 years ago[ci skip] Remove obsolete task
Christoph M. Becker [Mon, 25 Jun 2018 16:00:26 +0000 (18:00 +0200)]
[ci skip] Remove obsolete task

INSTALL points to the online docs and win32/install.txt is removed as
of commit 1e9e7d4[1].

[1] http://git.php.net/?p=php-src.git;a=commit;h=1e9e7d4dc4949b67908e55ab3f3e44528923c029

6 years agoMicro-optimization
Dmitry Stogov [Mon, 25 Jun 2018 14:32:13 +0000 (17:32 +0300)]
Micro-optimization

6 years agoFix off-by-one error
Nikita Popov [Mon, 25 Jun 2018 13:26:10 +0000 (15:26 +0200)]
Fix off-by-one error

6 years agoFixed bug #76509
Nikita Popov [Fri, 22 Jun 2018 10:58:48 +0000 (12:58 +0200)]
Fixed bug #76509

In PHP static properties are shared between inheriting classes,
unless they are explicitly overwritten. However, because this
functionality was implemented using reference, it was possible
to break the implementation by reassigning the static property
reference.

This is fixed by switching the implementation from using references
to using INDIRECTs, which cannot be affected by userland code.

6 years agoUpdate array_element_type inference for previous change
Nikita Popov [Mon, 25 Jun 2018 12:27:02 +0000 (14:27 +0200)]
Update array_element_type inference for previous change

LIST_R and DIM_IS return value can't be MAY_BE_REF anymore.

6 years agoUse COPY_DEREF for DIM_IS and LIST_R as well
Nikita Popov [Mon, 25 Jun 2018 12:23:06 +0000 (14:23 +0200)]
Use COPY_DEREF for DIM_IS and LIST_R as well

Also add an upgrading note for the behavior change, not that we
expect anyone to be affected...

6 years ago[ci skip] fixed typos
Markus Staab [Mon, 25 Jun 2018 10:40:19 +0000 (12:40 +0200)]
[ci skip] fixed typos

6 years agoAdded note about zend_function.reserved[] fields usage
Dmitry Stogov [Mon, 25 Jun 2018 10:35:14 +0000 (13:35 +0300)]
Added note about zend_function.reserved[] fields usage

6 years agoImproved type inference. Result of opcodes using ZVAL_COPY_DEREF can't be MAY_BE_REF.
Dmitry Stogov [Mon, 25 Jun 2018 10:07:44 +0000 (13:07 +0300)]
Improved type inference. Result of opcodes using ZVAL_COPY_DEREF can't be MAY_BE_REF.

6 years agoMerge branch 'PHP-7.2'
Christoph M. Becker [Mon, 25 Jun 2018 09:56:36 +0000 (11:56 +0200)]
Merge branch 'PHP-7.2'

* PHP-7.2:
  Fix arginfo wrt. optional/required parameters

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Christoph M. Becker [Mon, 25 Jun 2018 09:54:02 +0000 (11:54 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Fix arginfo wrt. optional/required parameters

6 years agoFix arginfo wrt. optional/required parameters
Christoph M. Becker [Fri, 22 Jun 2018 13:45:31 +0000 (15:45 +0200)]
Fix arginfo wrt. optional/required parameters

All parameters of phpdbg_color(), phpdbg_exec() and phpdbg_prompt() are
required.  We mark them as such.

6 years agoRemove useless PHPDBG_* constants
Christoph M. Becker [Sun, 24 Jun 2018 15:30:55 +0000 (17:30 +0200)]
Remove useless PHPDBG_* constants

The sole purpose of `PHPDBG_FILE`, `PHPDBG_METHOD`, `PHPDBG_LINENO` and
`PHPDBG_FUNC` has been to be passed as first argument to `phpdbg_break`.
However, this functions is replaced as of PHP 5.6.3 by
`phpdbg_break_file`, `phpdbg_break_method` and 'phpdbg_break_func`,
respectively.  Therefore, we're finally removing the useless constants.

6 years agoMerge branch 'PHP-7.2'
Anatol Belski [Mon, 25 Jun 2018 09:32:03 +0000 (11:32 +0200)]
Merge branch 'PHP-7.2'

* PHP-7.2:
  Prepare tests for ICU 62.1

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Anatol Belski [Mon, 25 Jun 2018 09:31:21 +0000 (11:31 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Prepare tests for ICU 62.1

6 years agoPrepare tests for ICU 62.1
Anatol Belski [Mon, 25 Jun 2018 09:30:14 +0000 (11:30 +0200)]
Prepare tests for ICU 62.1

6 years agoUse COPY_DEREF instead of COPY_UNREF
Nikita Popov [Thu, 14 Jun 2018 21:34:26 +0000 (23:34 +0200)]
Use COPY_DEREF instead of COPY_UNREF

This fixes the behavior when the storage location of the fetch is
modified before the operand is dereferenced by the using VM opcode.

Furthermore it elimiates references as a possible return value from
*_R opcodes, which will give us more opportunities for inferences,
in particular in regard to typed properties.

6 years agoUpdate http to https
Dusta [Sun, 24 Jun 2018 20:31:55 +0000 (22:31 +0200)]
Update http to https

6 years agonumner => number
COFFEE [Mon, 25 Jun 2018 05:26:38 +0000 (13:26 +0800)]
numner => number

6 years agoMerge branch 'PHP-7.2'
Nikita Popov [Sun, 24 Jun 2018 20:29:07 +0000 (22:29 +0200)]
Merge branch 'PHP-7.2'

6 years agoMerge branch 'PHP-7.1' into PHP-7.2
Nikita Popov [Sun, 24 Jun 2018 20:28:49 +0000 (22:28 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

6 years agoFixed bug #76502
Nikita Popov [Sun, 24 Jun 2018 20:26:45 +0000 (22:26 +0200)]
Fixed bug #76502

6 years agoRemove expr_without_variable
Nikita Popov [Sun, 24 Jun 2018 11:34:32 +0000 (13:34 +0200)]
Remove expr_without_variable

We no longer need this distinction.

6 years agoRemove obsolete version checks in tests
Anatol Belski [Fri, 22 Jun 2018 15:56:18 +0000 (17:56 +0200)]
Remove obsolete version checks in tests

6 years ago[ci skip] Update NEWS
Anatol Belski [Fri, 22 Jun 2018 15:33:57 +0000 (17:33 +0200)]
[ci skip] Update NEWS

6 years agoIf there's no setlocale, char tables are not used
Anatol Belski [Fri, 22 Jun 2018 15:27:41 +0000 (17:27 +0200)]
If there's no setlocale, char tables are not used

6 years agoMerge branch 'PHP-7.2'
Nikita Popov [Fri, 22 Jun 2018 14:22:50 +0000 (16:22 +0200)]
Merge branch 'PHP-7.2'

6 years agoFixed bug #76520
Nikita Popov [Fri, 22 Jun 2018 14:22:04 +0000 (16:22 +0200)]
Fixed bug #76520

6 years agoDon't discard char tables just generated
Anatol Belski [Fri, 22 Jun 2018 13:13:29 +0000 (15:13 +0200)]
Don't discard char tables just generated

6 years agoadd note about php_url struct changes
Remi Collet [Fri, 22 Jun 2018 12:58:30 +0000 (14:58 +0200)]
add note about php_url struct changes

6 years agoImprove locale character tables handling and reduce pattern cache size
Anatol Belski [Fri, 22 Jun 2018 12:37:59 +0000 (14:37 +0200)]
Improve locale character tables handling and reduce pattern cache size

If a locale other than C is active, character tables are saved into the
compile context. Every compiled pattern will have a pointer to the
character table, that was present in the context at the time of the
pattern compilation. Thus, the cache entries don't need to carry char
tables pointer, which reduces their size to 8 bytes on 64-bit. Instead,
the generated character tables are tracked in a separate HashTable. If a
character table was generated before, it'll be assigned to the compile
context when the locale changes. Otherwise a new char table will be
generated and cached.

6 years agoReduced overhead of magic method calls (__get/__set/__unset/__isset/__dectructor...
Dmitry Stogov [Fri, 22 Jun 2018 11:29:54 +0000 (14:29 +0300)]
Reduced overhead of magic method calls (__get/__set/__unset/__isset/__dectructor/__clone).

6 years agoretval shouldn't be NULL
Dmitry Stogov [Fri, 22 Jun 2018 11:28:29 +0000 (14:28 +0300)]
retval shouldn't be NULL