Commit Graph

86742 Commits

Author SHA1 Message Date
Andrea Faulds
d450f6aabc Merge branch 'unify_http'
* unify_http:
  Share HTTP status codes map
2014-12-14 19:18:23 +00:00
Andrea Faulds
65768edcf3 Share HTTP status codes map 2014-12-14 19:16:51 +00:00
Remi Collet
855d296638 Fix bug #67106 split main fpm config 2014-12-14 14:23:43 +01:00
Elan Ruusamäe
9f189dd290 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
2014-12-14 14:21:46 +01:00
Remi Collet
70c141b8f8 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix typo
2014-12-14 09:23:25 +01:00
Remi Collet
505adabf25 fix typo 2014-12-14 09:22:59 +01:00
Andrea Faulds
a2038e6826 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
2014-12-13 22:31:20 +00: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
Andrea Faulds
8c99b65c4d Fixed memory leak introduced by 73458e8f 2014-12-13 21:11:09 +00: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
2e5de0c323 NEWS 2014-12-13 09:05:48 +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
ba62b9bbf8 NEWS 2014-12-13 09:04:57 +01:00
Remi Collet
07b5896a13 Fix bug #68601 buffer read overflow in gd_gif_in.c 2014-12-13 09:03:44 +01:00
Dmitry Stogov
3893c1fc3d Fixed compilation warnings 2014-12-12 21:57:34 +03:00
Dmitry Stogov
68cfeed70f Removed unnecessary checks 2014-12-12 21:57:12 +03: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
Julien Pauli
0adfa03397 Merged PR #911. 2014-12-12 18:00:13 +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
5ad01e1d33 Updated NEWS 2014-12-12 17:02:20 +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
238529fc3e Updated NEWS 2014-12-12 16:51:37 +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
Julien Pauli
d43d0663af Updated NEWS 2014-12-12 16:50:32 +01:00
mcq8
86f1875536 Fix bug #68532: convert.base64-encode omits padding bytes 2014-12-12 16:42:38 +01:00
Julien Pauli
8e42063c0c Updated NEWS 2014-12-12 16:14:52 +01:00
Julien Pauli
ebe755f149 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
2014-12-12 16:14:24 +01:00
Julien Pauli
4cda98264e Updated NEWS 2014-12-12 16:12:52 +01:00
Julien Pauli
d5dd29ce5c 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
2014-12-12 16:11:26 +01:00
Julien Pauli
d6eb3b49c8 Updated NEWS 2014-12-12 15:06:04 +01:00
Kévin Dunglas
ee226b961c Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor) 2014-12-12 14:58:23 +01:00
Julien Pauli
2e735660d2 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
  Updated NEWS
2014-12-12 14:20:58 +01:00
Julien Pauli
d1a2c15221 Updated NEWS 2014-12-12 14:20:41 +01:00
Julien Pauli
895b4efab0 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2014-12-12 14:18:43 +01:00
Julien Pauli
fbe9b2c088 Updated NEWS 2014-12-12 14:18:27 +01:00
Anatol Belski
f4311686cc 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
2014-12-12 13:26:17 +01:00
Anatol Belski
b1709b8ff0 updated NEWS 2014-12-12 12:17:42 +01:00
Anatol Belski
c96ffaa653 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #68583 Crash in timeout thread

Conflicts:
	Zend/zend_execute.h
2014-12-12 12:05:47 +01:00
Gustavo Frederico Temple Pedrosa
5dbeb9e65e 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
2014-12-12 10:47:54 +01:00
Gustavo Frederico Temple Pedrosa
fd045c7021 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
2014-12-12 10:47:50 +01:00
Anatol Belski
3affc0e8a2 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.
2014-12-12 10:43:31 +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
Dmitry Stogov
2ea5f7aea4 Removed unused variables 2014-12-12 08:09:42 +03:00