Vyacheslav Egorov
af82cadcec
[vm] Force inlining of various Struct helpers
...
Specifically apply prefer-inline to:
* All generated accessors. In general we almost always seem to
select them for inlining through small-accessor heuristic,
but sometimes it does not hit. Marking with pragma ensures
that we are not dependent on specific heuristics to produce
good code.
* Various helpers involved in creating struct instances from
typed data. These we *not* hit by normal heuristics and
consequently not inlined prior to this change. Inlining them
opens possibilities to fully eliminate allocations associated
with `Struct.create(...)` if Struct does not escape.
* Array creation helpers and accessors. They were also not inlined
which meant we were producing unnecessary temporary objects
when reading from inline arrays.
TEST=/vm/dart/ffi_structs_optimizations_il_test
CoreLibraryReviewExempt: no API or behavioral changes
Cq-Include-Trybots: luci.dart.try:vm-aot-linux-product-x64-try,vm-aot-linux-release-x64-try
Change-Id: I1650023200446bd5289118777365627ca19d3e5b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/384261
Commit-Queue: Slava Egorov <vegorov@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2024-09-09 15:03:09 +00:00
..
2024-09-09 15:03:09 +00:00
2024-07-23 10:43:43 +00:00
2024-09-04 19:23:48 +00:00
2024-03-25 10:35:49 +00:00
2024-08-29 14:48:58 +00:00
2024-08-27 19:03:02 +00:00
2024-06-18 09:10:00 +00:00
2023-09-05 21:47:59 +00:00
2024-07-10 19:45:29 +00:00
2024-08-28 08:52:19 +00:00
2024-08-28 08:52:19 +00:00
2024-04-17 19:14:41 +00:00
2024-07-26 19:26:11 +00:00
2024-08-27 12:51:26 +00:00
2024-04-11 17:55:26 +00:00
2024-04-19 08:10:18 +00:00
2024-04-19 08:10:18 +00:00
2024-07-26 19:26:11 +00:00
2024-09-04 14:18:09 +00:00
2024-08-15 14:09:52 +00:00
2023-12-12 02:09:27 +00:00
2023-12-15 15:25:29 +00:00
2024-08-15 14:09:52 +00:00
2024-08-15 14:09:52 +00:00
2024-08-15 14:09:52 +00:00
2024-06-10 20:38:30 +00:00
2024-06-10 20:38:30 +00:00
2024-03-13 14:33:48 +00:00
2023-10-12 16:16:21 +00:00
2024-08-26 20:35:18 +00:00
2023-11-28 13:15:56 +00:00
2024-01-09 20:28:55 +00:00
2024-08-19 21:46:26 +00:00
2024-09-09 13:44:04 +00:00
2024-09-09 13:44:04 +00:00
2023-11-30 16:42:28 +00:00
2024-08-29 16:45:00 +00:00
2024-08-15 14:09:52 +00:00
2024-09-04 14:18:09 +00:00
2024-09-09 13:44:04 +00:00
2024-08-29 16:45:00 +00:00
2023-09-04 14:38:27 +00:00
2023-11-28 13:15:56 +00:00
2024-02-15 23:08:48 +00:00
2023-09-12 16:22:19 +00:00
2024-03-14 21:48:59 +00:00
2024-03-15 19:26:13 +00:00
2024-06-26 19:58:11 +00:00
2024-08-19 21:46:26 +00:00
2024-08-14 17:09:07 +00:00
2024-04-17 19:14:41 +00:00
2024-08-28 08:52:19 +00:00
2024-08-15 14:09:52 +00:00
2024-08-15 14:09:52 +00:00
2024-06-20 17:08:10 +00:00
2024-02-13 23:32:01 +00:00
2024-08-19 21:46:26 +00:00
2024-01-22 16:07:39 +00:00
2024-08-15 14:09:52 +00:00
2024-06-24 22:00:28 +00:00
2024-08-19 21:46:26 +00:00
2024-08-28 08:52:19 +00:00
2024-08-28 08:52:19 +00:00
2023-11-07 16:13:11 +00:00
2023-10-23 13:54:04 +00:00
2024-04-19 08:10:18 +00:00
2023-08-17 17:38:48 +00:00
2024-09-04 14:18:09 +00:00
2024-09-04 14:18:09 +00:00
2024-08-13 04:09:39 +00:00
2024-08-13 04:09:39 +00:00
2023-12-15 15:25:29 +00:00
2023-12-15 15:25:29 +00:00
2024-04-17 19:14:41 +00:00
2024-06-20 17:08:10 +00:00
2024-06-20 17:08:10 +00:00
2024-08-23 07:03:15 +00:00
2024-05-29 10:16:28 +00:00
2024-05-08 17:03:59 +00:00
2023-10-20 19:45:49 +00:00
2024-08-15 14:09:52 +00:00
2023-10-20 19:45:49 +00:00
2024-04-17 19:14:41 +00:00
2024-04-17 19:14:41 +00:00
2024-04-17 19:14:41 +00:00
2024-06-27 18:29:58 +00:00
2024-08-14 17:09:07 +00:00
2024-08-27 19:03:02 +00:00
2023-11-28 13:15:56 +00:00
2023-11-28 13:15:56 +00:00
2023-11-28 13:15:56 +00:00
2024-04-17 19:14:41 +00:00
2024-09-09 13:44:04 +00:00
2024-09-09 13:44:04 +00:00
2024-08-14 17:09:07 +00:00
2024-09-04 19:23:48 +00:00
2024-09-04 19:23:48 +00:00
2024-02-15 01:18:40 +00:00
2024-09-04 19:23:48 +00:00
2024-08-28 16:41:50 +00:00
2024-08-28 16:41:50 +00:00
2024-08-28 16:41:50 +00:00
2024-06-10 20:38:30 +00:00
2024-03-20 20:08:13 +00:00
2024-04-17 19:14:41 +00:00
2024-07-22 14:42:13 +00:00
2024-04-22 18:12:22 +00:00
2024-06-10 20:38:30 +00:00
2024-08-15 14:09:52 +00:00
2024-08-27 19:03:02 +00:00
2024-04-17 19:14:41 +00:00
2024-04-17 19:14:41 +00:00
2024-08-19 14:04:47 +00:00
2024-08-19 14:04:47 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-19 21:46:26 +00:00
2024-02-14 22:56:49 +00:00
2024-02-21 20:15:15 +00:00
2024-08-27 19:03:02 +00:00
2024-08-19 21:46:26 +00:00
2024-08-14 17:09:07 +00:00
2023-09-20 16:08:51 +00:00
2024-04-17 19:14:41 +00:00
2024-05-16 16:33:52 +00:00
2024-05-02 16:36:20 +00:00
2024-05-02 16:36:20 +00:00
2024-08-15 14:09:52 +00:00
2024-08-14 17:09:07 +00:00
2023-12-14 22:48:49 +00:00
2024-08-28 16:41:50 +00:00
2024-08-28 16:41:50 +00:00
2024-08-28 16:41:50 +00:00
2024-09-04 19:23:48 +00:00
2024-08-15 14:09:52 +00:00
2024-08-19 14:04:47 +00:00
2024-09-09 13:44:04 +00:00
2024-08-28 16:41:50 +00:00
2024-09-04 14:18:09 +00:00
2024-09-09 13:44:04 +00:00
2024-08-26 23:25:24 +00:00
2024-04-19 08:10:18 +00:00
2024-04-19 08:10:18 +00:00
2024-04-19 08:10:18 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-08-07 12:59:35 +00:00
2024-02-21 22:13:09 +00:00
2024-08-07 12:59:35 +00:00
2024-03-11 20:14:49 +00:00
2024-04-19 08:10:18 +00:00
2024-04-19 08:10:18 +00:00
2024-08-23 07:03:15 +00:00
2024-04-15 11:10:23 +00:00
2024-04-15 11:10:23 +00:00
2023-12-15 16:48:37 +00:00
2024-04-17 19:14:41 +00:00
2024-05-02 16:36:20 +00:00
2024-04-17 19:14:41 +00:00
2023-10-02 17:57:33 +00:00
2024-07-10 16:31:19 +00:00
2024-06-12 20:22:41 +00:00
2024-04-17 19:14:41 +00:00
2024-04-17 19:14:41 +00:00
2024-08-07 12:59:35 +00:00
2024-08-15 14:09:52 +00:00
2024-08-15 14:09:52 +00:00
2024-09-04 08:14:18 +00:00
2024-03-20 20:08:13 +00:00
2024-03-26 11:12:38 +00:00
2024-04-19 19:46:47 +00:00
2024-04-17 19:14:41 +00:00
2024-03-20 20:08:13 +00:00
2023-11-27 15:22:40 +00:00
2024-06-10 20:38:30 +00:00
2024-03-20 20:08:13 +00:00
2024-04-17 19:14:41 +00:00
2024-04-17 19:14:41 +00:00
2024-06-06 10:56:12 +00:00
2024-06-06 10:56:12 +00:00
2024-08-15 14:09:52 +00:00
2024-09-04 14:18:09 +00:00
2024-09-09 13:44:04 +00:00
2024-08-15 14:09:52 +00:00
2024-08-23 07:03:15 +00:00
2024-08-23 07:03:15 +00:00
2024-08-29 14:48:58 +00:00
2024-02-13 23:32:01 +00:00
2024-06-10 20:38:30 +00:00
2024-08-28 16:41:50 +00:00
2024-08-28 16:41:50 +00:00
2024-08-29 14:48:58 +00:00
2023-09-27 15:11:05 +00:00
2023-09-27 15:11:05 +00:00
2024-06-11 18:00:35 +00:00
2024-06-11 18:00:35 +00:00
2024-06-11 18:00:35 +00:00
2024-06-11 18:00:35 +00:00
2024-06-11 18:00:35 +00:00
2024-06-11 18:00:35 +00:00
2024-04-30 17:49:37 +00:00
2024-04-12 15:42:47 +00:00
2024-08-28 16:41:50 +00:00
2024-06-17 10:47:58 +00:00
2024-03-05 21:48:00 +00:00
2024-08-15 14:09:52 +00:00
2024-06-06 10:56:12 +00:00
2024-08-15 14:09:52 +00:00
2024-08-15 14:09:52 +00:00
2024-09-09 13:44:04 +00:00
2024-08-15 14:09:52 +00:00
2024-08-29 16:45:00 +00:00
2024-08-15 14:09:52 +00:00
2024-08-15 14:09:52 +00:00
2024-04-17 19:14:41 +00:00
2024-09-04 14:18:09 +00:00
2024-08-26 22:14:39 +00:00
2024-04-19 19:46:47 +00:00
2024-08-15 14:09:52 +00:00
2024-08-07 16:39:10 +00:00
2023-10-09 17:23:23 +00:00
2023-09-27 15:11:05 +00:00
2023-09-27 15:11:05 +00:00
2024-08-07 12:59:35 +00:00
2024-09-03 23:14:49 +00:00
2024-06-17 21:43:32 +00:00
2024-01-26 18:58:54 +00:00
2024-04-17 19:14:41 +00:00
2024-04-17 19:14:41 +00:00
2024-04-17 19:14:41 +00:00
2024-09-03 23:14:49 +00:00
2024-09-09 13:44:04 +00:00
2024-04-17 19:14:41 +00:00
2024-01-25 08:23:51 +00:00
2024-07-10 16:03:38 +00:00
2024-08-28 08:52:19 +00:00
2024-04-17 19:14:41 +00:00
2023-09-27 16:23:38 +00:00
2023-09-27 16:23:38 +00:00
2024-09-03 21:58:20 +00:00
2024-04-10 19:19:31 +00:00
2024-03-20 20:08:13 +00:00
2024-08-28 16:41:50 +00:00
2024-04-30 17:49:37 +00:00
2024-02-23 04:13:39 +00:00
2024-04-17 19:14:41 +00:00
2023-10-31 19:39:51 +00:00
2024-04-17 19:14:41 +00:00
2024-06-14 23:24:19 +00:00
2024-06-14 23:24:19 +00:00
2024-08-07 12:59:35 +00:00
2024-01-09 12:36:55 +00:00
2024-02-16 01:05:49 +00:00
2023-11-03 07:36:25 +00:00
2024-02-16 01:05:49 +00:00
2024-01-09 12:36:55 +00:00
2024-01-09 12:36:55 +00:00
2024-05-07 17:04:29 +00:00
2024-08-15 14:09:52 +00:00
2024-08-07 12:59:35 +00:00
2024-04-17 19:14:41 +00:00