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