00:00:53  * bradleymeckjoined
00:04:56  <jwolfe>i'm stepping through a CreateDynamicFunction call in v8, and it looks like Parser::DoParseProgram() determined that the ParsingModeScope was lazy, even though this is all being done by a real Parser, not a PreParser. I thought PreParser and lazy parser were synonymous. Can someone explain this to me?
00:07:48  * bradleymeckquit (Read error: Connection reset by peer)
00:08:42  * plutoniixquit (Quit: Leaving)
00:14:50  * bradleymeckjoined
00:45:11  <aklein>jwolfe: I can explain at a high level
00:45:20  <aklein>outside of tests, we never use the PreParser by itself
00:45:50  <aklein>rather, when the Parser hits a function, it decides whether it's going to continue using itself to fully parse that function
00:46:01  <aklein>or ask the PreParser to do so
00:46:41  <aklein>for example, in the program "print('x'); function f() { print('y') }", the parser will parse the first print statement
00:47:06  <aklein>then call into the PreParser to skip over the body of `f`
00:47:30  <aklein>PARSE_LAZILY, for ParsingModeScope, means "fire up the PreParser to skip the next function"
00:47:47  <aklein>whereas PARSE_EAGERLY means "keep parsing eagerly"
00:48:17  <aklein>as for the fact that we set PARSE_LAZILY at the top of DoParseProgram
00:49:48  <aklein>that's just so that later calls to parse_lazily() will be used
00:50:08  <aklein>instead of asking for the allow_lazy_ bit (which is set only at the top level)
00:50:24  <aklein>I believe this is required to support lazy parsing of inner function
00:50:25  <aklein>+s
00:50:30  <aklein>which is still experimental
00:50:57  <aklein>currently only functions whose outer scope is the global scope are eligible for PreParsing
00:51:15  <aklein>(marja is working on allowing inner functions to work)
00:51:23  <aklein>jwolfe: so that's a nice wall of text :)
00:53:25  <jwolfe>aklein, thanks! that answers my question.
00:56:07  <aklein>actually I think I could have answered that more simply if I'd understood ParsingModeScope (which is pretty new) up front
00:56:10  <aklein>glad to hear it
00:56:15  <aklein>and happy new year
00:56:27  <aklein>I had a question for you, actually: should we ship trailing commas?
01:05:27  * Guest59quit (Quit: My Mac has gone to sleep. ZZZzzz…)
01:13:52  * JoWiequit (*.net *.split)
01:13:52  * scottmgquit (*.net *.split)
01:13:52  * mikolalysenkoquit (*.net *.split)
01:13:52  * dagobert__quit (*.net *.split)
01:13:54  * luite_quit (*.net *.split)
01:13:54  * utkarshquit (*.net *.split)
01:14:01  * sofquit (*.net *.split)
01:14:01  * Garbeequit (*.net *.split)
01:14:02  * Super-Humanquit (*.net *.split)
01:14:02  * akleinquit (*.net *.split)
01:14:02  * Vbitzquit (*.net *.split)
01:14:03  * Guest10574quit (*.net *.split)
01:14:03  * Kronuzquit (*.net *.split)
01:14:03  * luitejoined
01:14:14  * s1wjoined
01:14:27  * Vbitz_joined
01:14:59  * utkarshjoined
01:15:16  * Kronuzjoined
01:17:48  * Guest59joined
01:20:01  * dagobert__joined
01:23:46  * scottmgjoined
01:24:28  * mikolalysenkojoined
01:25:14  * JoWiejoined
01:25:53  * Garbeejoined
01:27:09  * sofjoined
01:28:32  * bradleymeckquit (Quit: bradleymeck)
01:28:40  * Guest59quit (Quit: My Mac has gone to sleep. ZZZzzz…)
01:36:50  * Vbitz_quit (Quit: ZNC - http://znc.in)
01:37:37  * Vbitzjoined
01:37:40  * akleinjoined
01:40:53  * bradleymeckjoined
01:44:21  * Super-Humanjoined
02:12:36  * bradleymeckquit (Quit: bradleymeck)
02:14:41  * plutoniixjoined
02:14:50  * plutoniixquit (Max SendQ exceeded)
02:15:44  * plutoniixjoined
03:42:45  * plutoniixquit (Ping timeout: 248 seconds)
03:49:06  * plutoniixjoined
05:01:39  * AKPWDquit (Read error: Connection reset by peer)
05:20:49  * AKPWDjoined
05:32:53  * plutoniixquit (Ping timeout: 255 seconds)
06:00:29  * plutoniixjoined
08:23:32  * Kronuzquit (Ping timeout: 245 seconds)
08:25:57  * platicusquit (Ping timeout: 248 seconds)
08:26:00  * Gettyquit (Quit: changing servers)
08:28:20  * Gettyjoined
08:28:58  * Kronuzjoined
08:31:30  * Tweth-U-PDSquit (*.net *.split)
08:31:30  * wycatsquit (*.net *.split)
08:31:31  * decoder_quit (*.net *.split)
08:31:31  * saurikquit (*.net *.split)
08:31:32  * arvquit (*.net *.split)
08:31:32  * littledan__quit (*.net *.split)
08:31:32  * sparrquit (*.net *.split)
08:31:32  * s1341quit (*.net *.split)
08:31:33  * Net147quit (*.net *.split)
08:31:33  * caitpquit (*.net *.split)
08:31:33  * dherman_quit (*.net *.split)
08:31:33  * mathiasbynensquit (*.net *.split)
08:31:34  * rosseauxquit (*.net *.split)
08:31:34  * ebarrettquit (*.net *.split)
08:31:34  * jwolfequit (*.net *.split)
08:31:34  * jochen__quit (*.net *.split)
08:31:34  * dobsonquit (*.net *.split)
08:31:37  * wadeyquit (*.net *.split)
08:31:37  * stalledquit (*.net *.split)
08:31:37  * kenansulaymanquit (*.net *.split)
08:31:39  * ec\quit (*.net *.split)
08:34:46  * JoWiequit (Ping timeout: 258 seconds)
08:37:36  * arvjoined
08:37:36  * littledan__joined
08:37:36  * sparrjoined
08:37:36  * s1341joined
08:37:36  * wycatsjoined
08:37:36  * Tweth-U-PDSjoined
08:37:36  * stalledjoined
08:37:36  * Net147joined
08:37:36  * kenansulaymanjoined
08:37:36  * decoder_joined
08:37:36  * saurikjoined
08:37:36  * dobsonjoined
08:37:36  * caitpjoined
08:37:36  * dherman_joined
08:37:36  * mathiasbynensjoined
08:37:36  * wadeyjoined
08:37:36  * rosseauxjoined
08:37:36  * ebarrettjoined
08:37:36  * jwolfejoined
08:37:36  * jochen__joined
08:37:36  * ec\joined
08:37:54  * ec\quit (Max SendQ exceeded)
08:38:25  * ec\joined
08:39:03  * platicusjoined
08:40:37  * Garbeequit (Ping timeout: 245 seconds)
08:41:17  * dherman_quit (Ping timeout: 260 seconds)
08:45:31  * JoWiejoined
08:50:47  * Garbeejoined
08:53:33  * dherman_joined
11:06:06  * plutoniixquit (Quit: Leaving)
13:26:12  * bradleymeckjoined
13:32:13  * bradleymeckquit (Quit: bradleymeck)
13:58:28  * bradleymeckjoined
14:06:07  * bradleymeckquit (Quit: bradleymeck)
14:24:09  * bradleymeckjoined
14:51:51  * bradleymeckquit (Quit: bradleymeck)
15:44:19  * bradleymeckjoined
16:09:59  * bradleymeckquit (Quit: bradleymeck)
16:26:21  * bradleymeckjoined
16:37:42  * seventhquit (Ping timeout: 245 seconds)
17:06:17  * bradleymeckquit (Quit: bradleymeck)
17:28:02  * RT|Chatzillaquit (Quit: ChatZilla 0.9.86.1 [Firefox 2.0.0.22pre/2010030309])
17:39:20  * bradleymeckjoined
18:01:37  * bradleymeckquit (Quit: bradleymeck)
19:22:28  * Tweth-U-PDSquit (*.net *.split)
19:22:55  * Tweth-U-PDSjoined
19:37:01  <jwolfe>aklein, yes? I don't see a reason not to
19:37:26  <jwolfe>The staging commit was landed on Nov 11.
19:39:50  <aklein>jwolfe: care to send a little intent-to-ship to v8-users@ and bcc blink-dev@?
19:40:13  <jwolfe>aklein, alright. it's time to learn how to do that.
19:42:27  <aklein>good practice for Function.prototype.toString (which is a rather more extensive change to web-exposed behavior)
19:42:40  <jwolfe>aklein, right
19:43:19  <jwolfe>it looks like there's a form somewhere that people use to create an intent to ship
19:44:33  <jwolfe>or maybe not. i think i need to read the rules for writing an intent to ship.
19:46:25  <jwolfe>this is the best i found: https://github.com/v8/v8/wiki/Feature%20Launch%20Process#turning-the-flag-on---shipping-feature-to-the-open-web which doesn't say how to write an intent to ship.
19:48:59  <aklein>jwolfe: hmm, interesting :)
19:49:44  <aklein>I agree...seems like we accidentally have team norms here without anything written down
19:50:18  <jwolfe>https://www.chromium.org/developers/new-features
19:50:31  <jwolfe>that looks like intent to implement
19:51:35  <aklein>jwolfe: http://www.chromium.org/blink/launching-features is sorta what we've been basing "intent to ship" on
19:52:10  <aklein>https://groups.google.com/forum/#!topic/v8-users/gwpcEIrgIZY is a recent example from littledan
19:53:56  <aklein>jwolfe: I mean to work with hablich on modernizing that page on the v8 wiki
19:54:15  <aklein>it's from another era of JS and V8 language development (pre-ES6, pre-staging-process)
19:59:13  <aklein>the general idea of the message is just to let a broader group in the Chromium community know what's happening
19:59:26  <jwolfe>aklein, alright, so if i were to mimic the linked example, i would not be able to fill in the Link to "Intent to Implement" v8-users discussion. the blink/launch-features link above mentions that intent to implement can be combined with intent to ship. does that mean the link to the intent to implement is optional?
20:02:13  <aklein>jwolfe: yeah, you should just remove irrelevant parts of the template. or alternative you could do what caitp does and write this free-form
20:02:36  <aklein>see, eg, her getOwnPropertyDescriptors email
20:05:33  <jwolfe>i don't know what email you're talking about. https://groups.google.com/forum/#!searchin/v8-dev/getownpropertydescriptor$20caitp%7Csort:relevance
20:14:46  * bradleymeckjoined
20:17:48  * Guest59joined
20:22:00  <jwolfe>oh, i should be looking in v8-users, not v8-dev
20:22:58  * Guest59quit (Quit: My Mac has gone to sleep. ZZZzzz…)
20:44:00  * Guest59joined
21:47:17  <jwolfe>so, trailing commas has no entry here: https://www.chromestatus.com/features should it?
21:50:02  <jwolfe>it looks like should. and i doubt i have permissions to add one.
21:51:50  <jwolfe>aklein, i believe i cannot write an intent to ship without an entry in chromestatus for trailing commas.
21:53:51  <aklein>jwolfe: oops, I'll add one
21:54:00  <jwolfe>aklein, ok thanks.
21:59:36  <aklein>jwolfe: https://www.chromestatus.com/feature/5656834660630528
22:00:09  <jwolfe>does OWP stand for Open Web Platform?
22:00:32  <aklein>yeah
22:01:20  <jwolfe>aklein, thanks
22:03:45  <jwolfe>so the monorail bug links are described as OWP to emphasize them being open source and related to the OWP standards?
22:19:10  * Guest59quit (Quit: Textual IRC Client: www.textualapp.com)
22:20:13  <aklein>jwolfe: well we don't use the proper "OWP launch tracking bug" which actually refers to a particular template
22:20:24  <aklein>you can just shorten that to "tracking bug" in the email
22:20:52  <jwolfe>oh interesting
22:21:51  <aklein>there's waaaaay more process on the Blink side
22:22:11  <aklein>partly because the rest of the web platform is way more fragmented than the JS language
22:25:37  <jwolfe>aklein, here's my draft so far: http://paste.ubuntu.com/23754637/
22:26:00  <jwolfe>comparing this to other intent to ship examples, it seems like i should have more words in it.
22:33:04  <aklein>jwolfe: I only see one big thing missing, which is "Interoperability and Compatibility Risk"
22:33:22  <aklein>basically, how standard is this feature? what other implementations exist?
22:33:34  <aklein>https://sites.google.com/a/chromium.org/dev/blink?pli=1#TOC-Policy-for-shipping-and-removing-web-platform-API-features
22:33:45  <aklein>those bullet points are what that's asking about
22:34:17  <aklein>jwolfe: I could also imagine some motivation for why this feature's "good", but that can be tricky :)
22:35:56  <aklein>in this case, it's part of the draft ES2017 spec and implemented in Firefox, Edge, and Safari, so I'd think you're pretty well covered; you just need to say so
22:36:41  <aklein>the audience here is basically people who care about Chromium shipping an interoperable version of its web engine, and they may not know any details of individual features
22:36:50  * Guest59joined
22:39:13  * Guest59quit (Client Quit)
22:41:15  * Guest59joined
22:45:52  <caitp>in my experience, it's mostly only v8 owners that have commented on/looked at my intent mails
22:46:24  <aklein>caitp: I know more people read them
22:47:51  <aklein>so I appreciate that we write them
22:47:52  <caitp>I didn't mean to suggest nobody read them, just that lgtms and comments tend to come from people familiar with those particular features
22:48:03  <aklein>yes, true
22:48:11  <aklein>more so than on the blink side I guess
22:48:29  <aklein>where the people LGTMing are the blessed "API owners" who are often far from individual features
22:52:51  <jwolfe>isn't the interoperability and compatibility risk covered by this: https://www.chromestatus.com/feature/5656834660630528
23:33:31  <jwolfe>aklein, http://paste.ubuntu.com/23755027/
23:33:43  <jwolfe>i pretty much just copied information from the chromestatus feature
23:50:06  * nine_millijoined
23:50:17  <nine_milli>oh shit there is a v8 channel
23:52:56  * RT|Chatzillajoined
23:53:41  * bradleymeckquit (Quit: bradleymeck)
23:53:48  <aklein>jwolfe: the idea is that someone can get a high-level view without following links from the email
23:54:51  <aklein>jwolfe: the "web developers: no signals" doesn't really have anything to do with compatibility risk
23:56:56  <aklein>jwolfe: wouldn't hurt to read some of the recent blink-dev intent to ships if you're looking for further motivation (https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/intent$20to$20ship%7Csort:relevance)