Dmitry Stogov
84d7d4e1cc
Fixed bug #76466 (Loop variable confusion)
2018-06-18 11:21:23 +03:00
Peter Kokot
be49d61b19
Remove old SVN keywords substitutions
...
When the PHP source code was versioned in Subversion, there was
possible to substitute certain keywords such as $Id$ with revision
number, last change time and author name. Such approach is not used
in Git so this patch removes these outdated artifacts from source
code files.
2018-06-16 13:04:30 +02:00
Xinchen Hui
35872c0960
Remove assertion
2018-06-15 17:21:59 +08:00
Xinchen Hui
efcaa37190
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed bug #76477 (Opcache causes empty return value)
2018-06-15 16:31:58 +08:00
Xinchen Hui
f31ba7cb53
Fixed bug #76477 (Opcache causes empty return value)
2018-06-15 16:31:31 +08:00
Xinchen Hui
609385bbf8
Fixed bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion `!(zval_gc_flags((str)->gc)).
2018-06-13 15:06:51 +08:00
Xinchen Hui
1cc9933130
Fixed bug #76463 (var has array key type but not value type)
2018-06-12 20:55:06 +08:00
Nikita Popov
e4e334effb
Remove dead code for ADD_STRING/ADD_CHAR optimization
...
These opcodes don't exist anymore. The modern equivalent would be
the ROPE_* opcodes. However the code would have to be different
anyway.
2018-06-11 20:17:36 +02:00
Nikita Popov
60323906f9
Optimizer: Don't propagate constants into MAKE_REF
...
This occurs in Zend/tests/assign_ref_error_var_handling.phpt,
added in 95a0709935 .
2018-06-10 00:10:32 +02:00
Dmitry Stogov
9e0f131d2b
Fixed ISSET/ISEMPTY bit meaning to simplify run-time checks
2018-05-31 19:02:51 +03:00
Dmitry Stogov
5eb1f92f31
Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.
2018-05-28 16:27:12 +03:00
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