Aske Simon Christensen
1c2d378068
[vm/aot] Use TFA to eliminate unused selectors in dispatch table.
...
For each selector, count the number of calls to the selector that are
both reachable and polymorphic according to the TFA. Only include
selectors in the table with non-zero counts.
This reduces the dispatch table size by 30% in dart2js and by 49% in
Flutter Gallery (312k memory use reduction on ARM64).
Call counts are transferred in a dedicated metadata block with
per-selector information. This mechanism also prepares for transferring
other per-selector information in the future.
Change-Id: Iba15aa4d6c50e67e53c3fd8e542123d3fc98bd07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132603
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2020-02-13 15:32:48 +00:00
..
2020-02-13 15:32:48 +00:00
2020-02-12 00:53:05 +00:00
2019-08-08 00:47:55 +00:00
2020-02-05 18:14:39 +00:00
2019-01-11 20:47:10 +00:00
2019-01-25 16:45:13 +00:00
2019-10-21 16:26:39 +00:00
2019-12-03 22:00:48 +00:00
2019-12-03 22:00:48 +00:00
2019-12-03 22:00:48 +00:00
2019-07-11 13:36:02 +00:00
2019-11-01 17:06:02 +00:00
2018-10-31 19:51:52 +00:00
2019-10-07 18:13:06 +00:00
2020-02-12 00:53:05 +00:00
2019-12-16 18:32:23 +00:00
2019-11-14 12:49:06 +00:00
2019-10-16 08:25:53 +00:00
2019-10-16 08:25:53 +00:00
2019-11-18 19:54:53 +00:00
2020-01-02 23:13:06 +00:00
2020-01-31 12:56:31 +00:00
2019-09-18 14:56:27 +00:00
2019-09-18 14:56:27 +00:00
2020-01-29 21:10:40 +00:00
2019-04-24 23:12:45 +00:00
2019-06-05 01:05:51 +00:00
2020-02-06 01:45:29 +00:00
2019-06-20 18:27:21 +00:00
2020-02-10 15:08:04 +00:00
2020-02-04 23:31:17 +00:00
2020-01-31 12:56:31 +00:00
2020-02-10 15:08:04 +00:00
2020-02-10 15:08:04 +00:00
2019-11-21 12:28:45 +00:00
2019-11-21 12:28:45 +00:00
2019-11-18 11:50:13 +00:00
2019-12-18 10:34:41 +00:00
2019-11-18 11:50:13 +00:00
2019-01-25 16:45:13 +00:00
2019-08-05 10:46:29 +00:00
2019-11-21 12:28:45 +00:00
2019-07-10 22:20:10 +00:00
2019-06-12 21:56:53 +00:00
2018-11-21 17:45:11 +00:00
2019-06-12 21:56:53 +00:00
2018-11-21 17:45:11 +00:00
2019-09-18 12:24:31 +00:00
2018-11-14 02:48:03 +00:00
2018-11-21 17:45:11 +00:00
2019-06-12 21:56:53 +00:00
2019-10-27 18:18:29 +00:00
2019-10-27 18:18:29 +00:00
2019-11-06 17:46:32 +00:00
2019-04-05 21:12:44 +00:00
2019-12-03 22:00:48 +00:00
2020-02-05 16:36:09 +00:00
2020-02-10 17:05:14 +00:00
2020-02-05 16:36:09 +00:00
2020-02-10 17:05:14 +00:00
2020-02-05 16:36:09 +00:00
2020-02-10 17:05:14 +00:00
2019-06-21 21:38:09 +00:00
2019-12-20 03:26:29 +00:00
2020-02-05 16:36:09 +00:00
2020-02-10 17:05:14 +00:00
2020-02-10 17:05:14 +00:00
2019-08-01 14:14:39 +00:00
2019-09-05 21:41:42 +00:00
2020-02-05 14:22:59 +00:00
2019-10-23 14:44:33 +00:00
2019-09-18 19:47:29 +00:00
2019-09-18 19:47:29 +00:00
2019-10-27 18:18:29 +00:00
2019-09-18 19:47:29 +00:00
2019-09-18 19:47:29 +00:00
2019-10-27 18:18:29 +00:00
2019-09-18 19:47:29 +00:00
2019-09-18 19:47:29 +00:00
2019-09-05 21:41:42 +00:00
2020-02-13 08:27:07 +00:00
2020-02-13 14:16:49 +00:00
2020-02-11 22:19:45 +00:00
2020-01-27 18:27:39 +00:00
2019-05-06 21:01:39 +00:00
2019-10-21 16:26:39 +00:00
2020-02-11 22:19:45 +00:00
2020-02-03 11:04:15 +00:00
2019-11-20 19:57:11 +00:00
2020-02-11 22:19:45 +00:00
2020-02-11 15:45:33 +00:00
2020-01-31 12:56:31 +00:00
2019-12-03 22:00:48 +00:00
2018-11-30 00:01:19 +00:00
2019-06-12 21:56:53 +00:00
2019-06-12 21:56:53 +00:00
2019-09-18 12:24:31 +00:00
2019-06-05 17:39:04 +00:00
2019-06-12 21:56:53 +00:00
2020-02-04 08:43:21 +00:00
2020-01-16 12:47:03 +00:00
2020-01-31 12:56:31 +00:00
2019-10-27 18:18:29 +00:00
2019-10-27 18:18:29 +00:00
2019-10-27 18:18:29 +00:00
2020-02-03 11:04:15 +00:00
2020-02-03 11:04:15 +00:00
2019-07-31 11:52:44 +00:00
2019-07-31 11:52:44 +00:00
2019-12-20 13:38:30 +00:00
2019-12-20 10:14:10 +00:00
2020-01-10 11:51:57 +00:00
2020-01-10 11:51:57 +00:00
2019-09-05 21:41:42 +00:00
2020-01-06 22:32:19 +00:00
2019-09-30 20:19:03 +00:00
2019-10-27 18:18:29 +00:00
2019-10-27 18:18:29 +00:00
2020-01-17 18:12:24 +00:00
2020-01-17 18:12:24 +00:00
2019-08-30 17:49:28 +00:00
2020-01-29 11:46:50 +00:00
2020-02-07 15:15:32 +00:00
2020-02-04 23:31:17 +00:00
2019-11-18 10:11:38 +00:00
2019-09-05 21:41:42 +00:00
2019-11-11 23:56:00 +00:00
2020-02-10 15:08:04 +00:00
2019-09-13 18:25:16 +00:00
2019-01-11 20:47:10 +00:00
2019-03-08 00:06:37 +00:00
2019-01-25 16:45:13 +00:00
2018-10-31 19:51:52 +00:00
2019-03-08 00:06:37 +00:00
2019-01-25 16:45:13 +00:00
2019-01-25 16:45:13 +00:00
2019-10-21 18:30:54 +00:00
2019-10-21 18:30:54 +00:00
2019-03-22 23:46:51 +00:00
2019-09-05 21:41:42 +00:00
2020-02-13 14:16:49 +00:00
2020-02-10 15:08:04 +00:00
2018-11-21 17:45:11 +00:00
2019-06-12 21:56:53 +00:00
2019-07-10 22:20:10 +00:00
2018-11-21 17:45:11 +00:00
2019-10-23 14:44:33 +00:00
2019-07-10 22:20:10 +00:00
2019-07-10 22:20:10 +00:00
2019-01-25 16:45:13 +00:00
2019-05-08 17:33:15 +00:00
2018-11-14 02:48:03 +00:00
2018-11-21 17:45:11 +00:00
2019-12-13 15:03:18 +00:00
2019-01-25 16:45:13 +00:00
2019-10-27 18:18:29 +00:00
2020-01-31 12:56:31 +00:00
2019-11-15 22:55:26 +00:00
2019-01-18 18:23:26 +00:00
2019-01-18 18:23:26 +00:00
2020-02-05 18:42:53 +00:00
2020-02-04 23:31:17 +00:00
2019-12-03 22:00:48 +00:00
2019-11-14 02:08:35 +00:00
2020-02-12 00:53:05 +00:00
2020-02-12 00:53:05 +00:00
2019-10-17 03:45:41 +00:00
2019-10-17 03:45:41 +00:00
2019-05-03 18:07:27 +00:00
2019-05-03 18:07:27 +00:00
2018-11-22 15:14:46 +00:00
2019-12-03 22:00:48 +00:00
2020-02-06 12:27:37 +00:00
2019-12-27 19:46:15 +00:00
2019-12-27 19:46:15 +00:00
2020-02-07 20:57:46 +00:00
2019-12-04 19:19:29 +00:00
2020-02-13 15:32:48 +00:00
2020-02-13 15:32:48 +00:00
2020-02-05 23:17:59 +00:00
2020-02-10 20:15:54 +00:00
2018-11-01 16:37:22 +00:00
2019-01-25 16:45:13 +00:00
2018-12-05 18:57:02 +00:00
2019-01-11 20:47:10 +00:00
2019-04-02 22:45:24 +00:00
2019-04-02 22:45:24 +00:00
2019-04-02 22:45:24 +00:00
2019-10-27 18:18:29 +00:00
2019-03-06 19:16:27 +00:00
2019-04-02 22:45:24 +00:00
2019-09-04 18:49:40 +00:00
2019-09-04 18:49:40 +00:00
2019-05-06 21:01:39 +00:00
2019-11-05 20:25:43 +00:00
2019-11-05 20:25:43 +00:00
2019-05-06 21:01:39 +00:00
2020-02-04 23:31:17 +00:00
2019-06-03 14:36:04 +00:00
2019-10-28 19:58:53 +00:00
2020-02-04 23:31:17 +00:00
2019-10-28 19:58:53 +00:00
2018-11-20 17:25:42 +00:00
2019-12-27 21:27:35 +00:00
2019-11-18 19:54:53 +00:00
2019-11-18 19:54:53 +00:00
2019-11-18 19:54:53 +00:00
2019-01-25 16:45:13 +00:00
2019-05-06 21:01:39 +00:00
2019-05-06 21:01:39 +00:00
2019-04-24 19:53:35 +00:00
2019-06-05 21:54:11 +00:00
2019-04-24 19:53:35 +00:00
2019-04-24 19:53:35 +00:00
2020-02-10 22:39:05 +00:00
2019-04-24 19:53:35 +00:00
2019-07-10 22:20:10 +00:00
2019-07-10 22:20:10 +00:00
2019-08-19 19:31:42 +00:00
2020-01-31 12:56:31 +00:00
2020-01-10 23:48:07 +00:00
2019-07-10 22:20:10 +00:00
2019-11-14 02:08:35 +00:00
2020-02-05 18:42:53 +00:00
2020-02-10 15:08:04 +00:00
2020-02-04 23:31:17 +00:00
2020-02-11 23:37:05 +00:00
2020-01-31 12:56:31 +00:00
2019-07-10 22:20:10 +00:00
2020-02-13 14:16:49 +00:00
2020-02-13 14:16:49 +00:00
2019-10-27 18:18:29 +00:00
2020-01-29 21:10:40 +00:00
2019-10-27 18:18:29 +00:00
2019-10-27 18:18:29 +00:00
2019-10-17 21:45:38 +00:00
2019-12-06 19:46:31 +00:00
2019-10-02 05:33:29 +00:00
2019-12-06 19:46:31 +00:00
2019-05-23 17:42:37 +00:00
2020-02-10 20:15:54 +00:00
2018-11-09 18:44:49 +00:00
2019-10-25 19:21:56 +00:00
2019-10-25 19:21:56 +00:00
2019-10-27 18:18:29 +00:00
2019-10-17 21:45:38 +00:00
2019-12-04 19:19:29 +00:00
2019-09-06 23:37:33 +00:00
2019-10-17 21:45:38 +00:00
2019-05-06 21:01:39 +00:00
2020-02-04 23:31:17 +00:00
2019-05-06 21:01:39 +00:00
2019-09-05 21:41:42 +00:00
2019-12-11 18:15:27 +00:00
2019-12-11 18:15:27 +00:00
2019-11-01 19:08:42 +00:00
2020-01-30 09:18:25 +00:00
2019-12-07 00:28:15 +00:00
2020-02-07 23:47:50 +00:00
2019-11-14 12:49:06 +00:00
2020-01-17 18:12:24 +00:00
2019-08-19 19:31:42 +00:00
2020-02-10 15:08:04 +00:00
2020-02-10 15:08:04 +00:00
2020-02-10 15:08:04 +00:00
2019-12-13 00:41:46 +00:00
2019-04-29 09:11:48 +00:00
2020-01-09 01:37:27 +00:00
2020-01-09 01:37:27 +00:00
2019-04-29 09:11:48 +00:00
2019-04-29 09:11:48 +00:00
2019-03-14 14:26:47 +00:00
2019-09-05 21:41:42 +00:00
2019-04-29 09:11:48 +00:00
2019-04-30 16:17:18 +00:00
2019-04-30 16:17:18 +00:00
2019-10-17 16:51:32 +00:00
2019-04-29 09:11:48 +00:00
2019-08-20 00:49:52 +00:00
2020-02-03 11:04:15 +00:00
2020-02-03 11:04:15 +00:00
2018-12-10 23:15:27 +00:00
2018-12-10 23:15:27 +00:00
2020-01-08 19:35:00 +00:00
2019-04-11 09:57:25 +00:00
2018-11-14 02:48:03 +00:00
2020-02-10 15:08:04 +00:00
2020-02-10 15:08:04 +00:00
2019-07-10 22:20:10 +00:00
2019-07-10 22:20:10 +00:00
2019-07-10 22:20:10 +00:00
2020-01-06 22:32:19 +00:00
2019-07-10 22:20:10 +00:00
2020-02-12 22:00:57 +00:00
2019-10-30 21:55:25 +00:00
2019-09-05 21:41:42 +00:00
2018-10-31 19:51:52 +00:00
2019-12-06 19:54:42 +00:00
2019-12-06 19:54:42 +00:00
2019-09-25 21:41:55 +00:00
2019-07-23 15:24:28 +00:00
2020-02-11 15:45:33 +00:00
2019-12-27 21:27:35 +00:00
2019-09-07 01:04:08 +00:00
2020-02-11 22:19:45 +00:00
2020-02-05 18:14:39 +00:00
2019-07-16 19:46:56 +00:00
2019-07-16 19:46:56 +00:00
2019-07-16 19:46:56 +00:00
2020-02-03 21:59:48 +00:00
2019-10-15 08:50:52 +00:00
2020-02-03 21:59:48 +00:00
2019-10-02 20:37:10 +00:00
2019-10-27 18:18:29 +00:00
2020-02-11 23:37:05 +00:00
2019-10-09 23:38:30 +00:00
2020-02-11 23:37:05 +00:00
2020-01-31 12:56:31 +00:00
2019-08-01 21:07:50 +00:00
2020-02-07 20:57:46 +00:00
2019-03-07 02:04:41 +00:00
2019-04-29 09:11:48 +00:00
2019-10-02 05:33:29 +00:00
2019-09-05 21:41:42 +00:00
2019-09-05 21:41:42 +00:00
2019-09-05 21:41:42 +00:00
2019-09-05 21:41:42 +00:00
2020-02-05 08:46:07 +00:00
2020-02-10 15:08:04 +00:00
2020-01-31 10:45:21 +00:00
2020-01-31 10:45:21 +00:00
2020-01-22 15:14:58 +00:00
2019-09-05 21:41:42 +00:00
2019-07-10 22:20:10 +00:00
2019-07-10 22:20:10 +00:00
2019-07-10 22:20:10 +00:00
2020-01-16 14:21:16 +00:00
2019-07-10 22:20:10 +00:00
2019-11-14 19:11:38 +00:00
2019-12-20 03:26:29 +00:00
2019-11-15 00:15:32 +00:00
2020-02-10 15:08:04 +00:00
2020-02-04 23:31:17 +00:00
2019-01-11 20:47:10 +00:00
2019-06-18 17:51:10 +00:00
2018-11-09 01:58:54 +00:00
2019-01-15 22:07:51 +00:00
2018-11-09 01:58:54 +00:00
2018-11-09 01:58:54 +00:00
2019-01-11 20:47:10 +00:00
2019-04-16 20:56:39 +00:00
2019-06-18 17:51:10 +00:00
2019-12-04 14:26:48 +00:00
2019-06-18 17:51:10 +00:00
2019-07-23 10:58:11 +00:00
2019-07-23 10:58:11 +00:00
2019-01-11 20:47:10 +00:00
2019-01-11 20:47:10 +00:00
2019-01-25 16:45:13 +00:00
2019-01-25 16:45:13 +00:00
2019-10-21 16:26:39 +00:00
2020-02-12 00:53:05 +00:00
2020-02-12 00:53:05 +00:00
2018-11-29 22:06:20 +00:00
2018-11-01 16:37:22 +00:00
2019-12-11 19:36:18 +00:00
2019-10-18 01:33:03 +00:00
2019-03-13 23:44:11 +00:00
2020-01-17 18:10:04 +00:00
2019-12-07 00:28:15 +00:00
2020-02-04 23:31:17 +00:00
2020-01-17 18:10:04 +00:00
2019-10-09 21:48:20 +00:00
2019-09-05 10:36:13 +00:00
2019-10-29 23:39:36 +00:00
2019-07-10 22:20:10 +00:00
2019-07-10 22:20:10 +00:00
2019-07-10 22:20:10 +00:00
2020-02-12 22:00:57 +00:00
2019-10-27 18:18:29 +00:00
2019-04-22 20:15:43 +00:00
2019-04-22 20:15:43 +00:00
2019-04-22 20:15:43 +00:00
2020-01-31 16:42:42 +00:00
2019-12-11 18:15:27 +00:00
2019-01-11 20:47:10 +00:00
2019-10-17 17:19:32 +00:00
2019-06-17 13:09:50 +00:00
2019-06-17 13:09:50 +00:00
2019-03-15 22:35:25 +00:00
2019-03-15 22:35:25 +00:00
2019-09-24 15:03:19 +00:00
2019-12-18 18:02:41 +00:00
2019-12-18 18:02:41 +00:00
2019-09-24 15:03:19 +00:00
2019-03-12 20:45:45 +00:00
2019-12-10 12:26:05 +00:00
2020-01-31 12:56:31 +00:00
2020-01-31 12:56:31 +00:00
2020-02-03 11:04:15 +00:00
2019-05-01 00:36:14 +00:00
2020-01-24 20:36:18 +00:00
2020-01-24 20:36:18 +00:00
2019-10-17 16:51:32 +00:00
2019-10-17 16:51:32 +00:00