]> granicus.if.org Git - php/log
php
10 years agofree the right globals
Anatol Belski [Tue, 16 Dec 2014 08:12:09 +0000 (09:12 +0100)]
free the right globals

That's the same as in the previous commit. In the TS mode the tsrm
cache pointer might be unavailable or point to a wrong thread, so
the exact globals passed should be freed.

10 years agoMerge remote-tracking branch 'origin/master' into native-tls
Anatol Belski [Tue, 16 Dec 2014 07:42:18 +0000 (08:42 +0100)]
Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
  fix perms
  fix perms
  PowerPC64 support in safe_address function

10 years agofix perms
Remi Collet [Tue, 16 Dec 2014 07:38:51 +0000 (08:38 +0100)]
fix perms

10 years agoMerge branch 'PHP-5.6'
Remi Collet [Tue, 16 Dec 2014 07:38:29 +0000 (08:38 +0100)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  fix perms

10 years agoMerge branch 'PHP-5.5' into PHP-5.6
Remi Collet [Tue, 16 Dec 2014 07:37:56 +0000 (08:37 +0100)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  fix perms

10 years agofix perms
Remi Collet [Tue, 16 Dec 2014 07:37:08 +0000 (08:37 +0100)]
fix perms

10 years agodepending on declaration the tsrm cache pointer might be unavailable
Anatol Belski [Tue, 16 Dec 2014 07:26:34 +0000 (08:26 +0100)]
depending on declaration the tsrm cache pointer might be unavailable

during shutdown when the main thread frees all the other threads
resources. Even otherwise, exact resource passed to the dtor should
be freed, not the one from the current thread.

10 years agoPowerPC64 support in safe_address function
Gustavo Frederico Temple Pedrosa [Mon, 15 Dec 2014 12:59:55 +0000 (12:59 +0000)]
PowerPC64 support in safe_address function

Add a ppc64-specific implementation of the safe_address
function with overflow checking.

10 years agoMerge remote-tracking branch 'origin/master' into native-tls
Anatol Belski [Tue, 16 Dec 2014 07:04:51 +0000 (08:04 +0100)]
Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
  Revert "Removed useless local variable"
  Fix the fix for bug #55415
  add BC breaks from PHPNG RFC
  add include for definition of php_url_encode

10 years agoremoved the extra tsrm pointer passed to ctor/dtor
Anatol Belski [Tue, 16 Dec 2014 07:03:15 +0000 (08:03 +0100)]
removed the extra tsrm pointer passed to ctor/dtor

10 years agoRevert "Removed useless local variable"
Dmitry Stogov [Mon, 15 Dec 2014 22:44:10 +0000 (01:44 +0300)]
Revert "Removed useless local variable"

This reverts commit 44ae32ad55b9ceee9eb980edefcc62df6cff3eef.

It doesn't work properly. We can't access call->scope after free.

10 years agoFix the fix for bug #55415
Stanislav Malyshev [Mon, 15 Dec 2014 19:38:51 +0000 (11:38 -0800)]
Fix the fix for bug #55415

10 years agoadd BC breaks from PHPNG RFC
Stanislav Malyshev [Mon, 15 Dec 2014 19:31:53 +0000 (11:31 -0800)]
add BC breaks from PHPNG RFC

10 years agoadd include for definition of php_url_encode
Stanislav Malyshev [Mon, 15 Dec 2014 19:30:53 +0000 (11:30 -0800)]
add include for definition of php_url_encode

10 years agoMerge remote-tracking branch 'origin/master' into native-tls
Anatol Belski [Mon, 15 Dec 2014 19:18:40 +0000 (20:18 +0100)]
Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
  Removed deprecated checks

10 years agoRemoved deprecated checks
Dmitry Stogov [Mon, 15 Dec 2014 13:42:28 +0000 (16:42 +0300)]
Removed deprecated checks

10 years agoMerge remote-tracking branch 'origin/master' into native-tls
Anatol Belski [Mon, 15 Dec 2014 12:57:43 +0000 (13:57 +0100)]
Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
  made the apache ini holders to be zend_bool
  Removed useless local variable
  Use simpler functions
  Fixed test
  small fixes to UPGRADING
  Reorder to save alignment size (of course, only for common used structs)

10 years agomade the apache ini holders to be zend_bool
Anatol Belski [Mon, 15 Dec 2014 12:49:46 +0000 (13:49 +0100)]
made the apache ini holders to be zend_bool

since they're documented to be so and we spare 16 byte

10 years agoRemoved useless local variable
Dmitry Stogov [Mon, 15 Dec 2014 11:43:30 +0000 (14:43 +0300)]
Removed useless local variable

10 years agoUse simpler functions
Dmitry Stogov [Mon, 15 Dec 2014 11:43:16 +0000 (14:43 +0300)]
Use simpler functions

10 years agoFixed test
Dmitry Stogov [Mon, 15 Dec 2014 09:52:50 +0000 (12:52 +0300)]
Fixed test

10 years agoin ext/soap globals are initialized also on minit
Anatol Belski [Mon, 15 Dec 2014 09:52:12 +0000 (10:52 +0100)]
in ext/soap globals are initialized also on minit

10 years agosmall fixes to UPGRADING
Stanislav Malyshev [Mon, 15 Dec 2014 07:49:24 +0000 (23:49 -0800)]
small fixes to UPGRADING

10 years agoReorder to save alignment size (of course, only for common used structs)
Xinchen Hui [Mon, 15 Dec 2014 06:06:19 +0000 (01:06 -0500)]
Reorder to save alignment size (of course, only for common used structs)

10 years agoMerge remote-tracking branch 'origin/master' into native-tls
Anatol Belski [Mon, 15 Dec 2014 06:13:09 +0000 (07:13 +0100)]
Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
  Save 8 bytes on 64 bits

Conflicts:
Zend/zend_API.c

10 years agoMerge remote-tracking branch 'origin/master' into native-tls
Anatol Belski [Mon, 15 Dec 2014 06:01:29 +0000 (07:01 +0100)]
Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
  Revert HTTP status codes merger
  fixed tests, bugs in status codes merger
  Fixed bug #55415 (php_info produces invalid anchor names)
  NEWS
  Implement feature request #55467 (phpinfo: PHP Variables with $ and single quotes)
  NEWS
  Change back to use is_int() as function instead of is_integer(), as per Jan Tvrdík's request @github
  NEWS
  Change is_long() to be an alias of is_integer()
  Fix indentation
  Share HTTP status codes map

10 years agoSave 8 bytes on 64 bits
Xinchen Hui [Mon, 15 Dec 2014 05:43:28 +0000 (00:43 -0500)]
Save 8 bytes on 64 bits

10 years agoRevert HTTP status codes merger
Andrea Faulds [Mon, 15 Dec 2014 01:30:58 +0000 (01:30 +0000)]
Revert HTTP status codes merger

This reverts commits 65768edcf3ef27a21a07e5e994bfd9ca1cabfa94627b350f31be83eb1d5ac5fad692256dcfaf1281 and 9c18ad3ac9103bc0a6c7b7ab8938fd7272095652.

10 years agofixed tests, bugs in status codes merger
Andrea Faulds [Sun, 14 Dec 2014 23:40:35 +0000 (23:40 +0000)]
fixed tests, bugs in status codes merger

10 years agoFixed bug #55415 (php_info produces invalid anchor names)
Kalle Sommer Nielsen [Sun, 14 Dec 2014 22:09:13 +0000 (23:09 +0100)]
Fixed bug #55415 (php_info produces invalid anchor names)

@@ Slightly based off Johannes' patch

10 years agoNEWS
Kalle Sommer Nielsen [Sun, 14 Dec 2014 21:49:00 +0000 (22:49 +0100)]
NEWS

10 years agoImplement feature request #55467 (phpinfo: PHP Variables with $ and single quotes)
Kalle Sommer Nielsen [Sun, 14 Dec 2014 21:47:58 +0000 (22:47 +0100)]
Implement feature request #55467 (phpinfo: PHP Variables with $ and single quotes)

10 years agoNEWS
Kalle Sommer Nielsen [Sun, 14 Dec 2014 21:32:42 +0000 (22:32 +0100)]
NEWS

10 years agoChange back to use is_int() as function instead of is_integer(), as per Jan Tvrdík...
Kalle Sommer Nielsen [Sun, 14 Dec 2014 21:26:16 +0000 (22:26 +0100)]
Change back to use is_int() as function instead of is_integer(), as per Jan Tvrdík's request @github

10 years agoNEWS
Kalle Sommer Nielsen [Sun, 14 Dec 2014 21:13:07 +0000 (22:13 +0100)]
NEWS

10 years agoChange is_long() to be an alias of is_integer()
Kalle Sommer Nielsen [Sun, 14 Dec 2014 20:57:07 +0000 (21:57 +0100)]
Change is_long() to be an alias of is_integer()

@@ See internals: news.php.net/php.internals/79639
@@ Manual will be updated so that is_int() will be an alias of is_integer()
@@ I picked integer over int for consitentcy as we do not use str instead of string either

10 years agoFix indentation
Andrea Faulds [Sun, 14 Dec 2014 19:20:06 +0000 (19:20 +0000)]
Fix indentation

10 years agoMerge branch 'unify_http'
Andrea Faulds [Sun, 14 Dec 2014 19:18:23 +0000 (19:18 +0000)]
Merge branch 'unify_http'

* unify_http:
  Share HTTP status codes map

10 years agoShare HTTP status codes map
Andrea Faulds [Thu, 6 Nov 2014 17:59:31 +0000 (17:59 +0000)]
Share HTTP status codes map

10 years agoMerge remote-tracking branch 'origin/master' into native-tls
Anatol Belski [Sun, 14 Dec 2014 18:44:24 +0000 (19:44 +0100)]
Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
  Fix bug #67106 split main fpm config
  split fpm config to two parts. PR#903
  fix typo
  Fix undefined behaviour in strnatcmp
  Fix undefined behaviour in strnatcmp
  Fixed memory leak introduced by 73458e8f
  update NEWS
  move the test to the right place
  Fixed bug #68545 NULL pointer dereference in unserialize.c

10 years agoremoved the TS part, as suggested by Dmitry.
Anatol Belski [Sun, 14 Dec 2014 18:12:13 +0000 (19:12 +0100)]
removed the TS part, as suggested by Dmitry.

Tests seem to be ok so far

10 years agoFix bug #67106 split main fpm config
Remi Collet [Sun, 14 Dec 2014 13:23:43 +0000 (14:23 +0100)]
Fix bug #67106 split main fpm config

10 years agoalmost all the replacements of TSRMLS_* are done
Anatol Belski [Sun, 14 Dec 2014 13:22:42 +0000 (14:22 +0100)]
almost all the replacements of TSRMLS_* are done

Some places have to be yet touched as they use different/custom
macros namings for the same. Also some places in the code became
redundant now, this is the next task. To name some: ext/mysqlnd,
sapi/embed, ext/curl and some smaller places here and there.

10 years agosplit fpm config to two parts. PR#903
Elan Ruusamäe [Tue, 18 Nov 2014 21:15:39 +0000 (23:15 +0200)]
split fpm config to two parts. PR#903

main config = global options
secondary config = pool options

makes easier to add new pools:
duplicate pool config in fpm.d dir

https://bugs.php.net/bug.php?id=67106

10 years agosecond shot on removing TSRMLS_*
Anatol Belski [Sun, 14 Dec 2014 13:07:59 +0000 (14:07 +0100)]
second shot on removing TSRMLS_*

10 years agoMerge branch 'PHP-5.6'
Remi Collet [Sun, 14 Dec 2014 08:23:25 +0000 (09:23 +0100)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  fix typo

10 years agofix typo
Remi Collet [Sun, 14 Dec 2014 08:22:59 +0000 (09:22 +0100)]
fix typo

10 years agoMerge branch 'PHP-5.6'
Andrea Faulds [Sat, 13 Dec 2014 22:31:20 +0000 (22:31 +0000)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  Fix undefined behaviour in strnatcmp
  update NEWS
  move the test to the right place
  Fixed bug #68545 NULL pointer dereference in unserialize.c

10 years agoMerge branch 'PHP-5.5' into PHP-5.6
Andrea Faulds [Sat, 13 Dec 2014 22:30:19 +0000 (22:30 +0000)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Fix undefined behaviour in strnatcmp
  update NEWS
  move the test to the right place
  Fixed bug #68545 NULL pointer dereference in unserialize.c

10 years agoMerge branch 'PHP-5.4' into PHP-5.5
Andrea Faulds [Sat, 13 Dec 2014 22:28:45 +0000 (22:28 +0000)]
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fix undefined behaviour in strnatcmp
  update NEWS
  move the test to the right place
  Fixed bug #68545 NULL pointer dereference in unserialize.c

Conflicts:
NEWS

10 years agoFix undefined behaviour in strnatcmp
Andrea Faulds [Sat, 13 Dec 2014 22:06:27 +0000 (22:06 +0000)]
Fix undefined behaviour in strnatcmp

10 years agoFix undefined behaviour in strnatcmp
Andrea Faulds [Sat, 13 Dec 2014 22:06:27 +0000 (22:06 +0000)]
Fix undefined behaviour in strnatcmp

10 years agofirst shot remove TSRMLS_* things
Anatol Belski [Sat, 13 Dec 2014 22:06:14 +0000 (23:06 +0100)]
first shot remove TSRMLS_* things

10 years agoFixed memory leak introduced by 73458e8f
Andrea Faulds [Sat, 13 Dec 2014 21:11:09 +0000 (21:11 +0000)]
Fixed memory leak introduced by 73458e8f

10 years agoMerge remote-tracking branch 'origin/master' into native-tls
Anatol Belski [Sat, 13 Dec 2014 18:43:45 +0000 (19:43 +0100)]
Merge remote-tracking branch 'origin/master' into native-tls

* origin/master: (37 commits)
  NEWS
  NEWS
  Fix bug #68601 buffer read overflow in gd_gif_in.c
  Fixed compilation warnings
  Removed unnecessary checks
  pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary
  Merged PR #911.
  Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently defined classes as final which were just not being considered as such before.
  Updated NEWS
  Updated NEWS
  Updated NEWS
  Fix bug #68532: convert.base64-encode omits padding bytes
  Updated NEWS
  Updated NEWS
  Updated NEWS
  Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor)
  Updated NEWS
  Updated NEWS
  Fix MySQLi tests
  Fixed gd test
  ...

10 years agoMerge branch 'zppFailOnOverflow'
Andrea Faulds [Sat, 13 Dec 2014 18:38:15 +0000 (18:38 +0000)]
Merge branch 'zppFailOnOverflow'

* zppFailOnOverflow:
  Fix MySQLi tests
  Fixed gd test
  Refactor ZEND_LONG_MAX/MIN checks into ZEND_DOUBLE_FITS_LONG()
  Fixed copy-and-paste error
  Fix more 32-bit tests
  Skip buncha tests on 32-bit
  skip simplexml
  skip posix 32-bit
  skip tests on 32-bit
  Fixes simplexml test
  Fixes posix tests
  Fixes iconv tests
  Marked tests as 32-bit
  Fixed more 32-bit tests
  Fixed some 32-bit tests
  Mark said ext/date tests as 32-bit only
  Fixed ext/date tests broken by zpp error on overflow
  Fixed broken tests
  Make zpp fail if NaN passed for int, or out-of-range float for non-capping int

Conflicts:
ext/date/tests/getdate_variation7.phpt
ext/date/tests/localtime_variation3.phpt

10 years agoMerge branch 'PHP-5.6'
Remi Collet [Sat, 13 Dec 2014 08:06:24 +0000 (09:06 +0100)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  NEWS
  NEWS
  Fix bug #68601 buffer read overflow in gd_gif_in.c

10 years agoNEWS
Remi Collet [Sat, 13 Dec 2014 08:05:48 +0000 (09:05 +0100)]
NEWS

10 years agoMerge branch 'PHP-5.5' into PHP-5.6
Remi Collet [Sat, 13 Dec 2014 08:05:33 +0000 (09:05 +0100)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  NEWS
  Fix bug #68601 buffer read overflow in gd_gif_in.c

10 years agoNEWS
Remi Collet [Sat, 13 Dec 2014 08:04:57 +0000 (09:04 +0100)]
NEWS

10 years agoFix bug #68601 buffer read overflow in gd_gif_in.c
Remi Collet [Sat, 13 Dec 2014 08:03:44 +0000 (09:03 +0100)]
Fix bug #68601 buffer read overflow in gd_gif_in.c

10 years agoFixed compilation warnings
Dmitry Stogov [Fri, 12 Dec 2014 18:57:34 +0000 (21:57 +0300)]
Fixed compilation warnings

10 years agoRemoved unnecessary checks
Dmitry Stogov [Fri, 12 Dec 2014 18:57:12 +0000 (21:57 +0300)]
Removed unnecessary checks

10 years agoMerge branch 'PHP-5.6'
Julien Pauli [Fri, 12 Dec 2014 17:24:29 +0000 (18:24 +0100)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary

10 years agoMerge branch 'PHP-5.5' into PHP-5.6
Julien Pauli [Fri, 12 Dec 2014 17:24:16 +0000 (18:24 +0100)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary

10 years agopcntl_signal_dispatch: Speed up by preventing system calls when unnecessary
Jille Timmermans [Wed, 11 Jun 2014 15:34:34 +0000 (17:34 +0200)]
pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary

10 years agoMerged PR #911.
Julien Pauli [Fri, 5 Dec 2014 04:15:23 +0000 (04:15 +0000)]
Merged PR #911.

10 years agoRemoved ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently...
Guilherme Blanco [Sat, 22 Nov 2014 04:57:55 +0000 (04:57 +0000)]
Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently defined classes as final which were just not being considered as such before.

10 years agoUpdated NEWS
Julien Pauli [Fri, 12 Dec 2014 16:02:20 +0000 (17:02 +0100)]
Updated NEWS

10 years agoMerge branch 'PHP-5.6'
Julien Pauli [Fri, 12 Dec 2014 15:51:50 +0000 (16:51 +0100)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  Updated NEWS
  Updated NEWS
  Fix bug #68532: convert.base64-encode omits padding bytes

10 years agoUpdated NEWS
Julien Pauli [Fri, 12 Dec 2014 15:51:37 +0000 (16:51 +0100)]
Updated NEWS

10 years agoMerge branch 'PHP-5.5' into PHP-5.6
Julien Pauli [Fri, 12 Dec 2014 15:50:42 +0000 (16:50 +0100)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Updated NEWS
  Fix bug #68532: convert.base64-encode omits padding bytes

10 years agoUpdated NEWS
Julien Pauli [Fri, 12 Dec 2014 15:50:32 +0000 (16:50 +0100)]
Updated NEWS

10 years agoFix bug #68532: convert.base64-encode omits padding bytes
mcq8 [Thu, 4 Dec 2014 16:36:44 +0000 (17:36 +0100)]
Fix bug #68532: convert.base64-encode omits padding bytes

10 years agoUpdated NEWS
Julien Pauli [Fri, 12 Dec 2014 15:14:52 +0000 (16:14 +0100)]
Updated NEWS

10 years agoMerge branch 'PHP-5.6'
Julien Pauli [Fri, 12 Dec 2014 15:14:24 +0000 (16:14 +0100)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  Updated NEWS
  Updated NEWS
  Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor)

Conflicts:
Zend/zend_compile.c

10 years agoUpdated NEWS
Julien Pauli [Fri, 12 Dec 2014 15:12:52 +0000 (16:12 +0100)]
Updated NEWS

10 years agoMerge branch 'PHP-5.5' into PHP-5.6
Julien Pauli [Fri, 12 Dec 2014 14:07:33 +0000 (15:07 +0100)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Updated NEWS
  Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor)

Conflicts:
Zend/zend_compile.c

10 years agoUpdated NEWS
Julien Pauli [Fri, 12 Dec 2014 14:06:04 +0000 (15:06 +0100)]
Updated NEWS

10 years agoFixed Bug #65576 (Constructor from trait conflicts with inherited constructor)
Kévin Dunglas [Mon, 8 Dec 2014 14:24:44 +0000 (15:24 +0100)]
Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor)

10 years agoMerge remote-tracking branch 'origin/master' into native-tls
Anatol Belski [Fri, 12 Dec 2014 13:25:59 +0000 (14:25 +0100)]
Merge remote-tracking branch 'origin/master' into native-tls

* origin/master:
  updated NEWS
  PowerPC64 support for add and sub with overflow check
  PowerPC64 support for operators with overflow check
  Fixed bug #68583 Crash in timeout thread
  Reduced size of zend_op on 64-bit systems.
  Make ZEND_INIT_FCALL keep predcalculted size of necessary stack space in opline->op1.num to avoid its recalculation on each execution.
  Removed unused variables
  Improved array_merge() and array_replace() (1-st array may be added using simple procedure).
  Replaced zendi_convert_to_long() with _zval_get_long_func()
  Moved zend_is_true() from zend_execute.h/zend_execute_API.c into zend_operators.h/zend_operators.c. Splited the most expensive part of inline i_zend_is_true() into a separate zend_object_is_true(). Replaced zendi_convert_to_long() with cals to zend_is_true().
  Revert "Save one xor instr"
  Save one xor instr

Conflicts:
Zend/zend_execute_API.c

10 years agoMerge branch 'PHP-5.6'
Julien Pauli [Fri, 12 Dec 2014 13:20:58 +0000 (14:20 +0100)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  Updated NEWS
  Updated NEWS

10 years agoUpdated NEWS
Julien Pauli [Fri, 12 Dec 2014 13:20:41 +0000 (14:20 +0100)]
Updated NEWS

10 years agoMerge branch 'PHP-5.5' into PHP-5.6
Julien Pauli [Fri, 12 Dec 2014 13:18:43 +0000 (14:18 +0100)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Updated NEWS

10 years agoUpdated NEWS
Julien Pauli [Fri, 12 Dec 2014 13:18:27 +0000 (14:18 +0100)]
Updated NEWS

10 years agoMerge branch 'PHP-5.6'
Anatol Belski [Fri, 12 Dec 2014 12:26:17 +0000 (13:26 +0100)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  updated NEWS
  Fixed bug #68583 Crash in timeout thread

Conflicts:
Zend/zend_execute.h
Zend/zend_execute_API.c

10 years agoupdated NEWS
Anatol Belski [Fri, 12 Dec 2014 11:17:42 +0000 (12:17 +0100)]
updated NEWS

10 years agoMerge branch 'PHP-5.5' into PHP-5.6
Anatol Belski [Fri, 12 Dec 2014 11:05:47 +0000 (12:05 +0100)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Fixed bug #68583 Crash in timeout thread

Conflicts:
Zend/zend_execute.h

10 years agoPowerPC64 support for add and sub with overflow check
Gustavo Frederico Temple Pedrosa [Thu, 11 Dec 2014 18:14:51 +0000 (18:14 +0000)]
PowerPC64 support for add and sub with overflow check

This adds fast architecture-specific implementations of the
following functions for the ppc64:

* fast_add_function
* fast_sub_function

10 years agoPowerPC64 support for operators with overflow check
Gustavo Frederico Temple Pedrosa [Thu, 11 Dec 2014 17:48:41 +0000 (17:48 +0000)]
PowerPC64 support for operators with overflow check

This adds fast architecture-specific implementations of
the following functions for the ppc64:

* fast_increment_function
* fast_decrement_function

10 years agoFixed bug #68583 Crash in timeout thread
Anatol Belski [Fri, 12 Dec 2014 09:43:31 +0000 (10:43 +0100)]
Fixed bug #68583 Crash in timeout thread

This replaces the GUI element used for execution timeout handling
on Windows. Instead a timer queue technique is used, which is indeed
a thread pool. A timer queue timer is a lightweight object handled
but that thread pool and the timer thread spends most of the time
sleeping and waiting for an alert.

Please note also that this introduces neither binary nor source
breach. The custom timeout thread functions are deleted, however
they was not exported throug DLL, so couldn't be used by any
external code. As well they couldn't be used anywhere in the core
except in executor api, because those custom timeout thread
functions they used to operate on static variables which would
be overwritten (and that would blow).

So instead a relatively modern technique is used for the timeout
handling. It's still not perfect because the executor still has to
check EX(timed_out). This can be a topic for an improvement in
master. But brobably can be tricky as currently it seems to be not
possible to signal an individual thread. Also note another issue
that static variables aren't thread safe, but the current timer
implementation is.

10 years agoReduced size of zend_op on 64-bit systems.
Dmitry Stogov [Fri, 12 Dec 2014 07:19:41 +0000 (10:19 +0300)]
Reduced size of zend_op on 64-bit systems.

the main idea - the smaller the zend_op structure, the lees memory traffic is required to load VM instructions during execution. The patch reduces the size of each opcode from 48 to 32 bytes (saves 16 bytes for each opcode, and applications use thousands of opoceds). This reduced the number of CPU cache misses by 12% and improved performance of real-life apps by 1-2%.

The patch affects how constants and jump targets are represented in VM during execution. Previously they were implemented as absolute 64-bit pointers. Now they are relative 32-bit offsets.

In run-time constant now should be accessed as:
  RT_CONSTANT(op_array, opine->op1) instead of opline->op1.zv
  EX_CONSTANT(opline->op1) instead of opline->op1.zv

Jump targets:
  OP_JMP_ADDR(opline, opline->op2) instead of opline->op2.jmp_addr

The patch doesn't change zend_op representation for 32-bit systems. They still use absolute addresses. The compile-time representation is also kept the same.

10 years agoexplicit passing of *tsrm_ls isn't needed anymore
Anatol Belski [Fri, 12 Dec 2014 07:11:14 +0000 (08:11 +0100)]
explicit passing of *tsrm_ls isn't needed anymore

10 years agoMake ZEND_INIT_FCALL keep predcalculted size of necessary stack space in opline-...
Dmitry Stogov [Fri, 12 Dec 2014 06:01:42 +0000 (09:01 +0300)]
Make ZEND_INIT_FCALL keep predcalculted size of necessary stack space in opline->op1.num to avoid its recalculation on each execution.

10 years agoRemoved unused variables
Dmitry Stogov [Fri, 12 Dec 2014 05:09:42 +0000 (08:09 +0300)]
Removed unused variables

10 years agoupdate NEWS
Stanislav Malyshev [Thu, 11 Dec 2014 18:41:17 +0000 (10:41 -0800)]
update NEWS

10 years agomove the test to the right place
Anatol Belski [Wed, 10 Dec 2014 12:19:51 +0000 (13:19 +0100)]
move the test to the right place

10 years agoFixed bug #68545 NULL pointer dereference in unserialize.c
Anatol Belski [Wed, 10 Dec 2014 10:43:33 +0000 (11:43 +0100)]
Fixed bug #68545 NULL pointer dereference in unserialize.c

10 years agoImproved array_merge() and array_replace() (1-st array may be added using simple...
Dmitry Stogov [Thu, 11 Dec 2014 16:18:31 +0000 (19:18 +0300)]
Improved array_merge() and array_replace() (1-st array may be added using simple procedure).

10 years agoReplaced zendi_convert_to_long() with _zval_get_long_func()
Dmitry Stogov [Thu, 11 Dec 2014 12:01:06 +0000 (15:01 +0300)]
Replaced zendi_convert_to_long() with _zval_get_long_func()