Nikita Popov
36235cf5d7
Read from original address
...
References are derefed into FCARG1, which is later clobbered by the
undef handling code. Make sure we load from the original address
instead.
2019-07-10 14:13:29 +02:00
Nikita Popov
26431d1995
Implement array access notice in JIT
2019-07-10 12:20:16 +02:00
Dmitry Stogov
db02d7ae75
Reduce cost for GC references to strings and resources in JIT
2019-07-10 12:41:19 +03:00
Nikita Popov
3ee570ae0d
Remove redundant variable declaration
2019-07-08 12:50:00 +02:00
David Carlier
5e13688142
JIT: Reading php binary symbols list on FreeBSD
...
Closes GH-4363.
2019-07-08 12:39:18 +02:00
Nikita Popov
da8b583ac1
Always generate interrupt check in jit
...
Even if zend_interrupt_function is NULL, we still need to perform
the interrupt check for timeouts (which do not use
zend_interrupt_function).
2019-07-05 20:52:30 +02:00
Nikita Popov
a92e6d7136
Merge branch 'PHP-7.4'
2019-07-05 12:05:10 +02:00
Nikita Popov
73fd2da754
Make sure all cases of fetch_dim_w adjustment are handled
...
Use EMPTY_SWITCH_DEFAULT_CASE() to trigger an assertion in case
we miss something.
Add missing FE_RESET_RW case.
2019-07-05 12:02:26 +02:00
Nikita Popov
8ae9e1b9a2
Merge branch 'PHP-7.4'
2019-07-05 11:43:26 +02:00
Nikita Popov
1086198711
Merge branch 'PHP-7.3' into PHP-7.4
2019-07-05 11:41:57 +02:00
Nikita Popov
920283ff2b
Merge branch 'PHP-7.2' into PHP-7.3
2019-07-05 11:40:45 +02:00
Nikita Popov
c353f17d42
Fix inference for compound object op on dim
2019-07-05 11:39:42 +02:00
Dmitry Stogov
1f800e2f82
Removed die('skip wurstuoppe');
2019-07-05 12:20:12 +03:00
Dmitry Stogov
1b5b8175af
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
2019-07-05 12:16:30 +03:00
Dmitry Stogov
48ca5a1e17
Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
2019-07-05 12:03:25 +03:00
Nikita Popov
215e9d069c
Merge branch 'PHP-7.4'
2019-07-05 11:00:54 +02:00
Nikita Popov
24ecfcc833
Add test
...
Forgot to commit this.
2019-07-05 11:00:27 +02:00
Nikita Popov
f8d8b96e92
Merge branch 'PHP-7.4'
2019-07-05 10:47:01 +02:00
Nikita Popov
ea43624972
Fix wrong size calculation related to function name
...
It would be nice if we could drop this manual function name reuse
code altogether and rely on interning for it.
2019-07-05 10:46:41 +02:00
Nikita Popov
d3c4841b18
Preloading: Don't move conditional functions to back to scripts
...
Conditional function declaration may be referenced by functions or
classes that have been preloaded, so we should not move them back
to scripts.
What we probably should be doing though is to discard conditional
functions that are not used in the optimizer. This is probably
reasonably common for polyfills, where we will be able to const-eval
the conditions and drop the BBs declaring the functions, but won't
delete the function declarations themselves.
2019-07-05 10:46:41 +02:00
Nikita Popov
9fbf9e3e13
Merge branch 'PHP-7.4'
2019-07-04 17:13:04 +02:00
Nikita Popov
a0e7624059
Compact literals: Don't insert unmergeable keys
...
LITERAL_VALUE with related literals cannot be merged, avoid inserting
them in the literals hash in the first place. Otherwise we may end up
inserting the same key multiple times. We may also miss merging
opportunities due to the duplicate keys.
2019-07-04 17:12:55 +02:00
Nikita Popov
8c647946ff
Merge branch 'PHP-7.4'
2019-07-04 12:20:40 +02:00
Nikita Popov
b250f89b92
Preloading: Relax known type restrictions
...
Check whether there is a parent/interface/trait method with the same
name and only then require the type to be known. This reduces the
number of cases where this triggers in practice a lot.
2019-07-04 12:20:32 +02:00
Nikita Popov
4a2646cf45
Preloading: Also handle trait methods outside main script
2019-07-04 12:20:31 +02:00
Nikita Popov
6473ec30a1
Merge branch 'PHP-7.4'
2019-07-04 11:07:14 +02:00
Nikita Popov
df243f19be
Preloading: Prevent autoloading while resolving constants
2019-07-04 11:05:01 +02:00
Nikita Popov
f124bf22e0
Merge branch 'PHP-7.4'
2019-07-03 14:05:31 +02:00
Nikita Popov
f857648270
Improve unlinked class diagnostics during preloading
2019-07-03 14:05:10 +02:00
Nikita Popov
fa1a03f7a2
Merge branch 'PHP-7.4'
2019-07-03 10:22:41 +02:00
Nikita Popov
c0924cf67d
Merge branch 'PHP-7.3' into PHP-7.4
2019-07-03 10:20:32 +02:00
Nikita Popov
4892bbc167
Fixed bug #78230
2019-07-03 10:20:07 +02:00
Nikita Popov
ad81aae8bf
Merge branch 'PHP-7.4'
2019-07-02 12:28:51 +02:00
Nikita Popov
4a08885ed9
Merge branch 'PHP-7.3' into PHP-7.4
2019-07-02 12:28:46 +02:00
Nikita Popov
7174c44557
Merge branch 'PHP-7.2' into PHP-7.3
2019-07-02 12:28:37 +02:00
Alex Scott
a4acff3e21
Fix bug #78138 : opcache.validate_permission incorrectly works with PHAR files
...
opcache incorrectly handles PHAR files when opcache.validate_permission
option enabled, because it calls
access("phar://path-to/file.phar/path/inside.php", R_OK);
rather than
access("path-to/file.phar", R_OK)
2019-07-02 12:25:50 +02:00
Nikita Popov
2f7c3971cc
Merge branch 'PHP-7.4'
2019-07-02 11:59:21 +02:00
David Carlier
7f1fef9fe0
Fix opcache huge page mapping on FreeBSD
...
Too much room were given process mappings and were not unmapped.
Closes GH-4345.
2019-07-02 11:59:08 +02:00
Christoph M. Becker
fc94e0fc6e
Fix SKIPIF conditions
...
The SKIPIF sections are executed in the directory where run-tests.php
is located; therefore a relative path like `../skipif.inc` won't work
as desired.
2019-07-01 19:47:23 +02:00
Christoph M. Becker
8a0717255c
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Add missing SKIPIFs
2019-07-01 18:14:55 +02:00
Christoph M. Becker
52a0630cd4
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Add missing SKIPIFs
2019-07-01 18:13:52 +02:00
Christoph M. Becker
3e25ddb07b
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Add missing SKIPIFs
2019-07-01 18:12:28 +02:00
Christoph M. Becker
57688ad7bf
Add missing SKIPIFs
...
All these tests are meant to run with OPcache available, and some will
even fail inevitably without it, so we add OPcache as SKIPIF
requirement.
2019-07-01 18:11:13 +02:00
Christoph M. Becker
017e293992
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Add missing SKIPIFs
2019-07-01 17:25:31 +02:00
Christoph M. Becker
42bedcfb50
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Add missing SKIPIFs
2019-07-01 17:24:33 +02:00
Christoph M. Becker
99e6c701e6
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Add missing SKIPIFs
2019-07-01 17:22:55 +02:00
Christoph M. Becker
75bc3446f8
Add missing SKIPIFs
...
All these tests are meant to run with OPcache available, and some will
even fail inevitably without it, so we add OPcache as SKIPIF
requirement.
2019-07-01 17:21:16 +02:00
Nikita Popov
4e1a225e3e
Merge branch 'PHP-7.4'
2019-07-01 16:55:39 +02:00
David Carlier
994a01ea43
opcache huge pages: Little fix for FreeBSD
...
Calculating the vm entries size beforehand, as we could
possibly miss few entries.
Closes GH-4344.
2019-07-01 16:55:23 +02:00
Christoph M. Becker
b8d6d4a2bd
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix brittle test
2019-07-01 16:45:49 +02:00