1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 11:13:36 +02:00
Commit Graph

105919 Commits

Author SHA1 Message Date
Anatol Belski 32db45ca54 Drop unused code 2017-12-15 14:58:43 +01:00
Anatol Belski f3f6cd24e9 Modernize realpath and integrate quick variant into virtual_file_ex
The slower I/O as a traditional bottleneck on Windows which is
the target of this patch. The recursive path resolution, while being
an allround solution, is expensive when it comes to the common case.
Files with proper ACLs set can be resolved in one go by usage of specific
API. Those are available since Vista, so actually can be called old. Those
simpler api is used for the cases where no CWD_EXPAND is requested. For
the cases where ACLs are improper, the existing solution based on
FindFirstFile still does good job also partially providing quirks. Cases
involing reparse tags and other non local filesystems are also partially
server by new APIs.

The approach uses both APIs - the quick one for the common case still
integrating realpath cache, and the existing one as a fallback. The tests
show the I/O load drop on the realpath resolution part due to less
system calls for the sub part resolution of paths. In most case it is
justified, as the sub parts were otherwise cached or unused as well. The
realpath() implementation in ioutil is also closer to the POSIX.
2017-12-15 13:23:34 +01:00
Dmitry Stogov 66a604171c Array addition is not commutative 2017-12-15 14:40:19 +03:00
Dmitry Stogov 588f1df7a2 Remove duplicate handlers for commutative operations 2017-12-15 13:42:54 +03:00
Dmitry Stogov b864e6b58c Move constants into read-only data segment 2017-12-15 01:55:00 +03:00
Dmitry Stogov fa06cbf50c typo 2017-12-14 23:56:55 +03:00
Dmitry Stogov a7b6812ae6 Fixed stream handler override 2017-12-14 23:55:57 +03:00
Dmitry Stogov 0d484172fe Turn "pdo_stmt_methods" into constants. 2017-12-14 22:59:58 +03:00
Dmitry Stogov 0f06df310c Turn "php_stream_wrapper"s into constants
Keep non-constant "php_stream_wrapper"s in API functions and callbacks for compatibility.
2017-12-14 22:46:22 +03:00
Dmitry Stogov 83e495e0fd Move constants into read-only data segment 2017-12-14 22:14:36 +03:00
Anatol Belski 5d36763638 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-12-14 18:18:54 +01:00
Anatol Belski 90cccffe89 [ci skip] update NEWS 2017-12-14 18:18:26 +01:00
Anatol Belski 4c4ff47c16 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-12-14 18:17:54 +01:00
Anatol Belski fd81881e5e [ci skip] update NEWS 2017-12-14 18:17:19 +01:00
Dmitry Stogov 9e709e2fa0 Move constants into read-only data segment 2017-12-14 18:43:44 +03:00
Anatol Belski 71eaf0d97f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75679 Path 260 character problem
2017-12-14 16:18:33 +01:00
Anatol Belski ed210c186a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75679 Path 260 character problem
2017-12-14 16:17:37 +01:00
Anatol Belski 4c0af1fbd4 Fixed bug #75679 Path 260 character problem 2017-12-14 16:16:50 +01:00
Dmitry Stogov 1db8402208 Move zend_object_iterator_funcs structures into read-only data segment 2017-12-14 14:21:22 +03:00
Dmitry Stogov 175e461369 Use fastcall calling convention for objects and resources API 2017-12-14 13:50:39 +03:00
Dmitry Stogov 3aceab825a Manual loop optimizaton.
Cost of the loops body is still the same, but the loop headers are improved.
2017-12-14 03:39:22 +03:00
Dmitry Stogov 4d19bc2279 Disable some "bad" GCC optimizations 2017-12-14 03:25:20 +03:00
Dmitry Stogov dd1050fa6c Improved branch prediction and code locality 2017-12-14 02:22:07 +03:00
Nikita Popov 1537f67055 Merge branch 'PHP-7.2' 2017-12-13 21:29:13 +01:00
Danilo Correa 8c36588ee8 Set default value for some properties in generate-phpt 2017-12-13 21:28:29 +01:00
Nikita Popov 76a001e32a Merge branch 'PHP-7.2' 2017-12-13 21:25:38 +01:00
Nikita Popov 652d30acdc Merge branch 'PHP-7.1' into PHP-7.2 2017-12-13 21:25:21 +01:00
Levi Morrison 580bae4a2c Fix copy-and-paste bugs 2017-12-13 21:25:00 +01:00
Sara Golemon 4cbc1f7e0d Prep NEWS for PHP 7.2.2 2017-12-12 15:18:44 -05:00
Dmitry Stogov 76e4c8ba73 typo 2017-12-12 19:01:10 +03:00
Dmitry Stogov fe4c7898d8 Avoid reallocation and double copying of variable names. 2017-12-12 13:47:47 +03:00
Dmitry Stogov 2bbcc04c20 Added special cases for array_diff(), when first argument is an empty array or an array with single element. 2017-12-12 01:51:37 +03:00
Dmitry Stogov c5ba76d9de Use cheaper API 2017-12-12 00:30:51 +03:00
Dmitry Stogov 778dfbc138 Use cheaper functions 2017-12-11 23:00:07 +03:00
Nikita Popov fc80114a48 Add gmp_kronecker()
Exposes the mpz_kronecker(), mpz_si_kronecker() and
mpz_kronecher_si() for computing the Kronecker symbol.
2017-12-11 19:25:54 +01:00
Nikita Popov 10a336d3d0 Add gmp_perfect_power()
Exposes the mpz_perfect_power_p() function.

We already had the more specific gmp_perfect_square() function.
2017-12-11 19:25:54 +01:00
Nikita Popov a1d36a1157 Add gmp_lcm()
Exposes mpz_lcm() and mpz_lcm_ui() for calculating the least
common multiple.

We already expose the somewhat complementary gmp_gcd() function.
2017-12-11 19:25:54 +01:00
Nikita Popov 7fea79675c Add gmp_binomial()
Adds PHP bindings for mpz_bin_ui and mpz_bin_uiui, for calculating
binomial coefficients.
2017-12-11 19:25:54 +01:00
Dmitry Stogov dc47171523 Avoid temporary string creation and destruction. 2017-12-11 18:18:30 +03:00
Dmitry Stogov 9f1e970058 Reduce number of hash collisions during dulicate address detection. 2017-12-11 18:16:54 +03:00
Anatol Belski 16eb3873b0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync known vc++ versions in 7.1
2017-12-11 14:15:28 +01:00
Anatol Belski 10bb7065cb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync known vc++ versions in 7.1
2017-12-11 14:14:44 +01:00
Anatol Belski f749448fc6 Sync known vc++ versions in 7.1 2017-12-11 14:13:38 +01:00
Anatol Belski 820ab91d36 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add vc++ 19.12 to the known list
2017-12-11 12:58:49 +01:00
Anatol Belski 2d7bea0462 Add vc++ 19.12 to the known list 2017-12-11 12:57:58 +01:00
Anatol Belski 0673aa7f61 Apply calling convention explicitly to the function, not to the decl. 2017-12-11 12:33:27 +01:00
Dmitry Stogov f3aca3c852 Use "fastcal" calling convention for internal PHP functions on x86 2017-12-11 10:55:15 +03:00
Nikita Popov bf9e2692c0 Fix relative constant addressing in file cache
PASS_TWO_UNDO_CONSTANT was using the serialized op_array->literals
pointer, resulting in incorrect offsets.
2017-12-10 22:34:50 +01:00
Peter Kokot 2783b1c823 Remove outdated TODO files
Some extensions included TODO files that has been present for several
years in the repository tree without changes. This included:

- ext/phar
- ext/intl
- ext/zip
- ext/soap
- ext/pdo
- ext/spl
- ext/dom
- ext/gmp
- ext/xmlwriter
- ext/xmlreader

ext/phar feature request has been created instead, and for others it
would be better to use wiki and RFC workflow instead based on current
feature requests and further PHP development requirements.

[ci skip]
2017-12-09 19:18:58 +01:00
Peter Kokot b1ffdd6fbc Update coding standards
Mentioned PHP versions indicate that there is a progress to make code
fully follow the coding standards which is not exactly the real case.
This patch changes few oudated used PHP versions in intro paragraph
and mentions the PHP documentation repository in more abstract way.

[ci skip]
2017-12-09 19:10:51 +01:00