Commit graph

22 commits

Author SHA1 Message Date
Zeev Suraski
67e0138c0d Future-proof email addresses... 2018-11-01 18:30:28 +02:00
Nikita Popov
38bee72e40 Fix DCE of throwing NEWs 2018-02-17 14:51:11 +01:00
Xinchen Hui
a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Dmitry Stogov
e70618aff6 Changed the way VM accesses constant operands in 64-bit builds. 2017-10-04 16:53:01 +03:00
Dmitry Stogov
ccf74422a9 Structures comming from "unknown sources" should be marked as escaping. 2017-09-14 12:33:52 +03:00
Dmitry Stogov
ad68c6745f Avoid redundand iterations, checks and reloads 2017-09-14 11:25:03 +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
Dmitry Stogov
a68f50f201 typo 2017-09-14 09:58:22 +03:00
Dmitry Stogov
8e2842c306 Revert "Mark incorrectly used arrays and objects as escaping"
This reverts commit 9b2d3cce19.
2017-09-14 00:08:43 +03:00
Dmitry Stogov
93af905071 Improved reference dependencies analysis 2017-09-13 18:18:51 +03:00
Dmitry Stogov
9b2d3cce19 Mark incorrectly used arrays and objects as escaping 2017-09-13 16:42:48 +03: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
2c61e5dc38 Objects with constructors escape 2017-09-01 10:31:43 +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
fac553e6a6 Fixed escaping instructions 2017-08-29 15:46:57 +03:00
Dmitry Stogov
5155bf1f90 Check for user defined classes 2017-08-29 12:09:49 +03:00
Dmitry Stogov
ebb339625d Aliased varaibles may escape 2017-08-28 16:56:47 +03:00
Dmitry Stogov
00e4974e2d Include variables with false dependencies into equi escape sets. 2017-08-28 14:19:36 +03:00
Dmitry Stogov
3cb6407e86 Initial implementation of Escape Analysis (disabled yet). 2017-08-22 16:55:03 +03:00