Commit Graph

37053 Commits

Author SHA1 Message Date
Anatol Belski
eb629b70da 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.
2014-12-16 09:12:09 +01:00
Anatol Belski
50a93357fb Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  fix perms
  fix perms
  PowerPC64 support in safe_address function
2014-12-16 08:42:18 +01:00
Remi Collet
62691b2d6a fix perms 2014-12-16 08:38:51 +01:00
Remi Collet
ee0b922ece Merge branch 'PHP-5.6'
* PHP-5.6:
  fix perms
2014-12-16 08:38:29 +01:00
Remi Collet
181f34f375 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix perms
2014-12-16 08:37:56 +01:00
Remi Collet
9c4de388c6 fix perms 2014-12-16 08:37:48 +01:00
Anatol Belski
209a7a27a5 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
2014-12-16 08:04:51 +01:00
Stanislav Malyshev
d9f277bd16 Fix the fix for bug #55415 2014-12-15 11:40:48 -08:00
Stanislav Malyshev
e304c3191b add include for definition of php_url_encode 2014-12-15 11:33:27 -08:00
Anatol Belski
bd76a50019 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  Removed deprecated checks
2014-12-15 20:18:40 +01:00
Dmitry Stogov
4e48bff3ce Removed deprecated checks 2014-12-15 16:42:28 +03:00
Anatol Belski
f62ad3bc57 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)
2014-12-15 13:57:43 +01:00
Dmitry Stogov
381bd80a79 Fixed test 2014-12-15 12:52:50 +03:00
Anatol Belski
dba27372ec in ext/soap globals are initialized also on minit 2014-12-15 10:52:12 +01:00
Anatol Belski
5ff59f986c 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
2014-12-15 07:01:29 +01:00
Andrea Faulds
7950429626 Revert HTTP status codes merger
This reverts commits 65768edcf3, 627b350f31 and 9c18ad3ac9.
2014-12-15 01:30:58 +00:00
Andrea Faulds
9c18ad3ac9 fixed tests, bugs in status codes merger 2014-12-14 23:41:11 +00:00
Kalle Sommer Nielsen
ad01fd8b49 Fixed bug #55415 (php_info produces invalid anchor names)
@@ Slightly based off Johannes' patch
2014-12-14 23:09:13 +01:00
Kalle Sommer Nielsen
d82fa2273f Implement feature request #55467 (phpinfo: PHP Variables with $ and single quotes) 2014-12-14 22:47:58 +01:00
Kalle Sommer Nielsen
6b8ed592b9 Change back to use is_int() as function instead of is_integer(), as per Jan Tvrdík's request @github 2014-12-14 22:26:16 +01:00
Kalle Sommer Nielsen
04c11f918a 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
2014-12-14 21:57:07 +01:00
Anatol Belski
a857f3a147 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
2014-12-14 19:44:24 +01:00
Anatol Belski
7b6ed8db2f 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.
2014-12-14 14:22:42 +01:00
Anatol Belski
e112f6a04e second shot on removing TSRMLS_* 2014-12-14 14:07:59 +01:00
Andrea Faulds
51771ed238 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
2014-12-13 22:30:19 +00:00
Andrea Faulds
f804a3614e 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
2014-12-13 22:28:45 +00:00
Andrea Faulds
034e6decb3 Fix undefined behaviour in strnatcmp 2014-12-13 22:27:10 +00:00
Andrea Faulds
2cca4d0193 Fix undefined behaviour in strnatcmp 2014-12-13 22:06:27 +00:00
Anatol Belski
bdeb220f48 first shot remove TSRMLS_* things 2014-12-13 23:06:14 +01:00
Anatol Belski
bb66f385d0 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
  ...
2014-12-13 19:43:45 +01:00
Andrea Faulds
0ea0b591d7 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
2014-12-13 18:38:15 +00:00
Remi Collet
de0afce55b Merge branch 'PHP-5.6'
* PHP-5.6:
  NEWS
  NEWS
  Fix bug #68601 buffer read overflow in gd_gif_in.c
2014-12-13 09:06:24 +01:00
Remi Collet
8bd67ce748 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  NEWS
  Fix bug #68601 buffer read overflow in gd_gif_in.c
2014-12-13 09:05:33 +01:00
Remi Collet
07b5896a13 Fix bug #68601 buffer read overflow in gd_gif_in.c 2014-12-13 09:03:44 +01:00
Julien Pauli
8ff4abb468 Merge branch 'PHP-5.6'
* PHP-5.6:
  pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary
2014-12-12 18:24:29 +01:00
Julien Pauli
3769aee67c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary
2014-12-12 18:24:16 +01:00
Jille Timmermans
9beb3763db pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary 2014-12-12 18:16:12 +01:00
Guilherme Blanco
094d409b3d 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. 2014-12-12 17:29:54 +01:00
Julien Pauli
446eed10ee Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
  Updated NEWS
  Fix bug #68532: convert.base64-encode omits padding bytes
2014-12-12 16:51:50 +01:00
Julien Pauli
a0d848f795 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
  Fix bug #68532: convert.base64-encode omits padding bytes
2014-12-12 16:50:42 +01:00
mcq8
86f1875536 Fix bug #68532: convert.base64-encode omits padding bytes 2014-12-12 16:42:38 +01:00
Anatol Belski
dfb18b1188 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
2014-12-12 14:25:59 +01:00
Dmitry Stogov
14e29f5146 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.
2014-12-12 10:19:41 +03:00
Dmitry Stogov
9ea35a37b9 Make ZEND_INIT_FCALL keep predcalculted size of necessary stack space in opline->op1.num to avoid its recalculation on each execution. 2014-12-12 09:01:42 +03:00
Anatol Belski
0323f66fa2 move the test to the right place 2014-12-11 10:39:47 -08:00
Anatol Belski
13f1c276ab Fixed bug #68545 NULL pointer dereference in unserialize.c 2014-12-11 10:39:37 -08:00
Dmitry Stogov
381438e5df Improved array_merge() and array_replace() (1-st array may be added using simple procedure). 2014-12-11 19:18:31 +03:00
Dmitry Stogov
e087d3ac7f Merge branch 'master' into native-tls
* master: (23 commits)
  move the test to the right place
  fix TS build and C89 compat
  updated NEWS
  Fixed bug #68545 NULL pointer dereference in unserialize.c
  Updated NEWS
  Updated NEWS
  Updated NEWS
  NEWS
  Fix bug #68526 Implement POSIX Access Control List for UDS
  Improved basic zval copying primitives: ZVAL_COPY_VALUE(), ZVAL_COPY(), ZVAL_DUP()
  Wrap RETURN_VALUE_USED() with EXPECTED() or UNEXPECTED() macros according to more frequent usage patterns.
  Improved ASSIGN_<OP>, ASSIGN_DIM and UNSET_DIM
  drop dead/unused code
  simplified code
  Move ZVAL_DEREF() and make_real_object() into slow paths.
  Pass znode_op structure by value (it fits into one word) instead of pointer to structure.
  Move checks for references into slow paths.
  Improved ASSIGN_DIM and ASSIGN_OBJ
  Fixed typo
  Move checks for references into slow paths of handlers or helpers. Remove duplicate opcode handlers.
  ...
2014-12-10 23:24:11 +03:00
Anatol Belski
92a9477cc3 Merge branch 'PHP-5.6'
* PHP-5.6:
  move the test to the right place
2014-12-10 13:23:15 +01:00
Anatol Belski
21da246807 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  move the test to the right place
2014-12-10 13:22:52 +01:00