Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-02-07

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:06 colomon joined #moarvm
02:48 ilbot3 joined #moarvm
02:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:51 colomon joined #moarvm
06:04 harrow joined #moarvm
09:10 * FROGGS happily deletes a lot of jnthn's code
09:12 sivoais joined #moarvm
09:22 vendethiel joined #moarvm
09:38 woolfy joined #moarvm
09:38 woolfy left #moarvm
10:06 FROGGS jnthn: the segfault from yesterday can be turned off by doing:
10:06 FROGGS src/spesh/log.c:61 @@ void MVM_spesh_log_add_logging(MVMThreadContext *tc, MVMSpeshGraph *g, MVMint32
10:06 FROGGS -            case MVM_OP_getlexstatic_o:
10:06 FROGGS +            //~ case MVM_OP_getlexstatic_o:
10:06 FROGGS jnthn: does that make any sense to you?
10:07 FROGGS m: use Test; class Foo { method bar { } }; my $foo = Foo.new; my @a = <a b c d>; sub baz(|) { ok $foo.bar, "bar" }; for @a { for @a { baz @a } }
10:07 camelia rakudo-moar 7f2085: OUTPUT«(signal SEGV)not ok 1 - bar␤␤# Failed test 'bar'␤# at /tmp/9vhi17JrwM line 1␤not ok 2 - bar␤␤# Failed test 'bar'␤# at /tmp/9vhi17JrwM line 1␤not ok 3 - bar␤␤# Failed test 'bar'␤# at /tmp/9vhi17JrwM line 1␤not ok 4 - bar␤␤# Faile…»
10:07 FROGGS this one
10:11 FROGGS the funny thing is that the logging itself seems to trigger it
10:12 FROGGS commenting out the case MVM_OP_getlexstatic_o in optimize.c does not change anything
10:27 FROGGS I dunno how to continue from here :o(
11:08 jnthn FROGGS: Doesn't make much sense to me that logging would do it, no... :S
11:09 jnthn FROGGS: It's more likely something using the logged info is to blame
11:09 FROGGS hmmm
11:10 jnthn in facts.c there's a log_facts that incorporates the facts from the logs. Commenting the call to that will help test that hypothesis.
11:12 FROGGS do you mean I shall comment out this one?
11:12 FROGGS //~ if (po != MVM_OP_getlexstatic_o && po != MVM_OP_getlexperinvtype_o)
11:12 FROGGS //~ log_facts(tc, g, bb, ins);
11:13 jnthn Yes
11:13 FROGGS that does not change anything
11:13 jnthn Hmmm
11:14 FROGGS I commented out every mention of MVM_OP_getlexstatic_o, and only the one in log.c makes the error go away
11:16 jnthn o.O
11:16 jnthn That's really odd.
11:16 FROGGS aye
11:16 FROGGS that's my conclusion also :o9
11:16 FROGGS :o)
11:17 jnthn I want to continue on natives stuff at the moment
11:17 jnthn Is there an issue for this bug?
11:17 jnthn Looks like now
11:17 jnthn *not
11:18 * jnthn added one and linked the irc log from above
11:19 FROGGS jnthn++
11:32 tgt joined #moarvm
11:59 rurban__ joined #moarvm
12:00 dalek MoarVM/native-ref: eecd6ee | jnthn++ | src/ (3 files):
12:00 dalek MoarVM/native-ref: Implement native attribute reference taking ops.
12:00 dalek MoarVM/native-ref:
12:00 dalek MoarVM/native-ref: This is an initial, basic, implementation; we'll be able to make it a
12:00 dalek MoarVM/native-ref: bit more performant in a few ways later (without any outside API
12:00 dalek MoarVM/native-ref: changes, which is the key thing).
12:00 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/eecd6eeda7
12:08 colomon joined #moarvm
12:37 dalek MoarVM/native-ref: 77b0480 | jnthn++ | src/6model/reprs/NativeRef. (2 files):
12:37 dalek MoarVM/native-ref: Stub native reference read functions.
12:37 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/77b0480886
12:37 dalek MoarVM/native-ref: 8d142cd | jnthn++ | src/6model/containers.c:
12:37 dalek MoarVM/native-ref: Flesh out native ref container fetch functions.
12:37 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/8d142cdb88
12:37 dalek MoarVM/native-ref: 59ef11f | jnthn++ | src/6model/reprs/NativeRef.c:
12:37 dalek MoarVM/native-ref: Implement native ref reading.
12:37 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/59ef11fb93
12:54 dalek MoarVM/native-ref: ec64685 | jnthn++ | src/6model/reprs/NativeRef. (2 files):
12:54 dalek MoarVM/native-ref: Stub native reference write functions.
12:54 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/ec64685837
12:54 dalek MoarVM/native-ref: b759791 | jnthn++ | src/6model/containers.c:
12:54 dalek MoarVM/native-ref: Implement native ref container store functions.
12:54 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/b759791479
13:01 dalek MoarVM/native-ref: 407a85f | jnthn++ | src/6model/reprs/NativeRef.c:
13:01 dalek MoarVM/native-ref: Implement native ref attribute writing.
13:01 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/407a85fb15
14:09 tgt joined #moarvm
14:45 rurban__ joined #moarvm
14:46 lue joined #moarvm
14:50 [Coke] joined #moarvm
15:17 dalek MoarVM/native-ref: cebc244 | jnthn++ | src/ (3 files):
15:17 dalek MoarVM/native-ref: Implement ops for taking positional references.
15:17 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/cebc244778
15:17 dalek MoarVM/native-ref: 732696c | jnthn++ | src/6model/reprs/NativeRef.c:
15:17 dalek MoarVM/native-ref: Implement positional ref read/write.
15:17 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/732696c266
15:33 colomon joined #moarvm
16:05 harrow joined #moarvm
16:49 colomon joined #moarvm
17:13 jnthn lexrefs, y u no work...
17:23 jnthn Ah, they do, but the Rakudo optimizer doesn't know not to optimize lexicals out when I use the ref-taking by name op. Fair enough.
17:24 timotimo good catch. that means we will have $x++ ob native types work?
17:24 dalek MoarVM/native-ref: eb2e520 | jnthn++ | src/6model/reprs/NativeRef.c:
17:24 dalek MoarVM/native-ref: Native lexical ref read/write functions.
17:24 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/eb2e520141
17:24 dalek MoarVM/native-ref: ca82f8a | jnthn++ | src/ (3 files):
17:24 dalek MoarVM/native-ref: Stub native lexical ref taking ops.
17:24 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/ca82f8a556
17:24 dalek MoarVM/native-ref: ba84cf3 | jnthn++ | src/6model/reprs/NativeRef.c:
17:24 dalek MoarVM/native-ref: Implement native lexical reference by name ops.
17:24 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/ba84cf3388
17:24 jnthn timotimo: Well, I've several more steps to get us there.
17:24 jnthn timotimo: But yeah, hopefully by tomorrow we have that bit.
17:25 jnthn Already today got us rw accessors for native attrs and fixed the Buf assignability problem somewhat :)
17:39 timotimo \o/
17:39 timotimo i like to hear that
17:40 timotimo much closer to Struct-like classes now
18:30 FROGGS[mobile] joined #moarvm
19:14 colomon joined #moarvm
19:33 zakharyas joined #moarvm
19:35 colomon joined #moarvm
20:12 FROGGS[mobile]2 joined #moarvm
20:13 FROGGS jnthn++ # :o)
20:21 V_S_C joined #moarvm
20:40 timotimo jnthn: would you like to tell me about what stuff could be optimized with the native-ref branch in spesh? or perhaps tell about the "generate an accessor/... for me please, dear VM" thing
20:40 timotimo or perhaps you have a clever idea for how to compile BUILDPLAN and BUILDALLPLAN to actual code
20:42 timotimo is that all we were thinking of? buildplan, buildallplan and accessor methods?
20:48 jnthn Yeah. I was thinking of providing some compiler services API that can be used for this.
20:48 jnthn And it's only available if you're currently at compile time
20:49 timotimo who gets to decide? :D
20:49 jnthn Basically it'd mostly use code available in Perl6::Actions and Perl6::World
20:49 jnthn "The compiler" :)
20:49 jnthn I think we can do it with a contextual *if* we're careful.
20:50 timotimo how about composing stuff for classes with the MOP?
20:50 timotimo that's not at compile time …
20:51 jnthn Then we fall back to the existing approach
20:51 jnthn If you do your generation at BEGIN time, you get the fast stuff
20:51 timotimo OK :)
20:54 timotimo well, if my ADT module generates the classes when it gets use'd by something else, it's at run time during compile time
20:54 timotimo so it should be fine, i guess?
20:57 jnthn That's runtime of the module
20:57 jnthn Not sure if we can get away with that
20:57 timotimo hehe.
20:59 timotimo i wouldn't get BEGIN time inside the module multiple times if there's multiple different use lines, so that's not so awesome
21:18 sivoais joined #moarvm
22:04 FROGGS_ joined #moarvm
22:04 ChanServ joined #moarvm
22:46 FROGGS dalek: ?
22:47 FROGGS I lust committed: updating dyncall (still 0.9) and libuv (0.11.29 to 1.0.0)
22:47 FROGGS review: https://github.com/MoarVM/MoarVM/commit/79171dc094eb9e40c53691016668f034c787f254
22:48 FROGGS @all: please test... works perfectly on my linux box
22:48 d4l3k_ joined #moarvm
22:49 timotimo cool. any interesting features?
22:49 FROGGS and yes, libuv made their 1.0.0 release, so it is important for us to test it, since this will be packaged and we perhaps have to live with that for a while
22:49 timotimo or important bugfixes?
22:50 FROGGS read the top 139 lines here: https://github.com/joyent/libuv/blob/master/ChangeLog
22:50 FROGGS mostly (minor?) fixes and docs
22:51 FROGGS for dyncall it is just build system stuff I think: https://github.com/MoarVM/dyncall/compare/8e7a06e...903ef9c
22:51 ingy joined #moarvm
22:51 timotimo OK
22:51 timotimo well, it's still good everything is good
22:52 harrow joined #moarvm
22:52 FROGGS aye
23:02 Util joined #moarvm
23:09 zakharyas joined #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary