Chris Tate
71deae1acf
Read dyn array elements and lengths by number without a key string
...
Indexing a value typed unknown with a number, such as `items[i]` on an
unknown[], converted the index to a string and looked it up as a property
key, and `items.length` read the property by name and boxed the result.
In a loop over an unknown[] that costs a string allocation, a key parse
and a number box per iteration.
The computed-read and `length` helpers the class dispatch generates are
now marked for a numeric fast path. A call to one of them with a number
index first asks the runtime for the element of a dyn array or a live
array capsule (scr_dyn_index_get), and a `length` read checked as a number
asks for the array's length (scr_dyn_array_length). The key string is
built and the helper runs only when the receiver is anything else, so
objects, strings, proxies, class instances, holes and out-of-range or
non-index numbers keep the keyed path.
2026-10-15 01:21:46 -05:00
..
2026-10-12 12:25:30 -05:00
2026-10-14 21:28:04 -05:00
2026-10-14 21:28:04 -05:00
2026-10-11 07:08:22 -07:00
2026-10-15 00:44:24 -05:00
2026-10-14 12:25:43 -05:00
2026-10-14 08:46:13 -05:00
2026-10-15 00:41:22 -05: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-13 12:29:07 -05:00
2026-10-14 21:17:46 -05:00
2026-10-14 17:27:02 -05:00
2026-10-14 11:43:44 -05:00
2026-10-06 13:07:11 -05:00
2026-10-14 11:43:44 -05:00
2026-10-14 04:53:07 -05:00
2026-10-14 23:49:11 -05:00
2026-10-13 18:55:55 -05:00
2026-10-14 04:53:07 -05: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-15 00:41:22 -05:00
2026-10-14 19:48:01 -05:00
2026-10-14 11:43:44 -05:00
2026-10-14 17:27:02 -05:00
2026-08-23 20:16:13 -05:00
2026-10-14 21:22:39 -05:00
2026-10-14 04:53:07 -05:00
2026-10-14 17:18:04 -05:00
2026-10-14 11:43:44 -05:00
2026-10-14 11:43:44 -05:00
2026-10-14 04:53:07 -05:00
2026-10-14 18:12:09 -05:00
2026-08-16 22:59:02 -05:00
2026-10-07 19:07:02 -05:00
2026-10-14 11:43:44 -05:00
2026-10-14 03:54:52 -05:00
2026-09-28 19:01:50 -05:00
2026-10-13 19:48:11 -05:00
2026-10-14 23:20:57 -05:00
2026-10-14 11:43:44 -05:00
2026-10-14 18:12:09 -05:00
2026-10-14 08:10:02 -05:00
2026-10-14 17:27:02 -05:00
2026-10-14 22:59:06 -05:00
2026-10-15 01:21:46 -05:00
2026-10-14 20:38:52 -05:00
2026-10-14 22:15:06 -05:00
2026-10-08 15:40:53 -05:00
2026-10-15 00:41:22 -05:00
2026-10-14 11:43:44 -05:00
2026-08-23 20:16:13 -05:00
2026-10-14 11:43:44 -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-14 15:17:21 -05:00
2026-10-14 15:17:21 -05:00
2026-10-14 22:15:06 -05: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-10-14 17:27:02 -05:00
2026-10-13 19:48:11 -05:00
2026-10-13 19:48:11 -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-14 04:53:07 -05:00
2026-10-14 00:25:07 -05:00
2026-10-14 11:43:44 -05:00
2026-10-14 13:16:30 -05:00
2026-08-23 20:16:13 -05:00
2026-10-11 19:46:48 -07:00
2026-10-14 08:10:02 -05:00
2026-10-14 14:10:43 -05:00
2026-10-13 07:48:24 -05:00
2026-10-14 23:43:52 -05:00
2026-10-13 23:52:01 -05:00
2026-10-13 21:53:48 -05:00
2026-10-13 18:37:26 -05:00
2026-10-15 01:21:46 -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-14 21:55:39 -05:00
2026-10-14 23:49:11 -05:00
2026-10-03 19:21:34 -05:00
2026-10-14 17:27:02 -05:00
2026-10-14 11:43:44 -05:00
2026-10-14 17:27:02 -05:00
2026-10-03 05:38:29 -05:00
2026-10-07 19:07:02 -05:00
2026-10-14 17:27:02 -05:00
2026-10-14 04:53:07 -05:00
2026-10-14 17:27:02 -05:00
2026-10-14 11:30:47 -05:00
2026-10-13 19:48:11 -05:00
2026-10-14 17:27:02 -05:00
2026-10-14 08:08:06 -05:00
2026-10-12 12:25:30 -05:00
2026-10-14 17:27:02 -05:00
2026-10-12 12:25:30 -05:00
2026-10-14 11:43:44 -05:00
2026-08-10 12:21:11 -05:00
2026-09-29 20:54:09 -05:00
2026-10-14 04:53:07 -05: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-10-12 12:25:30 -05:00