Malte Ubl
fa55ce6b07
Keep the RC entry points of array elements in one shared descriptor
...
Every SCR_ELEM_REF array stored its element type's retain, release and trace entry points in its own header (24 bytes), so ScrArr was 80 bytes: an 80-byte block for arrays of acyclic elements and a 96-byte block for cycle-capable ones. The three pointers now live in one constant ScrArrOps descriptor per element type, which the compiler emits once per module (@sc_arrops.*) and the runtime keeps static, and the header holds a pointer to it plus a 4-byte `cyc` flag beside `elem` that the inline RC fast paths test. ScrArr is 64 bytes: arrays take 64- and 80-byte blocks.
scr_arr_new_ref(retain, release, trace, cap) becomes scr_arr_new_ops(ops, cap); scr_set_to_arr_ref takes the result's descriptor from its caller instead of building an array from the set's key adapters. The backend names the %ScrArr fields in SCR_ARR_FIELD. The layout change bumps the runtime ABI marker to scr_runtime_abi_v13.
2026-10-11 19:46:48 -07:00
..
2026-10-02 19:56:34 -05:00
2026-10-11 08:57:42 -07:00
2026-10-11 08:57:42 -07:00
2026-10-11 07:08:22 -07:00
2026-10-11 19:46:48 -07:00
2026-10-07 19:07:02 -05:00
2026-10-11 19:46:48 -07:00
2026-10-11 19:46:48 -07:00
2026-09-26 19:09:54 -05:00
2026-10-05 17:51:24 -05:00
2026-09-18 00:21:12 -05:00
2026-10-05 09:32:14 -05:00
2026-10-11 19:46:48 -07:00
2026-10-09 10:10:22 -07:00
2026-10-06 13:07:11 -05:00
2026-10-07 19:07:02 -05:00
2026-10-11 09:39:57 -07:00
2026-10-09 10:30:31 -05:00
2026-09-30 14:25:29 -05:00
2026-10-11 19:46:48 -07:00
2026-10-11 06:39:43 -07:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-11 19:46:48 -07:00
2026-10-03 01:47:42 -05:00
2026-10-11 10:17:20 -07:00
2026-10-08 11:00:13 -05:00
2026-10-07 19:07:02 -05:00
2026-08-23 20:16:13 -05:00
2026-10-10 14:24:13 -07:00
2026-10-11 09:39:57 -07:00
2026-10-11 19:46:48 -07:00
2026-10-11 06:39:42 -07:00
2026-10-11 12:23:05 -07:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-08-16 22:59:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-09-28 19:01:50 -05:00
2026-09-28 19:01:50 -05:00
2026-10-07 19:07:02 -05:00
2026-10-08 15:42:37 -05:00
2026-08-23 20:16:13 -05:00
2026-10-09 10:30:31 -05:00
2026-10-04 06:07:41 -05:00
2026-10-11 19:46:48 -07:00
2026-10-11 10:17:20 -07:00
2026-10-11 19:46:48 -07:00
2026-10-08 15:01:26 -05:00
2026-10-08 15:40:53 -05:00
2026-10-11 19:46:48 -07:00
2026-09-30 01:09:15 -05:00
2026-08-23 20:16:13 -05:00
2026-07-22 18:08:04 -05:00
2026-08-23 20:16:13 -05:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-11 19:46:48 -07:00
2026-10-11 06:39:40 -07:00
2026-10-09 10:10:20 -07:00
2026-10-11 06:39:41 -07:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-08-23 20:16:13 -05:00
2026-08-23 20:16:13 -05:00
2026-10-08 15:42:37 -05:00
2026-10-03 18:34:51 -05:00
2026-10-08 15:49:53 -05:00
2026-10-06 13:07:11 -05:00
2026-10-06 13:07:11 -05:00
2026-10-06 13:07:11 -05:00
2026-10-11 09:39:57 -07:00
2026-10-07 19:07:02 -05:00
2026-08-23 20:16:13 -05:00
2026-10-11 19:46:48 -07:00
2026-10-02 19:56:34 -05:00
2026-10-07 19:07:02 -05:00
2026-10-08 15:19:12 -05:00
2026-10-11 09:38:27 -07:00
2026-10-11 19:46:48 -07:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-11 19:46:48 -07:00
2026-10-10 00:57:58 -05:00
2026-10-03 19:21:34 -05:00
2026-10-03 18:34:51 -05:00
2026-10-07 19:07:02 -05:00
2026-08-09 23:15:51 -05:00
2026-10-03 05:38:29 -05:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-11 09:39:57 -07:00
2026-10-04 04:14:12 -05:00
2026-10-04 01:57:10 -05:00
2026-10-04 04:14:12 -05:00
2026-10-07 19:07:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-04 21:18:58 -05:00
2026-10-07 19:07:02 -05:00
2026-10-04 06:07:41 -05:00
2026-08-10 12:21:11 -05:00
2026-09-29 20:54:09 -05:00
2026-10-11 09:39:57 -07:00
2026-10-11 10:16:45 -07:00
2026-10-07 19:07:02 -05:00
2026-10-11 06:42:16 -07:00
2026-10-07 19:07:02 -05:00
2026-08-23 20:16:13 -05:00
2026-10-07 19:07:02 -05:00