00:15:36  * C-Manquit (Quit: Connection reset by beer)
01:00:05  * watildejoined
01:05:41  * watildequit (Ping timeout: 246 seconds)
01:11:59  <dherman>arrrrrgh
01:12:23  <dherman>Nan::Global does not seem prepared for the idea that it might be instantiated with a v8::Data subclass other than v8::Value
01:12:30  <dherman>so pwned.
01:24:08  <dherman>ah, it looks like the v8::Global API has been pretty stable since node 4 so maybe I can get away with using the v8 API directly here
01:46:56  <ofrobots>xaxxon you might be running into this issue: https://github.com/nodejs/node/issues/4441
01:47:17  <xaxxon>I don't think so, but good to know
01:47:20  <ofrobots>this is fixed in V8 4.7.15+
01:47:27  <xaxxon>it's probably just me using the API wrong.. I'm on 4.9.0.0
01:48:00  <xaxxon>I would pay so much for a good book on v8 :(
01:48:20  <xaxxon>or just 75% complete doxygen docs
01:48:21  <ofrobots>Do you have a reduced test-case? This could be a V8 bug
01:48:33  <xaxxon>I'm working on that now
01:49:10  <ofrobots>If you can share the part of the stack trace (the JS stack trace bit) that would be useful too
01:49:10  <xaxxon>It's popping up when I have a wrapped c++ object method that returns another wrapped c++ object.. so it's probably me misusing persistants/globals or externals or something
01:49:21  <xaxxon>sure
01:50:21  <xaxxon>here's one I got: https://gist.github.com/xaxxon/5d404a7a8ff4b0ee3f6e
01:50:37  <xaxxon>infinite recursion but I can't repro it... I ran the same code again and got a diff error
01:51:39  <xaxxon>hrmm.. I can't repro the one where it prints out the stack trace anymore because Id on't have that code and the one I just put in gist blew out my 100,000 line scroll buffer
01:51:39  <ofrobots>yeah, this might be an issue in how you're connecting your objects together
01:52:08  <xaxxon>oh wait.. I do have it
01:52:34  <xaxxon>https://gist.github.com/xaxxon/4f998e1c6f06fa43367e
01:52:48  <xaxxon>it's weird.. this doesn't happen every run... sometimes it just segfaults "normal"
01:53:15  <xaxxon>get_world is my method that retrusn the second object
01:53:27  <xaxxon>game->get_world()->get_map()
01:54:53  <xaxxon>ofrobots, can you explain to me the difference between persistent and global? (and if uniquepersistent is a synonym for global)? I'm getting lots of different information between people in this channel and the "v8 embedder's guide" and maybe other sources
01:57:29  <ofrobots>I'm not the best person to be able to give the exact differentiation between those (I'm not on the V8 team), but my understanding is that Persistent is copyable. Global is not copyable.
01:59:37  <ofrobots>To get authoritative answers, you should email v8-dev or try to find the v8 developers in this channel at a time they might be online (central european time).
02:03:56  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
02:05:48  <xaxxon>ok
02:35:01  <xaxxon>anyone know if you can find out if there is a current context of some type? isolate/handle/context?
02:35:22  <xaxxon>I'd like to put in some of my own sanity checks .. basically asserting that a function is only called when the appropriate scopes exist
02:36:07  <xaxxon>as opposed to just having it crash and looking at the stack trace to try and figure out which context might be missing
03:02:50  * watildejoined
03:07:52  * watildequit (Ping timeout: 256 seconds)
03:20:49  <dherman>xaxxon: I think there's a GetCurrentContext method of something
03:21:53  <dherman>`v8::Isolate::GetCurrent()->GetCurrentContext()`
03:26:22  <xaxxon>dherman, that does exist, but I'm not sure it does what I'm asking. that's good for callbacks where you need to something with the context
03:26:49  <dherman>oh sorry
03:27:16  * dhermanlooks forward to getting to a point where he knows enough to actually help someone
03:27:21  <xaxxon>ha, me too
03:28:33  <xaxxon>what project are you working on, dherman ?
03:30:21  <xaxxon>I'm doing a couple things.. writing an easy-to-use c++ class wrapper for accessing methods and members and also trying to integrate v8 as a game engine scripting language
03:31:02  <xaxxon>wrapclass<MyClass>().add_method(&MyClass::my_method, "my_method").add_member(&MyClass::i, "i");
03:31:16  <dherman>Fun!
03:31:24  <dherman>I'm working on this: http://calculist.org/blog/2015/12/23/neon-node-rust/
03:32:11  <xaxxon>ah, node modules in rust. cool. not familiar with rust
03:32:18  <xaxxon>https://www.rust-lang.org/ but I see this
03:32:21  <dherman>It's super cool
03:32:32  <dherman>But I'm biased :)
03:32:38  <dherman>It was spearheaded by my group
03:34:14  <xaxxon>rust compilers down to native code?
03:34:26  <dherman>Yep it uses LLVM as the backend
03:34:50  <dherman>It's a full fledged C replacement
03:34:54  <dherman>Same perf model
03:35:02  <xaxxon>does llvm have a javascript backend? how does the sample on the rust home page work?
03:35:15  <dherman>Heh it runs on a server
03:35:20  <dherman>In a sandbox
03:35:22  <xaxxon>oh
03:35:26  <xaxxon>that's not nearly as exciting
03:35:40  <dherman>There actually is a JS backend in the works
03:35:44  <dherman>Using asm.js
03:35:47  <xaxxon>yeah
03:36:18  <dherman>Only things holding it up are boring details
03:36:27  <dherman>Gtg, bedtime story time for the 3yo
03:52:16  * jgiquit (Quit: jgi)
04:06:39  * ofrobotsjoined
04:10:46  * ofrobotsquit (Ping timeout: 240 seconds)
04:32:11  * ofrobotsjoined
05:10:00  * watildejoined
05:14:50  * watildequit (Ping timeout: 260 seconds)
05:20:30  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
05:20:48  * xaxxonquit (Quit: This computer has gone to sleep)
05:22:04  * xaxxonjoined
06:43:48  <dherman>does FunctionTemplate#Inherit just set up a prototype inheritance relationship, or does it do something with the branding and/or constructors as well?
06:55:45  * xaxxonquit (Quit: This computer has gone to sleep)
06:59:23  <caitp>it seems to have an impact on [[HasInstance]], but mostly it sets up blueprints for a prototype inheritance, looks like
06:59:46  <caitp>well no, not [[HasInstance]], exactly
07:00:48  <dherman>caitp: yeah I guess the biggest question would be, does it cause HasInstance to return true for testing instances against superclasses
07:01:08  <dherman>I can theoretically test this at some point
07:01:30  <caitp>it looks like it should
07:01:42  <caitp>so long as the prototype chain isn't changed
07:01:51  <dherman>wait what
07:01:58  <dherman>HasInstance is just implementing instanceof??
07:02:03  <dherman>I assumed it was checking an internal brand
07:02:14  <dherman>fuuu
07:02:30  <dherman>pardon my almost-french
07:02:39  * dhermanshould watch his mouth
07:07:55  * xiinotulpjoined
07:08:44  <dherman>oh well maybe this kind of is branding + inheritance
07:10:08  <dherman>caitp: am I right in understanding that HasInstance calls into https://github.com/v8/v8/blob/master/src/objects.cc#L988-L1010 ?
07:11:01  <dherman>IIUC I was wrong to panic -- the template is serving as a unique unforgeable brand
07:11:18  <caitp>by HasInstance I meant the spec operation, but the api for it does that yeah
07:11:26  * plutoniixquit (Ping timeout: 265 seconds)
07:11:38  * watildejoined
07:12:34  <dherman>oh ha I need to study up on es6, this really is pretty close to the spec
07:12:41  <dherman>http://www.ecma-international.org/ecma-262/6.0/index.html#sec-ordinaryhasinstance
07:13:12  * davijoined
07:14:27  * xiinotulpchanged nick to plutoniix
07:16:23  * watildequit (Ping timeout: 264 seconds)
07:19:42  * ofrobotsjoined
07:25:47  * xaxxonjoined
07:31:15  * daviquit (Ping timeout: 240 seconds)
07:47:39  * bobmcwjoined
07:49:53  * watildejoined
07:52:22  * bobmcwquit (Ping timeout: 250 seconds)
08:13:41  * watildequit (Remote host closed the connection)
08:24:56  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
08:51:47  * rendarjoined
08:55:45  * bnoordhuisjoined
09:01:35  <xaxxon>dherman, did you ever figure it out? does FunctionTemplate#Inherit just set up a prototype inheritance relationship, or does it do something with the branding and/or constructors as well?
09:11:30  * JoWiejoined
09:14:16  * watildejoined
09:19:07  * watildequit (Ping timeout: 260 seconds)
09:25:29  * esasquit (Ping timeout: 246 seconds)
10:03:09  * bnoordhuisquit (Ping timeout: 255 seconds)
10:17:52  <jochen__>dherman: what is nan::Persistent used for?
10:18:29  <jochen__>in any case, it should be easy to model the existing Persistent on top of Global
10:54:43  * xaxxon_joined
10:55:59  * xaxxonquit (Ping timeout: 245 seconds)
10:59:06  * xaxxon_quit (Ping timeout: 240 seconds)
11:00:41  * xaxxonjoined
11:04:14  * xaxxonquit (Read error: Connection reset by peer)
11:08:27  * xaxxonjoined
11:09:38  * bnoordhuisjoined
11:13:54  * davijoined
11:13:54  * daviquit (Changing host)
11:13:54  * davijoined
11:14:38  * bnoordhuisquit (Ping timeout: 256 seconds)
11:22:12  * bnoordhuisjoined
12:27:58  * daviquit (Ping timeout: 250 seconds)
12:38:21  * davijoined
12:43:34  * daviquit (Ping timeout: 250 seconds)
12:56:55  * plutoniixquit (Quit: จรลี จรลา)
13:00:54  * plutoniixjoined
13:07:23  * bnoordhuisquit (Ping timeout: 246 seconds)
13:49:07  * petka____joined
13:52:48  * davijoined
13:52:48  * daviquit (Changing host)
13:52:48  * davijoined
14:04:11  * daviquit (Ping timeout: 250 seconds)
14:20:44  * bobmcwjoined
14:42:26  * bnoordhuisjoined
14:57:08  * C-Manjoined
15:09:15  * bnoordhuisquit (Ping timeout: 260 seconds)
15:40:46  <dherman>jochen__: I see, good to know, thx. At any rate Global worked for me
15:42:11  * ofrobotsjoined
16:00:08  <dherman>I'm using it to keep a long lived reference to a FunctionTemplate so I can do things like use HasInstance in my API
16:01:10  <dherman>xaxxon: it turns out to be pretty subtle. It builds an inheritance chain of *FunctionTemplate*s, which is mirrored by the prototype inheritance chain too. I haven't tested whether it makes the chain immutable.
16:01:46  <dherman>That is, Inherit does that, and HasInstance searches the FT chain
16:02:24  <dherman>At each link of the chain it's checking the FT identity so it really is a unique unforgeable brand
16:02:54  <dherman>So it's a combination of unforgeable brands and user-visible inheritance hierarchy
16:03:32  <dherman>But as I say I'm not sure if users can interfere with the hierarchy via mutating __proto__ (or the newer Object.setPrototypeOf API)
16:15:09  * bnoordhuisjoined
16:15:26  * ofrobotsquit (Ping timeout: 240 seconds)
16:19:30  * bnoordhuisquit (Ping timeout: 256 seconds)
16:24:23  * watildejoined
16:28:55  * watildequit (Ping timeout: 260 seconds)
16:35:31  * xaxxonquit (Quit: This computer has gone to sleep)
16:38:45  <trungl-bot`>Tree closed by machenbach@chromium.org: closed (maintenance)
16:44:46  <trungl-bot`>Tree opened by machenbach@chromium.org: open
16:50:11  * RT|Chatzillaquit (Quit: ChatZilla 0.9.86.1 [Firefox 2.0.0.22pre/2009081014])
16:51:31  * bnoordhuisjoined
16:55:39  * ofrobotsjoined
16:57:41  * rosseauxjoined
17:15:37  * jgijoined
17:25:02  * watildejoined
17:29:26  * watildequit (Ping timeout: 240 seconds)
17:44:17  * jgiquit (Quit: jgi)
17:48:08  * jgijoined
17:54:35  * davijoined
17:54:35  * daviquit (Changing host)
17:54:35  * davijoined
17:56:44  * xaxxonjoined
17:57:04  * xaxxonquit (Client Quit)
17:57:43  * jgiquit (Quit: jgi)
18:00:04  * bnoordhuisquit (Ping timeout: 265 seconds)
18:01:14  <trungl-bot`>Tree closed by machenbach@chromium.org: closed (maintenance)
18:07:22  * jgijoined
18:08:16  * watildejoined
18:11:19  <trungl-bot`>Tree opened by machenbach@chromium.org: open
18:17:26  * bnoordhuisjoined
18:36:20  * evanluca_joined
18:40:28  * petka____quit (Quit: Connection closed for inactivity)
18:41:30  * daviquit (Ping timeout: 250 seconds)
19:07:14  * bnoordhuisquit (Ping timeout: 276 seconds)
19:10:21  * ofrobotsquit (Ping timeout: 255 seconds)
19:32:03  * ofrobotsjoined
20:00:27  * jgiquit (Quit: jgi)
20:01:33  * jgijoined
20:02:40  * ofrobotsquit (Quit: Textual IRC Client: www.textualapp.com)
20:04:37  * watildequit (Remote host closed the connection)
20:06:05  * ofrobotsjoined
20:09:36  * watildejoined
20:11:49  * terinjokesquit (Quit: ZNC - http://znc.in)
20:12:35  * terinjokesjoined
20:13:04  * bnoordhuisjoined
20:17:39  * bnoordhuisquit (Ping timeout: 245 seconds)
20:27:51  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
20:29:42  * JoWiequit (Quit: Connection closed for inactivity)
20:54:35  * rendarquit (Ping timeout: 260 seconds)
20:56:52  * ofrobotsjoined
21:00:00  * stalledquit (Ping timeout: 256 seconds)
21:00:46  * rendarjoined
21:49:41  * jgiquit (Quit: jgi)
22:08:56  <trungl-bot`>Tree closed by buildbot@chromium.org: Tree is closed (Automatic: "compile" on http://build.chromium.org/p/client.v8.fyi/builders/Android%20Builder/builds/2012 "Android Builder" from 25532be593bd80c9e7b3fac4ee50491159902e93: adamk@chromium.org (:aklein),mbrandy@us.ibm.com)
22:10:57  <trungl-bot`>Tree opened by adamk@chromium.org (:aklein): Tree is open (bot flake?)
22:27:17  * ofrobotsquit (Quit: My Mac has gone to sleep. ZZZzzz…)
22:33:38  * jgijoined
22:42:56  * ofrobotsjoined
22:49:56  * ofrobotsquit (Ping timeout: 256 seconds)
22:51:02  * bobmcwquit (Remote host closed the connection)
23:46:18  * stalledjoined
23:51:26  * bobmcwjoined
23:51:26  * bobmcwquit (Changing host)
23:51:26  * bobmcwjoined
23:56:48  * bobmcwquit (Ping timeout: 256 seconds)