00:19:33  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
00:21:05  * ofrobotsjoined
00:26:21  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
00:29:40  * ofrobotsjoined
00:42:22  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
00:44:47  * ofrobotsjoined
00:50:27  * JoWiequit (Quit: Connection closed for inactivity)
00:50:44  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
00:52:19  * plutoniixquit (Quit: จรลี จรลา)
01:19:30  * bradleymeckquit (Quit: bradleymeck)
02:11:34  * esasquit (Ping timeout: 240 seconds)
02:16:49  * Fishrock123quit (Quit: Leaving...)
02:28:24  * xaxxon_quit (Ping timeout: 246 seconds)
03:18:12  * plutoniixjoined
03:26:58  * xaxxonjoined
03:40:27  * bradleymeckjoined
04:02:04  * bradleymeckquit (Quit: bradleymeck)
04:05:48  * xaxxonquit (Ping timeout: 268 seconds)
04:20:48  * bobmcwquit (Remote host closed the connection)
04:20:58  * bobmcwjoined
04:21:04  * bobmcwquit (Remote host closed the connection)
04:30:36  * bobmcwjoined
04:37:30  * bobmcwquit (Remote host closed the connection)
04:37:42  * bobmcwjoined
04:55:44  * xaxxonjoined
05:18:38  * ofrobotsjoined
05:34:52  * plutoniixquit (Ping timeout: 252 seconds)
05:47:55  * plutoniixjoined
05:59:49  * plutoniixquit (Ping timeout: 260 seconds)
06:01:50  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
06:16:35  * plutoniixjoined
06:40:36  * rendarjoined
06:55:06  * rendarquit (Ping timeout: 246 seconds)
06:57:55  * plutoniixquit (Ping timeout: 252 seconds)
07:02:33  * ofrobotsjoined
07:04:22  * rendarjoined
07:04:59  * bobmcwquit (Remote host closed the connection)
07:05:31  * bobmcwjoined
07:10:40  * plutoniixjoined
07:59:19  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
08:30:58  * zvquit (Ping timeout: 268 seconds)
09:09:17  * bobmcwquit (Remote host closed the connection)
09:09:26  * bobmcwjoined
10:01:42  * bobmcwquit (Read error: Connection reset by peer)
10:20:25  * bobmcwjoined
11:15:52  * plutoniixquit (Quit: จรลี จรลา)
11:27:39  * bobmcwquit (Remote host closed the connection)
12:58:36  * oleavrquit (Ping timeout: 268 seconds)
13:04:08  * bradleymeckjoined
13:05:57  * oleavrjoined
13:26:48  * jugglinmikejoined
13:40:21  <caitp>do you think ignition will eventually allow us to move all of the desugaring from the parser to the bytecode generator
13:40:24  <caitp>because that would be awesome
13:40:47  <caitp>registers instead of variables, imagine
13:41:34  * jugglinmikequit (Ping timeout: 240 seconds)
13:42:00  <caitp>that would probably boost CodeLoad scores a good amount, too
13:43:24  <caitp>and maybe some day, parser-base can be implemented in a source file rather than a header, and making small changes to it won't require rebuilding a bunch of unrelated stuff --- and inlining will still be totally possible, because all callers will be in the source file itself
13:43:46  <caitp>between the two of those changes, you could make the difference between the parser and preparser totally transparent
13:43:58  <caitp>simplifying everything, wow
13:44:11  <caitp>well, one can hope
13:45:33  * pringlescanjoined
13:48:39  * jugglinmikejoined
14:05:49  * davi_joined
14:11:49  * davi_quit (Remote host closed the connection)
14:12:51  * bradleymeckquit (Quit: bradleymeck)
14:13:08  * davijoined
14:15:24  * xaxxonquit (Ping timeout: 246 seconds)
14:18:29  * bradleymeckjoined
14:37:02  * ofrobotsjoined
15:06:04  * bradleymeckquit (Quit: bradleymeck)
15:06:22  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
15:10:00  * ofrobotsjoined
15:14:30  * ofrobotsquit (Client Quit)
15:19:27  * Fishrock123joined
15:19:40  <Fishrock123>ANyone here able to help me with the v8::Set native API?
15:20:06  * plutoniixjoined
15:21:01  <caitp>Fishrock123: what about it?
15:22:43  <Fishrock123>caitp: When I do a `set->Delete(env->context(), value);`, it has 3 items in it. One gets deleted, one turns to undefined, the other is untouched.
15:22:50  <Fishrock123>The undefined part is the problem
15:23:08  <Fishrock123>One of the keys keeps turning to undefined without my doing anything to it as far as I can tel
15:23:28  <Fishrock123>This is v8 5.0 (Node master)
15:23:35  <caitp>you mean that Set::Has() continues to return true for the key?
15:23:58  <caitp>it continues to show up in forEach() / etc?
15:24:13  <Fishrock123>caitp: I mean wehn I get the Array of values (AsArray()), one of the values is undefined
15:24:23  <caitp>interesting, hang on a sec
15:24:26  <Fishrock123>(I'm viewing it from JavaScript but the problem is also present in c++)
15:26:08  <caitp>does the `undefined` show up at the end of the array, no matter which item was deleted?
15:26:41  <caitp>actually, I guess it wouldn't
15:27:04  <Fishrock123>caitp: It appears to show up at the beginning
15:27:35  <caitp>yeah, I think the Set::AsArray code is a bit off
15:27:38  <Fishrock123>Note again, I'm only deleting one, which gets deleted but another turns to undefined and ends up at the start of the array
15:27:48  <caitp>afaik you should get a different result from Array.from(<the set>)
15:28:03  <Fishrock123>caitp: oh hmmm, is there a better way to iterate? (Preferably in c++...)
15:28:06  <caitp>aklein might know if the chrome api depends on this quirk, but if not it seems like a bug
15:28:19  <caitp>er, if chrome depends on it
15:28:44  <caitp>there isn't really another way exposed in the api
15:28:47  <caitp>far as I can see
15:29:25  <Fishrock123>*sigh*, aight. Thanks for the info.
15:29:44  <caitp>you should probably file a bug, I can't think of a good reason to record the hole-y items as undefined
15:30:12  <Fishrock123>caitp: hole-y?
15:31:21  <caitp>what happens is, AsArray allocates a backing store for the Array it creates, initializing each item to undefined --- then loops over each element in the hash set. if it's not deleted, it puts the value in the backing store, otherwise it doesn't
15:31:59  <caitp>so deleted items show up in the list as undefined, as an own property
15:32:34  <caitp>I think this is a bug, and it's still present on ToT --- so you should file it
15:37:01  <Fishrock123>caitp: ok, mind linking the bug tracker? I always forget where it is at :(
15:37:16  <caitp>https://bugs.chromium.org/p/v8/issues/list
15:39:25  <Fishrock123>caitp: Hmmm, isn't there still another issue though? I have a Set with 3 items, do a single Delete, and it ends up with one item and an undefined..
15:39:48  <caitp>hm
15:39:57  <Fishrock123>If it matters, the items are Errors, specifically promise rejection "reason"s.
15:40:20  <caitp>do two of those errors have the same identity?
15:40:23  * RT|Chatzillaquit (Quit: ChatZilla 0.9.86.1 [Firefox 2.0.0.22pre/2010030309])
15:40:59  <caitp>that could be a separate issue with the hashtable implementation, but that's more work to deal with
15:41:08  <caitp>if you can provide a reproduction for that, we can look into it easier
15:41:44  <Fishrock123>caitp: How would I check if they have the same identity? They definitely have different stack traces.
15:42:21  <caitp>either they're the same object, (eg obj1 === obj2), or we're erroneously giving them the same hash value
15:42:45  <caitp>or, a third possibility is that the internal iteration over the hash table is just wrong
15:43:06  <Fishrock123>caitp: Is that just Local1 == Local2 in c++?
15:43:50  <caitp>yeah
15:45:49  * pringlescan1joined
15:45:55  * pringlescanquit (Ping timeout: 252 seconds)
15:51:49  * bobmcwjoined
15:52:16  * ofrobotsjoined
15:57:00  * ofrobotsquit (Ping timeout: 276 seconds)
16:06:08  * aperezdcquit (Remote host closed the connection)
16:10:29  * aperezdcjoined
16:11:19  <Fishrock123>caitp: is it possible to get a reference to Array.from which can be called from C++?
16:11:51  <Fishrock123>mostly because adding more JS functions to call is a big mess XD
16:11:58  <caitp>you should be able to get it just by compiling and running the script "(Array.from)", I think
16:12:09  <caitp>or, you could get the Array function and get "from" from it
16:13:30  <Fishrock123>caitp: You mean just get it off of the gloabal?
16:13:36  <caitp>yeah
16:13:53  * BobGneujoined
16:15:13  * ofrobotsjoined
16:18:22  * BobGneuquit (Ping timeout: 252 seconds)
16:19:20  * BobGneujoined
16:26:00  <trungl-bot>Tree opened by [email protected]: open - [email protected] looking at arm64
16:26:33  <caitp>Fishrock123: a reproduction would be very helpful, as this seems to be doing the right thing on ToT, even though it doesn't look like it should
16:26:42  <caitp>trying in an older version though
16:27:20  <Fishrock123>ok I'll see what I can do, probably not for a couple days though. I'm trying to get this together for node's v6 release
16:27:37  <Fishrock123>now my functions just won't call though sooooooo
16:33:13  * bobmcwquit (Remote host closed the connection)
16:34:04  <trungl-bot>Tree opened by [email protected]: Tree is open
16:42:05  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
16:50:27  * ofrobotsjoined
17:26:19  * Fishrock123quit (Remote host closed the connection)
17:33:00  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
17:33:22  * ofrobotsjoined
17:53:01  * daviquit (Ping timeout: 244 seconds)
17:57:42  * davijoined
18:16:09  * akleinreads up and sees himself mentioned
18:16:51  <caitp>re: Set::AsArray() that you added last year, yeah
18:17:46  <aklein>caitp: when you say Set::AsArray is a bit off...
18:18:50  <caitp>aklein: if any value is the hole (eg, was deleted), then it is kept as undefined in the returned Array
18:19:58  <aklein>caitp: can you reproduce that? my reading of the API code specifically skips over holes
18:20:25  <caitp>well, the fixed array allocator initializes everything to undefined
18:20:41  <caitp>so you skip over them, but the skipped over item is still "undefined"
18:21:07  <caitp>but, it's hard to reproduce this in the unittest, so I think may need to wait for them to show it
18:22:27  <aklein>oh, I see, this is just broken
18:22:29  <aklein>heh
18:22:39  <aklein>whoops
18:23:10  <aklein>the increment shouldn't be in the loop header
18:23:33  <caitp>and you'd need to shrink it after --- but the other issue they brought up is even weirder, especially if it happens consistently
18:23:59  <aklein>looks like this needs complete rewriting, I don't understand why I thought this was right
18:24:32  <caitp>would you be willing to leave it for our new hire? he starts next week
18:24:48  <aklein>it's been broken for a year, so sure :)
18:24:55  <caitp>nice, thanks
18:24:56  <aklein>did a bug get filed for it?
18:25:11  <caitp>no, Fishrock123 said he'd probably file one in a few days
18:25:34  <aklein>k
18:25:34  * pringlescan1quit (Ping timeout: 244 seconds)
18:28:56  <aklein>excited for the idea of having help fixing bugs :)
18:31:34  * pringlescanjoined
18:32:30  <caitp>hah, yeah it should be good
18:38:15  * daviquit (Ping timeout: 246 seconds)
18:39:13  * zvjoined
18:40:38  * pringlescanquit (Quit: Leaving.)
18:41:28  * pringlescanjoined
18:41:42  * pringlescanquit (Client Quit)
18:44:12  * zvquit (Ping timeout: 260 seconds)
18:55:07  * rendarquit (Ping timeout: 252 seconds)
18:59:53  <aklein>caitp: hmm, looks like the S390 change actually pointed out a bug in our ** operator?
19:00:45  <caitp>in the fake constant folding bit
19:01:38  * rendarjoined
19:01:49  <aklein>yeah :)
19:01:59  <aklein>is it even worth having the fake constant folding?
19:02:07  <aklein>maybe we should just delete this and let the backends handle it?
19:02:38  <caitp>maybe --- how reproducible is it off aix?
19:04:08  <caitp>i think the folding is good for common cases like bitsets
19:04:37  <caitp>we could just add extra constraints to it
19:05:31  <aklein>oh, I see, it doesn't come up
19:05:34  <aklein>because of the constraints
19:05:50  <aklein>(it's only an issue with infinite or nan exponents)
19:11:32  * zvjoined
19:12:47  * sxaPi2joined
19:14:52  * sxa__quit (Ping timeout: 264 seconds)
19:40:06  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
19:50:00  * rendarquit (Ping timeout: 246 seconds)
19:56:51  * rendarjoined
20:10:16  * ofrobotsjoined
20:21:53  * pringlescanjoined
21:04:35  * Venemojoined
21:30:03  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
21:32:14  * ofrobotsjoined
21:34:34  * ofrobotsquit (Client Quit)
21:46:04  * pringlescanquit (Quit: Leaving.)
21:46:48  * pringlescanjoined
21:46:51  * pringlescanquit (Read error: Connection reset by peer)
21:56:13  * ofrobotsjoined
22:15:26  * RT|Chatzillajoined
22:30:45  * Fishrock123joined
22:41:02  * jugglinmikequit (Ping timeout: 260 seconds)
22:46:22  * bradleymeckjoined
22:56:49  * pringlescanjoined
22:59:56  * plutoniixquit (Read error: Connection reset by peer)
23:02:48  * bradleymeckquit (Quit: bradleymeck)
23:16:40  * rendarquit (Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!)
23:45:22  * pringlescanquit (Quit: Leaving.)
23:46:45  * pringlescanjoined
23:49:02  * bradleymeckjoined