Nikita Popov
029b735a6e
Merge branch 'PHP-7.3' into PHP-7.4
2019-05-29 16:48:28 +02:00
Nikita Popov
61a38bb274
SCCP: Fix leak when determining TYPE_CHECK from type info
...
As TYPE_CHECK is the only opcode where we do something like this,
I'm adding this hack.
2019-05-29 16:47:19 +02:00
Nikita Popov
071b389bc6
Merge branch 'PHP-7.3' into PHP-7.4
2019-05-28 16:41:17 +02:00
Nikita Popov
817b50826e
Merge branch 'PHP-7.2' into PHP-7.3
2019-05-28 16:41:08 +02:00
Nikita Popov
59dfaa3f99
Fix type inference of SEND_UNPACK with empty array
...
An empty array will not be turned into an array of references.
This violated the invariant than an array has values iff it has
keys.
2019-05-28 16:40:56 +02:00
Nikita Popov
f19dd674e0
SCCP: Fix handling of ASSIGN_OBJ_REF
...
The generic BOT handling is not away of OP_DATA, so need to handle
this opcode before we get to that.
2019-05-28 16:15:37 +02:00
Nikita Popov
6893f1f98e
SCCP: Don't perform partial object propagation for typed props
2019-05-28 15:46:03 +02:00
Nikita Popov
49a3b03e9f
Implement basic variance support
...
This is a minimal variance implementation: It does not support any
cyclic type dependencies. Additionally the preloading requirements
are much more restrictive than necessary. Hopefully we can relax
these in the future.
2019-05-24 09:30:37 +02:00
Nikita Popov
ff4b0ce0e8
Fix bug #78034
...
Don't def non-cv variables in assign_obj_ref data operand.
2019-05-22 09:35:38 +02:00
Nikita Popov
f260c0918f
Merge branch 'PHP-7.3' into PHP-7.4
2019-05-21 17:35:28 +02:00
Nikita Popov
97ba6b0d8b
Don't evaluate functions with partial array arguments
2019-05-21 17:35:03 +02:00
Nikita Popov
436a47428b
Merge branch 'PHP-7.3' into PHP-7.4
2019-05-21 17:17:45 +02:00
Nikita Popov
30f1b17262
Fix null check in sccp add_array_elem chain handling
...
We need to check result_use rather than result_def for a null zval.
Previously we were later assuming that the null zval is really a
partial array, which does not go well.
2019-05-21 17:15:07 +02:00
Nikita Popov
a87448bb55
Merge branch 'PHP-7.3' into PHP-7.4
2019-05-21 17:03:52 +02:00
Nikita Popov
fc4836b193
Fix partial array handling in FE_RESET edge feasibility
2019-05-21 16:59:27 +02:00
Nikita Popov
cd188d0398
Handle partial arrays in zend_is_true() checks
2019-05-21 16:53:34 +02:00
Christoph M. Becker
ee9908683b
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Prevent test case failure
2019-05-21 11:19:05 +02:00
Christoph M. Becker
d23bc33dc1
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Prevent test case failure
2019-05-21 11:18:32 +02:00
Christoph M. Becker
e6a191de1b
Prevent test case failure
...
If opcache.log_verbosity_level is greater than 1, opcache will raise
warnings, which will be written to stderr in the default case. These
warnings are actually to be expected, but would break the test, so we
make sure that the log_verbosity_level is 1 when running this test.
2019-05-21 11:17:51 +02:00
Christoph M. Becker
c982a4c3f9
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
use {TMP} placeholder in phpt tests
2019-05-21 09:03:20 +02:00
Christoph M. Becker
11740abd6b
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
use {TMP} placeholder in phpt tests
2019-05-21 09:03:01 +02:00
Holly Li (WIPRO LIMITED)
202e6936d6
use {TMP} placeholder in phpt tests
2019-05-21 09:02:37 +02:00
Dmitry Stogov
f53b9939fe
Fixed bug #78014 (Preloaded classes may depend on non-preloaded classes due to unresolved consts)
2019-05-20 18:15:38 +03:00
Christoph M. Becker
5f1d76a2c4
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix test wrt. opcache.error_log
2019-05-20 11:11:06 +02:00
Christoph M. Becker
db8ef71353
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix test wrt. opcache.error_log
2019-05-20 11:10:20 +02:00
Christoph M. Becker
64ec9f4dbe
Fix test wrt. opcache.error_log
...
Since the test expects log messages to be written to stderr, we have to
make sure that opcache.error_log is set correctly when running the
test.
2019-05-20 11:09:44 +02:00
Nikita Popov
806db1a793
Merge branch 'PHP-7.3' into PHP-7.4
2019-05-15 14:36:45 +02:00
Nikita Popov
9d76fbd0c4
Fixed bug #78015
...
Don't try to evaluate various operations with partial array operands.
We could evaluate some of these, but let's be conservative for now...
2019-05-15 14:35:31 +02:00
Christoph M. Becker
9840a11117
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix log_verbosity_bug.phpt
2019-05-09 12:16:16 +02:00
Christoph M. Becker
e46b3c3e70
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix log_verbosity_bug.phpt
2019-05-09 12:15:32 +02:00
Christoph M. Becker
e359812ce3
Fix log_verbosity_bug.phpt
...
This test may fail on Windows due to the file cache fallback. We
ensure that this will not happen.
2019-05-09 12:15:00 +02:00
Dmitry Stogov
4d0d7ce349
Don't eliminate BIND_STATIC if it may cause undefined constant warning
2019-04-23 22:39:14 +03:00
Nikita Popov
487d4d07b4
Remove some uses of deprecated internal_encoding settings in tests
2019-04-17 14:24:11 +02:00
Dmitry Stogov
88a2268d6b
Replace "ZEND_CALL_CTOR" hack by additional live-range
2019-04-12 00:49:45 +03:00
Dmitry Stogov
c941f1d8c7
Fixed SCCP support for ZEND_ASSIGN_OBJ_REF
2019-04-03 11:22:59 +03:00
Nikita Popov
251f293cb7
Make line numbers for inheritance errors more precise
...
Use the line of the conflicting child method, rather than either the
first or last line of the class.
2019-03-27 12:42:35 +01:00
Nikita Popov
0122f395c7
Add zend_error_at API that accepts a filename and lineno
...
Use this for the opcache preloading warnings, as an example usage.
2019-03-26 15:47:00 +01:00
Christoph M. Becker
9ca9394f5b
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Simplfy test case
2019-03-18 14:59:08 +01:00
Xinchen Hui
ab8782d1e6
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Simplfy test case
2019-03-18 19:30:11 +08:00
Xinchen Hui
e072537e7f
Simplfy test case
...
(I was working on the same bug while nikic committed the similar fix
2019-03-18 19:28:23 +08:00
Nikita Popov
f7abb1e253
Merge branch 'PHP-7.3' into PHP-7.4
2019-03-18 10:51:20 +01:00
Nikita Popov
da7add3525
Merge branch 'PHP-7.2' into PHP-7.3
2019-03-18 10:51:00 +01:00
Nikita Popov
54bf8c820f
Fixed bug #77743
2019-03-18 10:49:53 +01:00
Fabien Villepinte
26dfce7f36
Replace dirname(__FILE__) by __DIR__ in tests
2019-03-15 22:55:30 +01:00
Nikita Popov
ade5474792
Merge branch 'PHP-7.3' into PHP-7.4
2019-03-04 13:16:25 +01:00
Nikita Popov
4c68aaabf1
Merge branch 'PHP-7.2' into PHP-7.3
2019-03-04 13:16:01 +01:00
Nikita Popov
3f00c9367d
Fixed bug #77691
...
We cannot replace an op1_def opcode with an ASSIGN, if it also has
a used res_def. Usually this doesn't happen because the res_def use
can be eliminated first. The example is a case where operand replacement
on the res_def use fails.
2019-03-04 13:11:12 +01:00
Nikita Popov
dda2074bf7
Merge branch 'PHP-7.3' into PHP-7.4
2019-02-22 13:42:13 +01:00
Nikita Popov
66fda0cdb1
Remove result def during jmp_set optimization
2019-02-22 13:41:47 +01:00
Nikita Popov
ea115a617f
Fix removal of unreachable code in SCCP
...
Due to a wrongly placed check, we were only performing the
unreachable code removal if there were loop vars...
2019-02-22 12:44:36 +01:00