Gabriel Caruso
ded3d984c6
Use EXPECT instead of EXPECTF when possible
...
EXPECTF logic in run-tests.php is considerable, so let's avoid it.
2018-02-20 21:53:48 +01:00
Nikita Popov
705dc3f049
Fix DCE test
...
Without the type hint the previous optimization no longer applied,
as the result could be an (overloaded) object, which might have
caused dtor effect reordering.
2018-02-18 15:37:10 +01:00
Xinchen Hui
63a96ebf6a
Fixed bug while dealing with ADD_ARRAY_ELEMENT against an existing const array
2018-01-07 14:17:47 +08:00
Xinchen Hui
729a6688af
Optimized FETCH_CLASS before INSTANCEOF out if possible
2018-01-05 12:58:28 +08:00
Xinchen Hui
c0913af570
Fixed test
2018-01-05 12:54:20 +08:00
Xinchen Hui
1db6c19365
Fixed wrongly const replacing on partial array
2018-01-05 12:29:39 +08:00
Rasmus Lerdorf
9fe6b29356
Add line numbers to Opcache's zend_dump_op() debug output
2017-10-06 11:03:07 -03:00
Dmitry Stogov
80abd81344
Fixed escape analysis for ASSIGN_DIM/ASSIGN_OBJ opcodes and improved DCE
2017-09-14 11:03:47 +03:00
Christoph M. Becker
ee92aed06f
[ci skip] Merge branch 'pull-request/2752'
...
* pull-request/2752:
Fixed typo
2017-09-14 02:03:23 +02:00
Dmitry Stogov
0a86f159f4
Added test. Invalid usage doesn't affect escape_satte of arrays/objects and shouldn't prevent SCCP on "proper" paths.
2017-09-14 00:09:28 +03:00
Markus Staab
ea4e3efa14
Fixed typo
2017-09-13 18:35:37 +02:00
Dmitry Stogov
93af905071
Improved reference dependencies analysis
2017-09-13 18:18:51 +03:00
Dmitry Stogov
9f45aaaac2
Fixed test
2017-09-12 21:41:29 +03:00
Xinchen Hui
07ed545abf
Fixed memleak in SCCP
2017-09-12 21:35:30 +08:00
Dmitry Stogov
86dd321c0c
Fixed yet another object aliasing problem
2017-09-11 23:19:03 +03:00
Dmitry Stogov
63b93b4a74
Fixed copy semantics in escape analysis
2017-09-11 20:59:40 +03:00
Dmitry Stogov
d5c527c9db
Fixed SCCP failure, because of aliased objects.
...
For now, mark aliased objects as "escaping".
A more clever solution would requitre Heap Array SSA + Definitely Same and Definitely Different sets construction.
2017-09-11 16:23:17 +03:00
Dmitry Stogov
76b2968a73
Improved JMP optimization
2017-09-11 14:40:15 +03:00
Dmitry Stogov
431ea10fb2
Remove unused temporary variables
2017-09-05 14:46:03 +03:00
Dmitry Stogov
39459114ff
Replace used constant instructions by QM_ASSIGN
2017-09-05 11:43:33 +03:00
Xinchen Hui
4afe5a5cb2
Fixed SCCP rewinding on partial_array|object phi
2017-09-02 21:28:33 +08:00
Xinchen Hui
7c9556db99
Fixed SCCP on PHI(partial_object#1, partial_object#2)
2017-09-02 18:40:26 +08:00
Xinchen Hui
8a7ba133c3
Fixed SCCP on PHI(contant_array, partial_array)
2017-09-02 18:16:40 +08:00
Dmitry Stogov
59c5d81bab
Added skipif.inc
2017-09-01 13:32:26 +03:00
Dmitry Stogov
becb4d6d59
Remove dead allocations of non-escaping objects
2017-09-01 10:32:20 +03:00
Dmitry Stogov
6cc9e805cd
Remove dead construction of non-escaping arrays and objects
2017-08-31 17:17:04 +03:00
Dmitry Stogov
1eb6fd8bc4
Extend SCCP to support properties of non-escaping objects
2017-08-31 13:17:46 +03:00
Dmitry Stogov
d1d523ef50
Support for implicit array/object allocations
2017-08-30 17:41:45 +03:00
Dmitry Stogov
a0c76de006
Fixed tests
2017-08-30 15:54:55 +03:00
Dmitry Stogov
ce3dbb53a7
Extend SCCP pass with support for elements of non-escaping arrays
2017-08-30 15:31:23 +03:00
Dmitry Stogov
08447ebc0f
Fixed tests titels
2017-08-29 12:31:38 +03:00
Dmitry Stogov
f1fd08c8f1
Added few Optimizer tests
2017-08-29 12:11:34 +03:00