Dmitry Stogov
3928b6b435
Fixed unintended disabling of Optimizer for preloaded scripts introduced by 4a2646cf45
2020-09-29 12:11:01 +03:00
Nikita Popov
9c136f10cd
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #80083
2020-09-17 10:13:53 +02:00
Nikita Popov
a4f806aa79
Fixed bug #80083
...
Add db2_execute() to the list of functions accessing the local
scope. Ideally the API wouldn't do that, but it seems most
pragmatic to address this on the opcache side at this point.
2020-09-17 10:12:10 +02:00
Christoph M. Becker
15236fb83e
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Avoid segfault if module/extension version is not defined
2020-09-14 22:34:58 +02:00
Christoph M. Becker
4e198c0064
Avoid segfault if module/extension version is not defined
2020-09-14 22:34:10 +02:00
Sammy Kaye Powers
1b5268265c
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79825 : opcache.file_cache causes SIGSEGV with custom opcode handlers
2020-09-09 12:36:51 -07:00
Sammy Kaye Powers
2d4aa1ef3d
Fix #79825 : opcache.file_cache causes SIGSEGV with custom opcode handlers
...
Modules may have changed after restart which can cause dangling pointers from custom opcode handlers in the second-level cache files. This fix includes the installed module names and versions in the accel_system_id hash as entropy. Closes GH-5836
2020-09-09 12:08:19 -07:00
Nikita Popov
8516434a56
Fixed bug #80046
...
We already protect against optimizing away loop frees in DFA pass,
but not in block pass.
2020-09-03 11:19:04 +02:00
Nikita Popov
37612936a1
Fix pi node removal when removing predecessor
...
We can't just remove the uses, we need to replace uses.
The test case only fails on master with SSA integrity violations,
but I believe the root issue also existed previously.
2020-09-01 12:25:00 +02:00
Christoph M. Becker
10df94dd0e
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #80002 : calc free space for new interned string is wrong
2020-08-24 11:04:03 +02:00
Christoph M. Becker
fcd26ffcc3
Fix #80002 : calc free space for new interned string is wrong
...
We need to calculate the free size in bytes.
Patch contributed by t-matsuno.
Closes GH-6024
2020-08-24 11:03:19 +02:00
Nikita Popov
4609ded082
Fixed bug #79917
...
op_arrays can be shared on two levels: Either the op_array is
completely shared, or it is distinct but shares all members
(apart from static_variables).
The the op_array is distinct, we need to make sure to properly
initialize the MAP_PTR structures.
2020-08-11 14:58:54 +02:00
Nikita Popov
9d9fa32fe5
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix iov_base pointer type for illumos
2020-08-05 15:18:03 +02:00
David Carlier
12db8b90a7
Fix iov_base pointer type for illumos
...
These systems has two versions of the iovec interface dependent on
compiler flags passed, the legacy version causing little build issue.
Closes GH-5939.
2020-08-05 15:17:51 +02:00
Christoph M. Becker
d95c53834c
Amendment to OPcache base file removal
...
We fix the erroneous segment size. We also keep the segment pointer at
the allocated address, but increase the position instead.
2020-07-29 18:44:08 +02:00
Christoph M. Becker
2bcc419800
Fix #73060 : php failed with error after temp folder cleaned up
...
Instead of storing the mapping base address and the address of
`execute_ex()` in a separate file in the temporary folder, we store
them right at the beginning of the memory mapping.
2020-07-29 18:21:05 +02:00
Nikita Popov
f8ff8bb767
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Consider op1 literal of FETCH_OBJ_R
2020-07-29 17:05:35 +02:00
Nikita Popov
57ad5b3432
Consider op1 literal of FETCH_OBJ_R
...
FETCH_OBJ_R may have an op1 CONST operand, even though it will
always error. We should take this into account when compacting
literals.
2020-07-29 17:04:23 +02:00
Christoph M. Becker
826b90a5f0
Revert "Merge branch 'PHP-7.3' into PHP-7.4"
...
This reverts commit e1f6ab3388 , reversing
changes made to e0ebe56ebf .
There are obviously issues with running tests in parallel, maybe
related to the cache ID. This needs to be investigated. Revert for
now.
2020-07-29 13:32:59 +02:00
Christoph M. Becker
e1f6ab3388
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #73060 : php failed with error after temp folder cleaned up
2020-07-29 10:11:29 +02:00
Christoph M. Becker
9a744c66e7
Fix #73060 : php failed with error after temp folder cleaned up
...
Instead of storing the mapping base address and the address of
`execute_ex()` in a separate file in the temporary folder, we store
them right at the beginning of the memory mapping.
2020-07-29 10:07:23 +02:00
Nikita Popov
fabcd9f14e
Don't inline static call to instance method
...
Fixes the failure in bug79740.phpt with opcache.
2020-06-29 09:52:37 +02:00
Nikita Popov
db0cdcbb0a
Fix static property indirections in file cache
...
If the class is already linked, we need to serialize and
unserialize INDIRECTed static properties. Normally these would
be set up when copying from cache.
2020-05-20 11:12:18 +02:00
Christoph M. Becker
129fd647a1
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79588 : Boolean opcache settings ignore on/off values
2020-05-12 19:48:12 +02:00
Christoph M. Becker
5bdb4ab786
Fix #79588 : Boolean opcache settings ignore on/off values
...
We should display boolean INI settings as boolean.
2020-05-12 19:44:39 +02:00
Nikita Popov
21a9ad910b
Fixed bug #79548
...
When duplicating user functions with static variables, make sure
that we init a new map ptr slot for the static variables.
2020-05-04 16:27:45 +02:00
Nikita Popov
733d84dbdf
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #79535
2020-05-04 14:52:18 +02:00
Nikita Popov
7c1316ec6a
Fixed bug #79535
...
We did not allocate a cache slot for FETCH_CLASS. This is already
fixed on newer PHP versions.
2020-05-04 14:51:18 +02:00
Nikita Popov
59c8d6a863
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix literal compaction collision between string and double
2020-04-01 14:22:27 +02:00
Nikita Popov
14b770d407
Fix literal compaction collision between string and double
...
For the sake of simplicity I'm using a separate hashtable, rather
than trying to do hash perturabation on the double strings.
2020-04-01 14:20:59 +02:00
Dmitry Stogov
91ee85c20c
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).
2020-03-25 17:31:33 +03:00
Dmitry Stogov
65120cfc09
Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).
2020-03-25 17:31:06 +03:00
Nikita Popov
534e15b477
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Add test file
2020-03-23 17:14:16 +01:00
Nikita Popov
2e8db5d6be
Add test file
...
Forgot the git add again...
2020-03-23 17:13:57 +01:00
Nikita Popov
dd9b5c8680
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Handle NULL caller_call_opline
2020-03-23 17:12:12 +01:00
Nikita Popov
34f1266a9c
Handle NULL caller_call_opline
...
This can happen if there is an EXIT in the call arguments, in which
case the DO_CALL opcode may be eliminated as unreachable.
2020-03-23 17:12:01 +01:00
Dmitry Stogov
b6492b4453
identation fix
2020-03-12 22:26:16 +03:00
Dmitry Stogov
3c6e9bed1a
Call global code of preloaded script in global context
2020-03-12 22:19:47 +03:00
Dmitry Stogov
2dddab01ae
Avoid "Anonymous class wasn't preloaded" error by lazely loading of not preloaded part of a preloaded script
2020-03-12 16:31:24 +03:00
Christoph M. Becker
fea2994ff8
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Enclose INI values containing {TMP} in quotes
2020-03-09 22:51:11 +01:00
Christoph M. Becker
d5e206620b
Enclose INI values containing {TMP} in quotes
...
At least on Windows, the temporary directory may contain tilde signs,
which would result in an INI parse error.
2020-03-09 22:49:08 +01:00
Nikita Popov
a7de98fb12
Try to fix msvc build
2020-02-28 14:48:02 +01:00
Nikita Popov
30ee3f48d4
Fixed bug #79252
2020-02-28 12:47:56 +01:00
Dmitry Stogov
cb88184420
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed incorrect overflow detection
2020-02-27 23:38:09 +03:00
Dmitry Stogov
5b51b633e2
Fixed incorrect overflow detection
2020-02-27 23:37:41 +03:00
Nikita Popov
f70b552326
Fixed bug #79193
2020-01-30 14:55:58 +01:00
Nikita Popov
3291891408
Fixed bug #79128
...
We need to extend the hash table before performing raw append
operations.
This doesn't matter if preloading happens in the same process,
as the tables will be large enough to hold all entries as a
side-effect of the preloading process. However, if preloading
happens in a different process, we need to reserve space here.
2020-01-24 16:18:48 +01:00
Xinchen Hui
2958cdc0b5
Let's make this safer from maliciously crafted filename
2020-01-20 12:33:37 +08:00
Xinchen Hui
dda2addab2
minor cleanup
2020-01-20 12:28:57 +08:00
Xinchen Hui
9c2fd55d01
Fixed bug #79114 (Eval class during preload causes class to be only half available)
2020-01-20 12:24:49 +08:00