00:01:47  <devsnek>mathiasbynens: am i right in saying that jsbi uses holey arrays
00:07:37  <ljharb>🙏
00:19:45  * AtumTquit (Quit: AtumT)
00:29:52  * akirosequit (Ping timeout: 250 seconds)
00:30:42  * akirosejoined
00:40:35  * keith_millerjoined
01:09:31  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:16:12  * keith_millerjoined
01:20:26  * keith_millerquit (Ping timeout: 240 seconds)
01:39:11  * keith_millerjoined
01:40:55  * keith_millerquit (Client Quit)
01:52:15  * keith_millerjoined
01:54:55  * gibson042joined
01:59:28  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:06:16  * keith_millerjoined
02:15:53  <mathiasbynens>devsnek: only in __toStringBasePowerOfTwo afaik
02:16:16  <devsnek>mathiasbynens: isn't invoking the array constructor already a holey array
02:16:42  <mathiasbynens>devsnek: it is
02:19:59  <mathiasbynens>devsnek: are you seeing this happening for anything but .toString(radix) where radix is a power of two?
02:20:19  <mathiasbynens>the common case is radix=10 which shouldn’t hit that path
02:24:21  <devsnek>mathiasbynens: `new JSBI(length)`?
02:25:56  <devsnek>and yeah in __toStringBasePowerOfTwo
02:26:10  <devsnek>although since that's always a linear write it could be changed to unshift
02:27:11  <mathiasbynens>devsnek: ah, duh @ new JSBI
02:27:51  <devsnek>and once they're holey they're always holey right
03:15:44  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:58:48  * keith_millerjoined
04:43:05  <ljharb>devsnek: ftr “sparse” is the typical term
04:43:24  <devsnek>ljharb: i guess
04:43:40  <devsnek>for the last question though it would be holey though
04:43:58  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:44:00  <devsnek>my understanding of v8 is that even once an array is no longer sparse its still in "holey" mode
04:45:24  <ljharb>sparse is definitely a transient condition but one that leaves a permanent taint
04:45:39  <ljharb>at least, in all engines I’m aware of, it’s permanent
04:52:59  * cloudshuquit (Quit: Connection closed for inactivity)
05:16:07  * jwaldenquit (Ping timeout: 268 seconds)
05:18:00  * keith_millerjoined
05:45:56  * jmdyckquit (Remote host closed the connection)
05:47:33  * keith_millerquit (Ping timeout: 245 seconds)
10:04:54  * jwaldenjoined
10:25:42  * jwaldenquit (Ping timeout: 250 seconds)
12:40:52  * rektide_quit (Ping timeout: 246 seconds)
12:57:11  * jmdyckjoined
13:19:56  * gibson042quit (Ping timeout: 240 seconds)
14:10:46  * gibson042joined
14:17:24  <mathiasbynens>ljharb: “sparse” and “holey” have different meanings
14:43:43  <mathiasbynens>sparse is only about the current state of the array. it’s what’s directly observable to js devs
14:43:48  <mathiasbynens>holeyness is an implementation detail
14:43:55  <mathiasbynens>that might differ across engines
15:53:59  * cloudshujoined
16:39:28  * AtumTjoined
17:02:51  <ljharb>mathiasbynens: interesting, is that a term used across engines? I’ve never heard it before (except as a synonym for “sparse”). are you talking about dictionary mode?
17:03:06  <mathiasbynens>ljharb: check out https://v8.dev/blog/elements-kinds
17:03:45  <ljharb>thanks, will do
17:25:55  <devsnek>ugh trying to make a bigint stringifier is always where i fail
17:31:33  * keith_millerjoined
17:59:23  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:03:10  * keith_millerjoined
18:07:44  <Domenic>\o/ rekey is looking so great
18:13:48  <ljharb>+1
18:32:54  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:43:09  * keith_millerjoined
18:56:57  * keith_millerquit (Remote host closed the connection)
18:57:13  * keith_millerjoined
19:05:23  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:12:59  * jwaldenjoined
19:15:51  * keith_millerjoined
19:27:12  * keith_millerquit (Remote host closed the connection)
19:27:28  * keith_millerjoined
19:40:51  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:09:58  * keith_millerjoined
20:25:58  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:33:24  * keith_millerjoined
20:34:56  * jwaldenquit (Ping timeout: 240 seconds)
20:40:18  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:43:07  * keith_millerjoined
20:53:21  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:58:44  * jwaldenjoined
21:15:51  * keith_millerjoined
21:16:46  * keith_millerquit (Client Quit)
21:17:31  * keith_millerjoined
21:17:35  * keith_millerquit (Client Quit)
21:32:48  * keith_millerjoined
21:35:10  * keith_m__joined
21:36:56  * keith_millerquit (Ping timeout: 240 seconds)
22:27:43  * keith_m__quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:28:23  * keith_millerjoined
22:34:45  * aki_joined
22:35:52  * akirosequit (Ping timeout: 250 seconds)
22:35:52  * aki_changed nick to akirose
22:41:05  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:10:04  * gibson042quit (Quit: Leaving.)
23:20:32  * AtumTquit (Quit: AtumT)