1
0
mirror of https://github.com/php/php-src.git synced 2026-04-20 06:21:12 +02:00
Commit Graph

977 Commits

Author SHA1 Message Date
Dmitry Stogov
858d545ce6 micro optimization 2018-05-08 00:22:04 +03:00
Dmitry Stogov
1a63fa6ec9 Implemented Request #76178 (Class constants are slow: they should be inlined at runtime)
Run-time cache is used to eliminate recalculation of constant expression in RECV_INIT opcode (only non reference countable values are cached).
2018-05-03 14:40:18 +03:00
Dmitry Stogov
c88be6aee1 Bit check micro-optimization 2018-04-28 14:13:12 +03:00
Dmitry Stogov
83f98f7340 Don't store values of PHP_SAPI and PHP_BINARY in file cache, because it may be used by different SAPI. 2018-04-28 01:20:49 +03:00
Nikita Popov
aeb734910a Merge branch 'PHP-7.2' 2018-04-27 22:24:36 +02:00
Nikita Popov
4c083e7a66 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-27 22:23:55 +02:00
Nikita Popov
6738d19fb8 Fix bug #76281
Make sure we keep the smart-branch inhibiting NOP even if there
are multiple NOPs in sequence.
2018-04-27 22:21:59 +02:00
Nikita Popov
1c887eaf0d Merge branch 'PHP-7.2' 2018-04-27 17:02:40 +02:00
Nikita Popov
2c602be7c8 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-27 17:02:01 +02:00
Nikita Popov
279ba58edb Fixed bug #76275
* Adjust IS_SERIALIZED() check to account for potential empty
  allocations at the end of the memory region.
* Deallocate empty allocation if all try/catch elements have been
  removed in the block pass (similar to what we do if all live
  ranges have been eliminated).
2018-04-27 17:01:35 +02:00
Nikita Popov
9a3bb1201f Merge branch 'PHP-7.2' 2018-03-24 13:16:31 +01:00
Nikita Popov
3306577797 Followup fix for bug #75729
The case of overloaded substr() with 3 arguments was not handled.
2018-03-24 13:15:59 +01:00
Xinchen Hui
82e325ea91 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76094 (Access violation when using opcache)
2018-03-15 11:17:14 +08:00
Xinchen Hui
4758164ac5 Fixed bug #76094 (Access violation when using opcache) 2018-03-15 11:17:00 +08:00
Dmitry Stogov
52fddfcca2 Avoid useless iterations 2018-03-13 16:07:18 +03:00
Dmitry Stogov
9e1e284d48 Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074)."
2018-03-13 11:04:03 +03:00
Dmitry Stogov
5574562f8f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074)."
2018-03-13 11:03:57 +03:00
Dmitry Stogov
0643c7ab4d Revert "More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074)."
This reverts commit 44ba557de5.
2018-03-13 11:03:45 +03:00
Dmitry Stogov
1c3796b751 Merge branch 'PHP-7.2'
* PHP-7.2:
  More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074).
2018-03-13 10:47:11 +03:00
Dmitry Stogov
575f5002c0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074).
2018-03-13 10:45:53 +03:00
Dmitry Stogov
44ba557de5 More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074). 2018-03-13 10:44:53 +03:00
Gabriel Caruso
d0ee2a8254 Add is_countable function
RFC: https://wiki.php.net/rfc/is-countable
2018-03-11 16:41:16 +01:00
Bob Weinand
827dff310b Merge branch 'PHP-7.2' 2018-03-10 15:29:21 +01:00
Bob Weinand
cfd0979be5 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-10 15:21:16 +01:00
Bob Weinand
9c6df8a238 Fix bug #76074 (opcache corrupts variable in for-loop) 2018-03-10 15:20:45 +01:00
Nikita Popov
df1439241a Simplify code
If operator overloading is ignored tmp will be 0 and we can still
use |=. No need to separate this into two cases.
2018-02-19 21:38:10 +01:00
Dmitry Stogov
a02a126d54 Allow optional ignorance of operator overlaoding. Optimizer takes into account possibility of operator overloading at default optimization level, but ignores this possibility at "unsafe" level (opcache.optimization_level=-1). 2018-02-19 12:21:43 +03:00
Nikita Popov
48c0662876 Merge branch 'PHP-7.2' 2018-02-18 17:43:08 +01:00
Nikita Popov
500632ac13 Fix pfsockopen() func info 2018-02-18 17:42:12 +01:00
Nikita Popov
c0abab5fca Fix ZEND_SL range inference
This is a bit tricker than right shifts because shifting in the
sign bit flips the sign. The computed bounds are not tight.
2018-02-18 17:42:12 +01:00
Nikita Popov
202989edf8 Fix ZEND_SR range inference
Handle out-of-range RHS correctly.
2018-02-18 17:42:12 +01:00
Nikita Popov
40ff001381 Fix constant() func info
Since PHP 5.6 this can also be an array.
2018-02-18 17:42:11 +01:00
Nikita Popov
c404b27135 Fix pg_pconnect() func info 2018-02-18 16:22:17 +01:00
Nikita Popov
1b54a62fcf Fix gettext func infos 2018-02-18 16:22:16 +01:00
Nikita Popov
a5fa7555dd More mysqli func info fixes
Mainly changing resource returns to objects
2018-02-18 15:34:16 +01:00
Nikita Popov
85597e2932 Merge branch 'PHP-7.2' 2018-02-18 15:34:04 +01:00
Nikita Popov
ae837db8cf Handle overloaded GMP operators in type inference 2018-02-18 15:33:30 +01:00
Nikita Popov
39974dd65d Disable negative range inference
The negative range inference implementation does not work correctly,
and it's not clear right now how it can be fixed. As such, disable
it entirely for now.
2018-02-18 15:33:28 +01:00
Nikita Popov
b889ff309b Fix lcfirst() + ucfirst() func info
These may return the original string
2018-02-17 23:22:44 +01:00
Nikita Popov
ea1a51f71b Fix bcpowmod() func_info
Returns false on error
2018-02-17 23:22:44 +01:00
Nikita Popov
9c4783cbd3 Fix error_get_last() func info 2018-02-17 23:22:44 +01:00
Nikita Popov
d59c45d112 Fix mysqli_connect() func info
This function returns an object, not a resource...
2018-02-17 23:22:44 +01:00
Nikita Popov
50def51d19 Fix bcscale() function info
Master only: This function now returns the old scale.
2018-02-17 23:22:43 +01:00
Nikita Popov
2cd40b3aed Merge branch 'PHP-7.2' 2018-02-17 23:21:31 +01:00
Nikita Popov
846e8a3ec9 Fix COUNT range inference
count() on objects may return a negative number :(
2018-02-17 23:18:30 +01:00
Nikita Popov
fa7c23ba27 Fix hash_init() and hash_copy() func info
These functions were switched to use objects instead of resources.
2018-02-17 23:18:29 +01:00
Nikita Popov
acb9426a6b Fix curl_multi_close() func info
Returns false on failure
2018-02-17 23:18:29 +01:00
Nikita Popov
8bdf9905da Fix get_object_vars() func info
Numeric keys will be converted to integer nowadays.
2018-02-17 23:18:29 +01:00
Nikita Popov
1a50a50bcf Add RC flags in init_func_return_info 2018-02-17 23:18:29 +01:00
Nikita Popov
fd5644cd0b Fix array_values() and array_keys() func info
Can return RCN for empty/packed arrays
2018-02-17 23:18:28 +01:00