Daniel Bertalan
23d66fe719
AK: Add RETURNS_NONNULL attribute and use it
...
This attribute tells compilers that the pointer returned by a function
is never null, which lets it optimize away null checks in some places.
This seems like a nice addition to `NonnullOwnPtr` and `NonnullRefPtr`.
Using this attribute causes extra UBSan checks to be emitted. To offset
its performance loss, some additional methods were marked ALWAYS_INLINE,
which lets the compiler optimize duplicate checks
2021-06-29 22:57:52 +04:30
..
2021-04-22 11:22:27 +02:00
2021-06-20 10:54:09 +01:00
2021-05-05 19:02:51 +02:00
2021-06-08 17:29:57 +02:00
2021-06-24 17:35:49 +04:30
2021-04-22 11:22:27 +02:00
2021-06-09 23:05:32 +04:30
2021-04-22 11:22:27 +02:00
2021-04-22 22:42:38 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-05-19 23:37:10 +01:00
2021-05-19 23:37:10 +01:00
2021-06-25 20:48:14 +04:30
2021-04-22 11:22:27 +02:00
2021-06-12 22:45:01 +04:30
2021-05-14 08:39:29 +01:00
2021-06-29 16:55:54 +01:00
2021-06-02 16:09:16 +04:30
2021-06-01 23:12:17 +04:30
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-06-17 11:03:51 +02:00
2021-04-22 11:22:27 +02:00
2021-06-24 17:35:49 +04:30
2021-06-25 20:48:14 +04:30
2021-04-22 11:22:27 +02:00
2021-05-04 21:32:15 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 21:15:54 +02:00
2021-04-27 23:06:16 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-06-18 19:18:15 +01:00
2021-06-18 19:18:15 +01:00
2021-06-19 16:13:59 +01:00
2021-06-19 16:13:59 +01:00
2021-06-29 13:18:03 +02:00
2021-06-25 18:58:34 +02:00
2021-04-22 20:27:21 +02:00
2021-04-22 20:27:21 +02:00
2021-04-22 11:22:27 +02:00
2021-06-15 23:51:20 +01:00
2021-06-15 22:16:55 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-06-16 10:40:01 +02:00
2021-04-23 10:26:14 +02:00
2021-06-09 17:43:32 +04:30
2021-04-22 11:22:27 +02:00
2021-06-08 19:14:24 +02:00
2021-06-29 13:18:03 +02:00
2021-04-22 11:22:27 +02:00
2021-06-29 13:18:03 +02:00
2021-04-22 11:22:27 +02:00
2021-05-14 11:54:43 +02:00
2021-04-22 11:22:27 +02:00
2021-04-29 00:59:26 +02:00
2021-04-29 00:59:26 +02:00
2021-06-29 13:18:03 +02:00
2021-06-29 13:18:03 +02:00
2021-06-24 17:35:49 +04:30
2021-04-22 11:22:27 +02:00
2021-05-31 14:25:27 +04:30
2021-05-27 18:21:36 +04:30
2021-05-12 22:38:20 +02:00
2021-04-22 11:22:27 +02:00
2021-04-23 16:46:57 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-05-31 17:29:09 +01:00
2021-05-12 12:50:23 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-06-29 22:57:52 +04:30
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-06-29 22:57:52 +04:30
2021-06-11 00:30:09 +02:00
2021-04-29 00:59:26 +02:00
2021-05-22 13:38:34 +01:00
2021-06-01 11:38:17 +02:00
2021-04-22 11:22:27 +02:00
2021-06-24 17:35:49 +04:30
2021-06-29 22:57:52 +04:30
2021-05-30 18:45:06 +01:00
2021-06-24 09:27:13 +02:00
2021-04-22 11:22:27 +02:00
2021-04-28 21:38:48 +02:00
2021-05-14 22:24:02 +02:00
2021-05-14 22:24:02 +02:00
2021-06-19 14:51:18 +02:00
2021-06-03 08:06:51 +02:00
2021-06-24 17:35:49 +04:30
2021-05-08 22:14:39 +02:00
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-06-29 00:07:19 +04:30
2021-04-22 11:22:27 +02:00
2021-06-24 17:35:49 +04:30
2021-06-15 23:59:21 +01:00
2021-04-22 21:15:54 +02:00
2021-04-22 11:22:27 +02:00
2021-05-30 14:35:34 +01:00
2021-05-27 17:28:41 +04:30
2021-05-26 16:36:53 +04:30
2021-04-22 11:22:27 +02:00
2021-04-22 11:22:27 +02:00
2021-06-28 01:08:41 +04:30
2021-06-27 20:54:59 +01:00
2021-04-22 11:22:27 +02:00
2021-06-29 16:55:54 +01:00
2021-06-18 19:18:15 +01:00
2021-05-31 14:49:00 +04:30
2021-05-31 14:49:00 +04:30
2021-05-14 15:24:32 +02:00
2021-05-17 23:25:30 +02:00
2021-06-06 08:05:49 +01:00
2021-06-18 19:18:15 +01:00
2021-06-18 19:18:15 +01:00
2021-06-04 12:06:08 +04:30
2021-06-27 20:54:59 +01:00
2021-04-22 11:22:27 +02:00
2021-05-19 16:24:02 +02:00
2021-04-22 11:22:27 +02:00
2021-05-08 18:10:56 +02:00
2021-06-08 12:15:04 +02:00
2021-05-18 18:48:15 +01:00
2021-06-24 19:57:01 +02:00
2021-04-22 11:22:27 +02:00
2021-04-29 22:23:52 +02:00
2021-06-28 15:55:00 +02:00
2021-05-27 15:18:03 +02:00
2021-06-11 18:14:11 +04:30
2021-05-20 22:10:45 +02:00
2021-05-20 22:10:45 +02:00
2021-06-03 13:31:46 +02:00
2021-06-01 12:23:16 +02:00
2021-06-13 18:52:58 +02:00
2021-06-05 10:53:31 +02:00
2021-06-24 17:35:49 +04:30
2021-06-16 20:05:18 +01:00
2021-06-16 20:05:18 +01:00
2021-06-01 09:46:19 +02:00
2021-05-16 17:49:42 +02:00
2021-04-22 11:22:27 +02:00
2021-06-28 01:08:41 +04:30
2021-06-12 13:24:45 +02:00
2021-06-24 00:38:23 +02:00
2021-04-23 16:46:57 +02:00