00:00:02  * jugglinmikequit (Ping timeout: 260 seconds)
00:08:34  <caitp>oop, forgot to mention that part
00:08:53  <jwolfe>when i try running the octane benchmark repeatedly, i'm getting a variance of about 13%. doesn't that seem too unreliable? is my change even going to make a noticeable difference in that context?
00:09:05  <jwolfe>i'm guessing i should work on getting more stable results from the benchmark.
00:09:43  <aklein>yeah you're not going to notice your patch with that variance
00:10:02  <aklein>ideally you'd just run the CodeLoad sub-test
00:10:17  <caitp>a lot of things impact it, and you can minimize the variance to some degree
00:11:10  <caitp>eg by using ramfs and fully loaded scripts to minimize i/o latency
00:15:17  <jwolfe>well, i don't know what to do about this. should i give up on this experiment and just commit my patch?
00:17:28  <aklein>jwolfe: if you check it out from https://github.com/chromium/octane it might not be too hard to comment out the non-CodeLoad bits; that's analogous to what I do locally
00:17:43  <aklein>basically you comment out the bits of https://github.com/chromium/octane/blob/master/run.js you don't want to run
00:17:54  <jwolfe>alright, i'll try that.
00:18:27  <jwolfe>and then do i run some kind of local web server, like python -m SimpleHTTPServer, or do i use file: urls?
00:21:25  <aklein>I suspect you'll need SimpleHTTPServer or the like to allow loading files
00:30:56  <caitp>jwolfe: fwiw, I think it's okay if you commit the patch
00:31:12  <caitp>if the perf hit is _that_ bad, we can always revert it and try a different approach
00:31:21  <caitp>but it's nice to have at least a rough idea
00:32:09  <caitp>if it looks good to adam, I think you should go for it
00:34:03  <jwolfe>aklein, fwiw it was index.html's <script> includes i had to comment out, not the list in run.js.
00:40:06  <aklein>yeah, I'd do this in parallel with committing fwiw
00:40:14  <aklein>jwolfe: ah, makes sense
00:40:56  <jwolfe>i'm getting even worse variance with just CodeLoad on a local checkout >_< 24%. i don't think my dev environment is the proper place to run performance tests.
00:41:18  <jwolfe>i'm just going to commit.
00:43:37  <caitp>jwolfe: I could probably try it out
00:44:01  <jwolfe>caitp, be my guest. i'm working on getting git and git cl to agree on what a rebase means...
00:44:26  <caitp>I didn't know git cl rebase was a thing
00:44:27  <caitp>huh
00:47:24  * unixpicklequit (Quit: My Mac has gone to sleep. ZZZzzz…)
01:07:42  <jwolfe>caitp, i just mean getting git cl upload to not think that a rebase/merge is a change to a bunch of unrelated files.
01:08:13  <jwolfe>i think where i'm getting stuck is if i start with a merge, and then do a rebase, everything's broken. if i start with a rebase, then it seems to work.
01:08:50  <caitp>do you mean how after a rebase, changes that aren't yours show up in the rietveld CL?
01:09:06  <caitp>or something else?
01:09:21  <jwolfe>yeah, that kind of thing.
01:09:42  <jwolfe>i don't know how git cl upload finds the base of the changes to start the diff.
01:10:04  <caitp>unfortunately, i don't think there's really a fix for that
01:12:00  <jwolfe>does anyone know how `git cl upload` finds the commit in your history that is out of scope for the change? does it go based on author? based on origin/master?
01:15:03  <jwolfe>i think the key is that your history should be linear from a single commit that's in origin/master. if there's a merge commit with a fork in the timeline, then `git cl upload` will probably do the wrong thing. in other words: rebase; don't merge.
01:17:58  <caitp>jwolfe: it actually looks like it bases it on the upstream branch
01:18:00  <caitp>which is probably origin/master for you here
01:18:48  <caitp>that may not be quite right, but it's worth a shot
01:20:27  <caitp>(based on the call to GetChange() in CMDUpload in git-cl.py)
01:42:18  <caitp>jwolfe: based on 10 runs of ToT vs 10 runs with your patch applied, I'm seeing a 1.3% regression on CodeLoad (across the geometric mean of the runs)
01:42:33  <caitp>but looking at each run individually, it looks almost perf neutral
01:43:12  <caitp>also, the best-case score for both patched vs unpatched remains the same, while the worst case across the 10 runs is nearly 3% worse in the patched version
01:43:17  <caitp>but this could be attributed to other factors
01:43:30  <caitp>really need more runs to get any statistically significant info
01:44:17  <caitp>I think it's unlikely to be more of a regression than async arrow functions
01:48:14  <caitp>I'm curious if it does any better with the alternative strategy though
01:59:59  * bradleymeckquit (Quit: bradleymeck)
02:49:18  * sin8hjoined
02:49:48  * fairfieldtjoined
02:49:59  * fairfieldtpart
05:06:51  * plutoniixjoined
05:06:54  * plutoniixquit (Max SendQ exceeded)
07:22:56  <trungl-bot>Tree closed by buildbot@chromium.org: Tree is closed (Automatic: "Check" on http://build.chromium.org/p/client.v8/builders/V8%20Linux64/builds/10997 "V8 Linux64" from 33452e7a052b98481118a26d0d8225591509ed79: machenbach@chromium.org)
07:26:59  <trungl-bot>Tree closed by machenbach@chromium.org: closed - fixing
07:27:25  * davijoined
07:34:49  * daviquit (Ping timeout: 260 seconds)
07:37:03  <trungl-bot>Tree opened by machenbach@chromium.org: open
07:42:06  <trungl-bot>Tree closed by buildbot@chromium.org: Tree is closed (Automatic: "Check" on http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/7618 "V8 Linux - nosnap - debug" from 33452e7a052b98481118a26d0d8225591509ed79: machenbach@chromium.org)
08:16:22  <trungl-bot>Tree opened by bmeurer@google.com: Tree is open (Automatic: សំណាងល្អ )
09:05:41  <trungl-bot>Tree closed by buildbot@chromium.org: Tree is closed (Automatic: "Check" on http://build.chromium.org/p/client.v8/builders/V8%20Mac%20-%20debug/builds/8023 "V8 Mac - debug" from 74e328efee7995aeee6d568f9d14f9bbc1087100: mstarzinger@chromium.org)
09:25:49  <trungl-bot>Tree opened by mstarzinger@google.com: Tree is open (full steam ahead)
09:27:50  <trungl-bot>Tree closed by buildbot@chromium.org: Tree is closed (Automatic: "Bisect 74e328ef.Retry,Mjsunit" on http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/6961 "V8 Mac GC Stress" from 9a9ffd1370dbf91c7f56c0b556a89fb5701c2201: epertoso@chromium.org,neis@chromium.org,zhengxing.li@intel.com)
09:33:31  * sin8h1joined
09:35:54  <trungl-bot>Tree opened by mstarzinger@google.com: Tree is open (full steam ahead)
09:36:09  * sin8hquit (Ping timeout: 260 seconds)
09:36:09  * sin8h1changed nick to sin8h
09:59:05  * davijoined
09:59:05  * daviquit (Changing host)
09:59:05  * davijoined
10:06:29  * daviquit (Ping timeout: 260 seconds)
10:31:01  * davijoined
10:31:01  * daviquit (Changing host)
10:31:01  * davijoined
10:36:33  * daviquit (Ping timeout: 240 seconds)
11:24:11  * sin8hquit (Quit: sin8h)
11:24:28  * sin8hjoined
11:28:50  * sin8hquit (Ping timeout: 258 seconds)
11:29:28  * davijoined
11:29:47  * sin8hjoined
11:36:54  * daviquit (Ping timeout: 260 seconds)
11:53:09  * sin8h1joined
11:55:12  * sin8hquit (Ping timeout: 260 seconds)
11:55:12  * sin8h1changed nick to sin8h
12:01:31  * sin8hquit (Ping timeout: 244 seconds)
12:10:44  * sin8hjoined
12:14:51  * sin8hquit (Ping timeout: 240 seconds)
12:19:32  * sin8hjoined
12:19:55  * sin8hquit (Client Quit)
12:21:54  * sin8hjoined
12:27:03  * sin8hquit (Ping timeout: 276 seconds)
12:31:13  <trungl-bot>Tree closed by buildbot@chromium.org: Tree is closed (Automatic: "Check" on http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/7626 "V8 Linux - nosnap - debug" from 3c60c6b105f39344f93a8407f41534e5e60cf19a: bgeron@google.com,bmeurer@chromium.org,jgruber@chromium.org,mlippautz@chromium.org,titzer@chromium.org)
12:38:16  <trungl-bot>Tree opened by bmeurer@google.com: Tree is open (reverted)
13:06:10  * bradleymeckjoined
13:20:57  * unixpicklejoined
13:22:42  * bobmcwjoined
13:28:10  * jugglinmikejoined
13:29:38  <trungl-bot>Tree closed by buildbot@chromium.org: Tree is closed (Automatic: "Check,Bisect 3c60c6b1.Retry" on http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/7627 "V8 Linux - nosnap - debug" from 447485841249b8d8e372e4aecea68731cf0a8e89: ahaas@chromium.org,bbudge@chromium.org,bmeurer@chromium.org,machenbach@chromium.org,mlippautz@chromium.org,titzer@chromium.org,yangguo@chromium.org)
13:30:13  * bobmcwquit (Read error: Connection reset by peer)
13:30:45  * bobmcwjoined
13:37:34  * sin8hjoined
13:39:04  * unixpicklequit (Quit: My Mac has gone to sleep. ZZZzzz…)
13:41:46  * davijoined
13:47:22  * sin8hquit (Quit: sin8h)
13:49:49  <trungl-bot>Tree opened by machenbach@chromium.org: open
13:52:27  * unixpicklejoined
14:08:35  * bobmcwquit (Read error: Connection reset by peer)
14:09:11  * hferreirojoined
14:16:54  * bobmcwjoined
14:20:02  <trungl-bot>Tree closed by buildbot@chromium.org: Tree is closed (Automatic: "gclient runhooks" on http://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/7949 "V8 Linux ASAN mipsel - debug builder" from 89c9fc73bec6a514d98b3d8884c44ffd6bf9c70c: bmeurer@chromium.org)
14:24:33  * daviquit (Ping timeout: 240 seconds)
14:26:04  <trungl-bot>Tree opened by buildbot@chromium.org: Tree is open (Automatic: (•_•) )
14:41:12  * bradleymeckquit (Quit: bradleymeck)
14:55:35  * plutoniixjoined
14:55:37  * plutoniixquit (Max SendQ exceeded)
14:56:04  * plutoniixjoined
14:56:46  * bobmcwquit (Read error: Connection reset by peer)
14:56:58  * bobmcwjoined
14:56:58  * bobmcwquit (Changing host)
14:56:58  * bobmcwjoined
15:04:15  * davijoined
15:11:31  * hferreiroquit (Quit: hferreiro)
15:12:18  * bobmcwquit (Ping timeout: 250 seconds)
15:15:42  * bobmcwjoined
15:16:26  * hferreirojoined
15:22:39  * bobmcwquit (Ping timeout: 264 seconds)
15:23:26  * bobmcwjoined
15:24:23  * bradleymeckjoined
15:29:36  * bobmcwquit (Read error: Connection reset by peer)
15:32:08  * sin8hjoined
15:33:18  * bobmcwjoined
15:37:54  * sin8hquit (Quit: sin8h)
15:40:45  * daviquit (Ping timeout: 276 seconds)
15:47:19  * bobmcwquit (Ping timeout: 244 seconds)
15:48:49  * davijoined
15:50:56  * bobmcwjoined
16:02:06  * seventhjoined
16:02:46  * RT|Chatzillaquit (Quit: ChatZilla 0.9.86.1 [Firefox 2.0.0.22pre/2010030309])
16:20:02  * daviquit (Ping timeout: 260 seconds)
16:20:59  <trungl-bot>Tree closed by buildbot@chromium.org: Tree is closed (Automatic: "compile" on http://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/7957 "V8 Linux ASAN mipsel - debug builder" from d5b89c28cf00f3a791d1a1f5eac05ad7066f60c9: yangguo@chromium.org)
16:22:56  * bobmcw_joined
16:23:30  * bobmcwquit (Read error: Connection reset by peer)
16:29:19  * bobmcwjoined
16:29:30  * bobmcw_quit (Read error: Connection reset by peer)
16:32:46  * bobmcwquit (Read error: Connection reset by peer)
16:32:49  * bobmcw_joined
16:34:30  * bobmcw_quit (Read error: Connection reset by peer)
16:34:39  * bobmcwjoined
16:40:56  * bobmcw_joined
16:42:18  * bobmcwquit (Ping timeout: 272 seconds)
16:47:19  * plutoniixquit (Quit: Leaving)
16:51:47  * bobmcw_quit (Read error: Connection reset by peer)
16:54:44  * bobmcwjoined
16:56:52  * plutoniixjoined
17:01:02  * bobmcwquit (Ping timeout: 244 seconds)
17:02:24  * bobmcwjoined
17:02:24  * bobmcwquit (Changing host)
17:02:24  * bobmcwjoined
17:05:43  * bobmcw_joined
17:05:49  * bobmcwquit (Read error: Connection reset by peer)
17:21:52  * bobmcw_quit (Ping timeout: 250 seconds)
17:22:20  * bobmcwjoined
17:23:37  * bobmcwquit (Read error: Connection reset by peer)
17:24:01  * bobmcwjoined
17:26:22  * bobmcwquit (Read error: Connection reset by peer)
17:26:29  * bobmcwjoined
17:28:14  * bobmcwquit (Read error: Connection reset by peer)
17:28:38  * bobmcwjoined
17:36:36  <trungl-bot>Tree opened by adamk@chromium.org (:aklein): Tree is open (mips fix coming)
17:39:57  * bobmcwquit (Ping timeout: 244 seconds)
17:40:24  * bobmcwjoined
17:40:24  * bobmcwquit (Changing host)
17:40:24  * bobmcwjoined
17:43:13  * plutoniixquit (Read error: Connection reset by peer)
17:46:39  * bobmcwquit (Ping timeout: 244 seconds)
17:46:54  * bobmcwjoined
17:50:20  * bobmcw_joined
17:51:08  * bobmcwquit (Read error: Connection reset by peer)
17:54:52  * bobmcwjoined
17:54:52  * bobmcwquit (Changing host)
17:54:52  * bobmcwjoined
17:55:03  * bobmcw_quit (Read error: Connection reset by peer)
17:57:58  * bobmcwquit (Read error: Connection reset by peer)
17:58:09  * bobmcwjoined
18:04:00  * bobmcwquit (Ping timeout: 272 seconds)
18:04:27  * bobmcwjoined
18:08:50  * bobmcwquit (Read error: Connection reset by peer)
18:10:13  * bobmcwjoined
18:30:10  * hferreiroquit (Quit: hferreiro)
18:44:19  * targosjoined
18:44:40  * bobmcw_joined
18:45:00  * bobmcwquit (Read error: Connection reset by peer)
18:47:28  * bradleymeckquit (Quit: bradleymeck)
18:50:26  * bobmcw_quit (Ping timeout: 258 seconds)
18:50:53  * bobmcwjoined
18:53:14  <trungl-bot>Tree opened by machenbach@chromium.org: open
18:55:07  * bobmcw_joined
18:55:43  * bobmcwquit (Read error: Connection reset by peer)
18:59:19  * bobmcw_changed nick to bobmcw
18:59:20  * bobmcwquit (Changing host)
18:59:20  * bobmcwjoined
19:02:28  * ncthom91joined
19:05:40  * bobmcwquit (Ping timeout: 252 seconds)
19:07:54  * bobmcwjoined
19:10:16  * unixpicklequit (Quit: My Mac has gone to sleep. ZZZzzz…)
19:23:01  * bobmcwquit (Read error: Connection reset by peer)
19:23:10  * bobmcwjoined
19:26:59  * bobmcw_joined
19:28:05  * bobmcwquit (Read error: Connection reset by peer)
19:29:41  * bobmcw_quit (Read error: Connection reset by peer)
19:30:02  * bobmcwjoined
19:32:09  * bradleymeckjoined
19:42:56  * unixpicklejoined
19:48:07  * xaxxonjoined
19:54:45  * bobmcwquit (Read error: Connection reset by peer)
19:58:38  * bobmcwjoined
20:12:26  * bobmcw_joined
20:12:27  * bobmcwquit (Read error: Connection reset by peer)
20:15:36  * bobmcw_quit (Read error: Connection reset by peer)
20:15:43  * bobmcwjoined
20:17:18  * bobmcwquit (Read error: Connection reset by peer)
20:17:35  * bobmcwjoined
20:17:35  * bobmcwquit (Changing host)
20:17:35  * bobmcwjoined
20:43:40  * AndreasMadsenjoined
20:44:30  * Garbeequit (Quit: Connection closed for inactivity)
20:48:46  <aklein>caitp: re: this stack overflow stuff, I'd like to understand why this is only coming up for async
20:48:56  <caitp>because async has those DCHECKs
20:49:10  <caitp>which are probably fine to remove, I found them useful
20:49:22  <caitp>but, at this point, they're sort of extra
20:50:13  <caitp>there are other cases where it could come up though, it's just easiest to reproduce with async because the DCHECKs are one of the first things that happens
20:50:30  <caitp>the parser is riddled with things like that (that don't affect production code at all)
20:50:46  <caitp>every call to Consume(), for example
20:51:08  <caitp>Consume() + stack overflow === DCHECK failure
20:51:29  * targosquit (Quit: Textual IRC Client: www.textualapp.com)
20:51:39  <caitp>aklein: does that explain it?
20:52:12  <aklein>caitp: yes
20:52:48  <caitp>I'd be perfectly happy just to remove the DCHECKs, since it doesn't affect production code or anything
20:53:46  <aklein>seems like Consume is just busted
20:54:14  <caitp>I think the thing to do is check for stack overflows in a more meaningful way
20:54:23  <aklein>littledan__: in case you want to discuss in real-time
20:54:36  <caitp>like, doing it at the start of non-inlined Parser methods, rather than checking it during every Next() / Peek
20:55:08  <aklein>doing it at Next() seems like it's passed down from "initial checkin"
20:55:17  <littledan__>I'm not sure what the best way to handle all of this is. It's unfortunate that you can recover from stack overflow in a way that puts your stack in this precarious state
20:55:55  <littledan__>if you're overflowing, you should really stop doing everything. But in that test case, even if you throw again, you'll only get yourself back a little bit of space
20:56:19  <littledan__>so I'm wondering if crashing the tab is the right way to go here
20:56:30  <littledan__>maybe not for all stack overflows, but when stuff like this ends up happening
20:56:55  <caitp>I mean, Isolate could probably track the number of StackOverflow calls when the isolate is entered
20:57:08  <caitp>and crash for real after a finite number of them
20:58:06  * AndreasMadsenquit
20:58:40  <caitp>which would give you the exception in the common case, and a crash in cases where it keeps recursing after catching the exception, I guess
20:59:13  <aklein>kinda want to punt this to jochen@, because security :)
20:59:48  <caitp>maybe something like uncatchable exception?
21:00:28  * ncthom91quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:01:08  <aklein>so actually most uses of Consume aren't bogus
21:01:23  <aklein>because they're of the form peek() == Token::SOMETHING && Consume(Token::SOMETHING)
21:01:51  <aklein>bbiab
21:01:54  * bobmcwquit (Read error: Connection reset by peer)
21:02:06  <caitp>yeah, that's true
21:03:30  * bobmcwjoined
21:03:42  * bobmcwquit (Remote host closed the connection)
21:08:22  <caitp>well, once again, the simplest fix is to just remove those DCHECKs and just use tests to ensure that the syntax is correct
21:08:51  <caitp>or just add those extra bits to keep the DCHECKs passing, and still verify that the syntax is correct even for lazy parsing
21:09:31  <caitp>I don't think there's a one line fix though, because aborting early has just made the problem crop up again later on in this recursive test
21:09:58  * unixpicklequit (Quit: My Mac has gone to sleep. ZZZzzz…)
21:13:58  * unixpicklejoined
21:52:32  * seventhquit (Remote host closed the connection)
22:08:04  * ncthom91joined
22:08:46  * ncthom91quit (Client Quit)
22:24:50  * RT|Chatzillajoined
23:01:12  <littledan__>if we can't handle it by failing the parse cleanly, I think we should crash the tab
23:22:44  * unixpicklequit (Quit: My Mac has gone to sleep. ZZZzzz…)
23:28:12  * unixpicklejoined
23:30:42  * bradleymeckquit (Quit: bradleymeck)