Commit graph

3626 commits

Author SHA1 Message Date
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
Anatol Belski
178363cbff made the apache ini holders to be zend_bool
since they're documented to be so and we spare 16 byte
2014-12-15 13:49:46 +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
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
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
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
Anatol Belski
e112f6a04e second shot on removing TSRMLS_* 2014-12-14 14:07:59 +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
Anatol Belski
bdeb220f48 first shot remove TSRMLS_* things 2014-12-13 23:06:14 +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
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
Remi Collet
19d481945e Merge branch 'PHP-5.6'
* PHP-5.6:
  NEWS
  Fix bug #68526 Implement POSIX Access Control List for UDS
2014-12-10 08:19:29 +01:00
Remi Collet
744ada7d9d Fix bug #68526 Implement POSIX Access Control List for UDS
- add --with-fpm-acl build option which allow to manage ACL
on Unix Domain Socket
- add listen.acl_users pool option
- add listen.acl_groups pool option

Keep old behavior (chmod) if option not used or not supported.
2014-12-10 08:15:21 +01:00
Anatol Belski
ba35b22bc4 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (35 commits)
  Fixed bug #68398 msooxml matches too many archives
  Fix zpp call in apache_getenv()
  Drop unnecessary zval containers
  fixed test
  C89 compat
  add include for missing localeconv_r proto
  updated NEWS
  Fixed bug #65230 setting locale randomly broken
  Fix compilation error (ref #68424)
  Removed useless handlers
  Move checks for references into slow paths of operator functions. Remove duplicate opcode handlers.
  Revert unintentional docblock change
  Restored zip/oci8 PHP 4 code, add PHP 7 checks
  Note macro removal in UPGRADING.INTERNALS
  Removed ZEND_ENGINE_2 checks (and ZE1 code, it's been a decade!)
  Zend Engine 3
  Updated NEWS
  Updated NEWS
  Updated NEWS
  Start adding new attribute to control multi statements
  ...
2014-12-06 21:37:15 +01:00
Nikita Popov
7be91dd730 Fix zpp call in apache_getenv() 2014-12-06 12:38:56 +01:00
Anatol Belski
88bb9fedc4 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (111 commits)
  Fix zend_fcall_info_arg*() to use ZVAL_COPY
  Fixed #65213 - cannot cast SplFileInfo to boolean
  add initial install
  switch to C travis project instead of PHP
  use the generic TRAVIS environment var to check for travis (see http://docs.travis-ci.com/user/ci-environment/)
  fix TS build
  add config option to target codegen architectures
  updated NEWS
  updated NEWS
  Fixed bug #55541 errors spawn MessageBox, which blocks test automation
  Get rid of duplicate handlers (ZEND_ADD_SPEC_TMP_TMP and ZEND_ADD_SPEC_VAR_VAR are absolutely the same).
  Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*.
  Fixed __debugInfo() support
  Update UPGRADING for the new variadic functions, and re-sort.
  Improved POST INC/DEC
  make sure that we don't truncate the stack trace and cause false test failures when the test is executed in a directory with long path
  Missed closed folder mark
  Revert "Unecessary assignment"
  Fixed improper memory release
  Unecessary assignment
  ...
2014-12-05 03:50:02 +01:00
Anatol Belski
8ced6f1167 fix datatype mismatches and warnings 2014-12-02 11:24:21 +01:00
Anatol Belski
b35555f6cd fix datatype mismatches 2014-12-02 09:15:11 +01:00
Anatol Belski
1bcc7d919c fix datatype mismatches 2014-12-02 09:15:10 +01:00
Anatol Belski
4cba2f9811 fix datatype mismatch 2014-12-02 09:15:09 +01:00
Anatol Belski
1172aff298 fix datatype mismatches 2014-12-02 09:15:08 +01:00
Anatol Belski
c64ce84cd6 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix possible null pointer math
2014-12-01 14:43:43 +01:00
Anatol Belski
f33bd9c846 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix possible null pointer math
2014-12-01 14:43:22 +01:00
Anatol Belski
cb6dea6ea8 fix possible null pointer math 2014-12-01 14:40:35 +01:00
nil0x42
2534671f0b Fix php cli (-S option) inconsistent port parsing
Add port range verification of listening port with -S option for the php cli.
This fixes inconsistent listening port due to unverified cast from long to short
with htons(3).
2014-11-30 22:42:30 -08:00
nil0x42
2a73d56ef9 Fix php cli (-S option) inconsistent port parsing
Add port range verification of listening port with -S option for the php cli.
This fixes inconsistent listening port due to unverified cast from long to short
with htons(3).
2014-11-30 22:42:12 -08:00
nil0x42
a87300241f Fix php cli (-S option) inconsistent port parsing
Add port range verification of listening port with -S option for the php cli.
This fixes inconsistent listening port due to unverified cast from long to short
with htons(3).
2014-11-30 22:29:24 -08:00
Remi Collet
4ba828652b Merge branch 'PHP-5.6'
* PHP-5.6:
  XFAIL as catch_workers_output = yes seems not reliable
2014-12-01 07:29:19 +01:00
Remi Collet
cb1a297bf4 XFAIL as catch_workers_output = yes seems not reliable 2014-12-01 07:28:49 +01:00
Remi Collet
bfa9c4609d Merge branch 'PHP-5.6'
* PHP-5.6:
  Move chown to fpm_unix_set_socket_premissions()
2014-11-29 16:52:25 +01:00
Remi Collet
e1d4ac426c Move chown to fpm_unix_set_socket_premissions()
For consistency, with fpm_unix_resolve_socket_premissions.
Compute + Use in the same source file.
To make easier future enhancement.

Also check chdir output to fix a build warning.
2014-11-29 16:49:08 +01:00
Ferenc Kovacs
719083bd94 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test with readline on mac
2014-11-29 01:49:40 +01:00
Ferenc Kovacs
7e4b77c921 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test with readline on mac
2014-11-29 01:49:23 +01:00
Ferenc Kovacs
108bf84967 fix test with readline on mac 2014-11-29 01:47:45 +01:00
Ferenc Kovacs
82979862ba fix phpdbg, _zend_execute_data.scope was removed with 9a36cb1a07 2014-11-28 22:12:02 +01:00
Ferenc Kovacs
aef51819ce typo fix 2014-11-26 18:41:50 +01:00
Ferenc Kovacs
0afc04b913 go back with phpdbg to the state of 5.6.3, reverting the controversial commits(remote debugging/xml protocol) 2014-11-26 18:38:36 +01:00
Anatol Belski
3ca0ca1548 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (102 commits)
  fix dir separator in test
  fix TS build
  fix TS build
  Better fix for bug #68446
  Revert "Merge remote-tracking branch 'origin/PHP-5.6'"
  Revert NEWS and set test to XFAIL
  Revert "Fix bug #68446 (bug with constant defaults and type hints)"
  Improved zend_hash_clean() and added new optimized zend_symtable_clean()
  Use inline version of zval_ptr_dtor()
  Added new optimized zend_array_destroy() function
  Moved i_zval_ptr_dtor() from zend_execute.h to zend_variables.h
  fix REGISTER_NS_*_CONSTANT macros
  Removed useless assert. EG(uninitialized_zval) can't be refcounted.
  Use specialized destructors when types of zvals are known.
  move tests into proper place
  Improved assignment to object property
  Reuse zend_assign_to_variable() in zend_std_write_property()
  cleanup comments from svn/cvs era
  fix dir separator in test
  fork test for windows
  ...
2014-11-26 08:17:35 +01:00
Remi Collet
95a609c5d1 FPM: change "listen = port" behavior from IPv4 catch-all to IPv6 catch-all (+ IPv4-mapped) 2014-11-24 09:38:36 +01:00
Veres Lajos
06fdf359e3 typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-23 14:52:47 -08:00
Veres Lajos
4dc994571d typo fixes - https://github.com/vlajos/misspell_fixer
Conflicts:
	ext/ftp/ftp.h
	ext/pcre/pcrelib/pcre_printint.c
	ext/pcre/pcrelib/sljit/sljitLir.c
	ext/pcre/pcrelib/sljit/sljitLir.h
	ext/pcre/pcrelib/sljit/sljitNativeARM_32.c
	ext/pcre/pcrelib/sljit/sljitNativeTILEGX_64.c
	ext/pgsql/pgsql.c
	ext/phar/func_interceptors.c
	ext/soap/soap.c
	ext/standard/image.c
2014-11-23 14:33:43 -08:00
Remi Collet
c50ee655ea Fixed Bug #68478 acess_log don't use prefix
Calling fpm_conf_process_all_pools before fpm_log_open
allow to use fpm_evaluate_full_path and so to honor
global prefix or pool prefix for access.log
2014-11-22 10:35:51 +01:00
Remi Collet
48fa365006 Merge branch 'PHP-5.6'
* PHP-5.6:
  NEWS
  minor typo in test
  add test for global / pool prefix and bug #68478
  Fixed Bug #68478 acess_log don't use prefix
2014-11-22 10:31:26 +01:00
Remi Collet
3a3f67f79b minor typo in test 2014-11-22 10:29:51 +01:00
Remi Collet
fd5c421a00 add test for global / pool prefix and bug #68478 2014-11-22 10:29:05 +01:00
Remi Collet
b924af8db9 Fixed Bug #68478 acess_log don't use prefix
Calling fpm_conf_process_all_pools before fpm_log_open
allow to use fpm_evaluate_full_path and so to honor
global prefix or pool prefix for access.log
2014-11-22 10:25:53 +01:00