00:22:37  * rendarquit (Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!)
00:28:45  * bnoordhuisjoined
00:33:06  * bnoordhuisquit (Ping timeout: 240 seconds)
00:39:09  * bradleymeckquit (Quit: bradleymeck)
00:52:20  * plutoniixjoined
01:06:15  * watildejoined
01:10:55  * watildequit (Ping timeout: 240 seconds)
01:17:46  * jgiquit (Quit: jgi)
01:22:21  * C-Manquit (Quit: Connection reset by beer)
01:39:43  * JoWiequit (Quit: Connection closed for inactivity)
02:07:14  * watildejoined
02:07:54  * ncthom91joined
02:11:26  * watildequit (Ping timeout: 240 seconds)
02:31:21  * bradleymeckjoined
03:08:29  * bradleymeckquit (Quit: bradleymeck)
03:11:06  * ncthom91quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:12:20  * ncthom91joined
03:23:40  * s1wquit (Ping timeout: 265 seconds)
03:26:14  * s1wjoined
03:26:38  * s1wchanged nick to Guest50070
03:33:59  * ncthom91quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:58:45  * ncthom91joined
04:02:55  * ncthom91quit (Ping timeout: 240 seconds)
04:08:36  * watildejoined
04:13:30  * watildequit (Ping timeout: 255 seconds)
05:31:04  * jgijoined
05:52:59  * jgiquit (Quit: jgi)
05:53:22  * jgijoined
06:06:30  * jgiquit (Quit: jgi)
06:07:33  * plutoniixquit (Quit: จรลี จรลา)
06:10:45  * watildejoined
06:12:35  * plutoniixjoined
06:15:44  * watildequit (Ping timeout: 265 seconds)
08:12:48  * watildejoined
08:17:15  * watildequit (Ping timeout: 260 seconds)
08:35:52  * bnoordhuisjoined
08:43:24  * rendarjoined
08:55:08  * watildejoined
09:27:21  * watildequit (Remote host closed the connection)
09:30:14  * guorjoined
10:13:55  * esasquit (Ping timeout: 260 seconds)
10:40:55  * plutoniixquit (Quit: จรลี จรลา)
11:11:49  * xaxxonjoined
11:12:58  <xaxxon>when you create a v8::External with a pointer so some data.. who's responsible for what memory? does the external copy it? does the caller have to make sure the data stick around as long as the external may want it? How does this work in relation to passing in data to a functiontemplate?
11:14:26  <xaxxon>is external basically just a holder for a dumb pointer?
11:14:41  <xaxxon>or does it .. make copies of stuff and other "smart" things?
11:30:47  * bnoordhuisquit (Ping timeout: 260 seconds)
11:59:33  <jochen__>it's a container for a dumb pointer
12:33:35  * bnoordhuisjoined
13:03:40  * bnoordhuisquit (Ping timeout: 265 seconds)
13:45:23  * bradleymeckjoined
14:10:08  * bnoordhuisjoined
14:14:19  * bnoordhuisquit (Ping timeout: 245 seconds)
14:39:01  * bradleymeckquit (Quit: bradleymeck)
14:56:38  * bradleymeckjoined
15:15:28  * bnoordhuisjoined
15:49:01  * C-Manjoined
16:11:10  * ofrobotsjoined
16:12:02  <dherman>is Object#Get(Local<Context>, uint32_t) not supposed to be used for the indexed properties of an array?
16:19:58  <bnoordhuis>dherman: it is (for indexed properties, i mean)
16:20:18  <dherman>bnoordhuis: ok. I'm trying to debug a mysterious segfault
16:20:56  <dherman>I have an array of length 1, obj->IsArray() confirms it is an array, and Nan::Get(cx, 0) / obj->Get(cx, 0) repeatably crash
16:21:22  <bnoordhuis>dherman: are you testing a release build?
16:21:38  <bnoordhuis>a debug build will usually give a useful error message
16:21:54  <bnoordhuis>bonus points if you build with extrachecks=on
16:22:04  <dherman>how hard is it to build a debug build of node?
16:22:23  <bnoordhuis>not hard. `make -j8 -C out BUILDTYPE=Debug`
16:22:26  <dherman>bonus points if I can get a debug build of node 4 :)
16:23:05  <bnoordhuis>just check out the right branch and run configure first
16:24:34  * RT|Chatzillaquit (Quit: ChatZilla 0.9.86.1 [Firefox 2.0.0.22pre/2009081014])
16:33:42  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
16:41:28  <dherman>bnoordhuis: so when the debug build doesn't segfault and silently succeeds, that's when it's time to start drinking, right?
16:45:12  <bnoordhuis>dherman: either that or whip out valgrind :)
16:45:33  <dherman>hm yes, maybe it's time I learned valgrind
16:45:37  <bnoordhuis>dherman: does a release build from the same commit work?
16:45:45  <dherman>good question
16:46:13  <dherman>BUILDTYPE=Release ?
16:47:12  <bnoordhuis>dherman: yes
16:49:14  * plutoniixjoined
16:55:51  <dherman>ok yeah the release build crashes
16:59:22  * ofrobotsjoined
17:05:55  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
17:07:31  * ofrobotsjoined
17:13:47  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
17:16:00  * ofrobotsjoined
17:22:17  * jgijoined
17:29:42  * mostynbjoined
17:41:53  <bradleymeck>is tthere a good way to discuss API proposals we need in v8 for https://github.com/nodejs/node-eps/pull/3 ? just talk to people who are doing the Module work in v8's issue tracker? or is there a place to submit API requests more formally
17:45:10  <dherman>bradleymeck: I assume you're talking about v8 APIs you need, not Loader/ECMAScript APIs, right?
17:45:22  <bradleymeck>yes
17:45:31  <dherman>kk, just checking. afaik aklein is the droid you're looking for, but you probably knew that
17:45:52  <bradleymeck>ECMAScript standard sets up abstract ops but we need more concrete things for interop
17:46:25  * dhermannods
17:58:59  * bnoordhuisquit (Ping timeout: 264 seconds)
18:01:28  * davijoined
18:01:28  * daviquit (Changing host)
18:01:28  * davijoined
18:09:55  * bnoordhuisjoined
18:33:54  * dagobert______quit (Ping timeout: 255 seconds)
18:34:50  * mathiasbynensquit (Ping timeout: 255 seconds)
18:35:45  * wycatsquit (Ping timeout: 255 seconds)
18:35:45  * dhermanquit (Ping timeout: 255 seconds)
18:36:24  * dagobert______joined
18:37:15  * wycatsjoined
18:38:27  * mathiasbynensjoined
18:39:16  * dhermanjoined
19:19:14  * bradleymeckquit (Quit: bradleymeck)
19:19:34  * jgiquit (Quit: jgi)
19:19:55  * C-Manquit (Quit: Connection reset by beer)
19:20:54  * C-Manjoined
19:26:19  * jugglinmikejoined
19:27:16  <jugglinmike>I'm making changes to preparser.cc, but they don't seem to be reflected through `d8` after I run `make`
19:27:32  <jugglinmike>I shouldn't say that
19:28:03  <jugglinmike>To be more specific
19:28:15  <jugglinmike>I'm making a change to preparsing that I *know* will break thngs
19:28:16  <jugglinmike>things*
19:28:51  <jugglinmike>when I run `d8 foo.js`, I don't see any errors, expected or otherwise
19:29:19  <jugglinmike>when I run `d8 -e "for(x of []) {}", I also don't see any errors
19:29:36  <jugglinmike>but when I run `d8` without any command-line arguments, I see the kind of errors I am expecting
19:29:58  <jugglinmike>Is this related to how/when preparsing occurs?
19:30:34  <jugglinmike>Or maybe I am issuing the wrong build command. I've been running `make x64.release` between changes
19:31:38  <jugglinmike>I suppose I should try `make x64`. Running that now...
19:33:22  * bradleymeckjoined
19:33:36  * bradleymeckquit (Client Quit)
19:33:48  * jgijoined
19:44:39  * daviquit (Ping timeout: 250 seconds)
19:54:25  * bradleymeckjoined
19:55:09  * watildejoined
20:10:47  * watilde_joined
20:13:21  * watildequit (Ping timeout: 255 seconds)
20:16:30  * bnoordhuisquit (Ping timeout: 260 seconds)
20:28:37  * watildejoined
20:31:21  * watilde_quit (Ping timeout: 255 seconds)
20:38:26  * watilde_joined
20:39:15  * watildequit (Ping timeout: 260 seconds)
20:40:36  * watildejoined
20:44:23  * watilde_quit (Ping timeout: 255 seconds)
20:45:03  * watilde_joined
20:45:44  * rendarquit (Ping timeout: 255 seconds)
20:47:46  * watildequit (Ping timeout: 240 seconds)
20:51:55  * bnoordhuisjoined
20:52:02  * rendarjoined
20:56:11  * watilde_quit (Remote host closed the connection)
21:11:08  * watildejoined
21:14:50  <aklein>jugglinmike: triggering preparsing can be a bit tricky
21:15:15  <aklein>jugglinmike: I tend to do "d8 --min-preparse-length=0 -e 'function() { whatevershouldbreakgoeshere }'"
21:17:09  <jugglinmike>aklein: thanks!
21:17:28  <jugglinmike>aklein: though this raises a bigger question
21:18:05  <jugglinmike>If preparsing doesn't always occur, should I be modifying additional files?
21:18:47  * esasjoined
21:18:49  <aklein>jugglinmike: not sure what you're trying to do, but yeah, in general if you're modifying preparser.cc you'll have to touch parser.cc to mirror the changes (and vice-versa)
21:18:57  <aklein>most of expression parsing is unified in parser-base.h
21:21:15  <jugglinmike>aklein: hm, okay. I don't really know what I'm doing (could you guess?). For my basic workflow, would you recommend starting with one of the files?
21:23:03  <aklein>jugglinmike: I would start with parser-base.h and parser.cc
21:23:09  <jugglinmike>got it
21:23:10  <jugglinmike>thanks!
21:23:16  <aklein>I usually do preparsing as a second pass if necessary
21:23:21  <aklein>(when implementing something new)
21:23:37  <aklein>for the top level, we never pre-parse
21:23:47  <aklein>so d8 -e 'whatever' will always hit just Parser
21:24:16  <aklein>by way of slightly more explanation, the main thing the PreParser needs to get "right" is syntax errors
21:24:32  <aklein>it doesn't keep track of much more (it's designed to swiftly skip over function bodies during page load)
21:26:24  <jugglinmike>aklein: Is this distinction mjsunit tests run more than once?
21:31:16  <aklein>jugglinmike: sorry, is that question missing a word?
21:31:52  <aklein>in general the preparser is best-covered by cctest/test-parsing.cc
21:32:05  <aklein>which runs everything through both the parser and preparser and makes sure they agree
21:32:38  <aklein>then there's a smattering of regression tests that exercise the preparser, usually using --min-preparse-length but sometimes just by having a big-enough function body
21:37:00  <jugglinmike>aklein: it was missing a word. I was wondering if the test runner ran each mjsunit test file more than once--for the parser and preparser respectively
21:38:11  <aklein>jugglinmike: ah, yeah, the answer is no
21:43:29  <jugglinmike>roger that. Thanks!
21:46:19  * jgiquit (Quit: jgi)
21:48:37  * watildequit (Remote host closed the connection)
21:59:48  <jugglinmike>aklein: Can I flag you for a review?
22:00:27  <aklein>jugglinmike: sure (adamk@chromium.org, btw; adamk on freenode is someone else :)
22:00:39  <jugglinmike>got it!
22:00:44  <jugglinmike>and thank you
22:06:24  <jugglinmike>aklein: It's been a while; I just used `git cl upload`. Is there anything else I need to do?
22:09:05  <aklein>jugglinmike: nope, I got your email
22:10:26  * bnoordhuisquit (Ping timeout: 256 seconds)
22:17:04  * watildejoined
22:21:00  * ofrobotsquit (Ping timeout: 245 seconds)
22:22:38  * bradleymeckquit (Quit: bradleymeck)
22:24:44  * watildequit (Ping timeout: 255 seconds)
22:26:41  * plutoniixquit (Quit: จรลี จรลา)
22:27:25  * jgijoined
22:31:40  * RT|Chatzillajoined
23:16:48  * bnoordhuisjoined
23:21:31  * bnoordhuisquit (Ping timeout: 260 seconds)
23:22:57  <xaxxon>is the "--expose-gc" flag still valid and if so, how do I pass it to v8 on startup? I'm not seeing it on "platform" or "isolate" but maybe I'm missing it?
23:23:38  <xaxxon>I was expecting to see something that took argc/argv as parameters and returned versions with the v8 params stripped out
23:26:41  <xaxxon>hrmm: http://v8.paulfryzel.com/docs/master/classv8_1_1_v8.html#abcb10a34880aa738f00dc37f74113f69
23:33:58  * rendarquit (Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!)
23:34:45  <xaxxon>yeah, I found it. SetFlagsFromCommandLine/String
23:46:09  * jugglinmike1joined
23:46:30  * jugglinmikequit (Ping timeout: 265 seconds)