Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-02-18

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

All times shown according to UTC.

Time Nick Message
01:35 timotimo we need something clever so that we can spesh native routines
01:36 timotimo the postcircumfix:<( )> method mixed in by the Native role has |args, which spesh does not like (interning of callsites, that is)
01:37 colomon joined #moarvm
01:38 timotimo but all it does is grab the $!list from the capture and pass it on to nqp::nativecall
01:41 timotimo is there something very difficult keeping us from supporting signatures that have only one |foo argument in spesh?
02:05 timotimo oh, i've derped
02:06 timotimo the flattening that would prevent postcircumfix:<( )> to be spesh'd (or rather: interned) has to be on the callsite, not the signature
02:06 timotimo so the signature can be whatever it wants to be, important is only how we call it
02:06 timotimo and the ways we call that are almost all without flattening, usually
02:06 timotimo so how come it doesn't show up ...
02:10 timotimo um ... maybe because we're getlexstatic'ing all the SDL_* functions?
02:10 timotimo even in post-spesh code
02:15 timotimo ... did i misread?
02:19 timotimo i notice my brain isn't totally up to speed tonight
02:24 Peter_R joined #moarvm
02:30 timotimo ugh, the post-spesh result of infix:<+> for two Complex numbers is .. dumb
02:31 timotimo https://gist.github.com/timo/b7cc8284db472e35c255
02:49 ilbot3 joined #moarvm
02:49 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
03:06 colomon joined #moarvm
03:28 timotimo i'll look into this tomorrow, now is way past my bedtime
07:54 FROGGS joined #moarvm
08:14 rurban joined #moarvm
08:19 kjs_ joined #moarvm
08:49 zakharyas joined #moarvm
09:41 FROGGS joined #moarvm
09:51 kjs_ joined #moarvm
10:43 kjs_ joined #moarvm
11:28 kjs_ joined #moarvm
12:15 Ven joined #moarvm
12:58 ggoebel111111114 joined #moarvm
12:58 Ven joined #moarvm
13:34 timotimo the lines to fix up the usages were commented out in the p6opaque.c code, i'm going to spectest with these lines reactivated and it seems like i'll have to add a usage-decrease-line for the name of the attribute, too for some instance
13:34 timotimo instances
13:46 Ven joined #moarvm
13:46 Ven joined #moarvm
13:48 Ven joined #moarvm
13:55 timotimo my set removal seems to make a little mistake here
14:06 timotimo the set removal i made may reduce the number of superfluous set instructions, but since it doesn't handle fact transfer correctly yet (and i'm too lazy to fix that), i'd be inclined to throw it out until someone writes something better (maybe even me)
14:07 timotimo (another way would be to do set removal as a second pass over each BB or over the whole graph)
14:08 jnthn timotimo: I was pondering it in the same pass we will do ref elimination and box/unbox sequence elimination.
14:08 jnthn Which will be post-inline
14:09 jnthn And set elim will help us more post-inline too.
14:09 jnthn gotta go for a bit
14:10 colomon joined #moarvm
14:13 timotimo https://gist.github.com/timo/b7cc8284db472e35c255  ← now has (at the top, surprisingly) the result of not doing set elimination, but adding more usage reduction to p6opaque
14:20 colomon joined #moarvm
14:22 dalek joined #moarvm
14:28 dalek MoarVM: e929224 | timotimo++ | src/6model/reprs/P6opaque.c:
14:28 dalek MoarVM: re-enable usage decrements for get/bindattr in P6opaque
14:28 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/e929224363
14:28 dalek MoarVM: 4d546bc | timotimo++ | src/spesh/optimize.c:
14:28 dalek MoarVM: currently, set removal hurts more than it helps.
14:28 dalek MoarVM:
14:28 dalek MoarVM: ideally, there'd be a second pass over the spesh graph
14:28 dalek MoarVM: that would do set removal, unbox tracking and other
14:28 dalek MoarVM: post-inline optimizations.
14:28 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4d546bc36d
14:42 dalek MoarVM: e5cc1b3 | timotimo++ | src/6model/reprs/P6opaque.c:
14:42 dalek MoarVM: another opportunity to reduce usage counts
14:42 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/e5cc1b3ea6
14:51 timotimo (note the wval and const_s that are left over, probably because the deopt one point in BB 7 requires the registers to have the same values in them regardless of spesh'd version or not
14:52 timotimo )
15:20 Ven joined #moarvm
15:50 Ven joined #moarvm
15:59 dalek MoarVM: 323400c | timotimo++ | docs/ChangeLog:
15:59 dalek MoarVM: Draft a changelog for 2015.02
15:59 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/323400c811
15:59 timotimo the biggest chunk of work only ended up as a single changelog entry; we may want to elaborate on that a lot more
16:05 jnthn timotimo: I normally do git log --oneline --reverse 2015.01..
16:05 jnthn And hack it down from that.
16:07 jnthn timotimo: I want to work on the native ref elimination over inlines in the next week or two, so maybe I'll look at a new set elimination pass at that point.
16:08 timotimo cool :)
16:08 jnthn And box/unbox too
16:08 jnthn My gut tells me the 3 want a similar algorithmic approach.
16:09 timotimo if there's simple but annoying footwork i could prepare for you, feel free to outline it
17:18 kjs_ joined #moarvm
17:34 camelia joined #moarvm
17:36 kjs_ joined #moarvm
17:47 rurban joined #moarvm
18:03 tgt joined #moarvm
18:06 Ven joined #moarvm
18:20 FROGGS joined #moarvm
18:55 kjs_ joined #moarvm
19:37 zakharyas joined #moarvm
20:05 dalek MoarVM: 5121acd | jnthn++ | docs/ChangeLog:
20:05 dalek MoarVM: Flesh out ChangeLog some more.
20:05 dalek MoarVM:
20:05 dalek MoarVM: timotimo++ for getting this started.
20:05 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/5121acd9bf
20:06 jnthn timotimo: There really ain't much to do :)
20:06 jnthn timotimo: It's just bump the VERSION file, do make release, and check the resulting tarball
20:06 jnthn (Instructions in docs/release_guide.md)
20:11 jnthn Also, yeah, apparently * is the changelog char for 2015 :P
20:20 camelia joined #moarvm
20:24 timotimo i didn't even notice the memory leak with bigints
20:24 timotimo but i don't use bigints very often
20:24 timotimo (especially since the smallbigint stuff)
20:24 jnthn iirc it was only a deserialization time one
20:24 jnthn And only for big ones
20:24 jnthn So it wasn't likely to hurt much.
20:26 timotimo oh, OK
20:27 jnthn Still, good to nail 'em all
20:27 timotimo yes
20:27 timotimo very much so
20:27 jnthn Will be back tomorrow morning to work on relesae stuff if nobody beats me to following the release guid :)
20:27 jnthn *guide
20:27 jnthn o/
20:27 timotimo i can do that
20:27 timotimo good night!
20:33 dalek joined #moarvm
21:02 dalek joined #moarvm
21:09 camelia joined #moarvm
21:10 FROGGS reprs.obj : error LNK2001: unresolved external symbol MVMCPPStruct_initialize
21:10 FROGGS moar.dll : fatal error LNK1120: 1 unresolved externals
21:10 FROGGS NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\x86_amd64\link.EXE"' : return code '0x460'
21:10 FROGGS sad, I wanted to test it on windows "quickly"
21:14 rurban joined #moarvm
21:24 dalek MoarVM: f67647f | timotimo++ | VERSION:
21:24 dalek MoarVM: we have a release! 2015.02
21:24 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f67647f624
21:25 timotimo i hope i didn't wrong
21:26 moritz YOU BORKDED IT!
21:26 moritz erm, just kidding :-)
21:27 moritz timotimo++
21:29 timotimo i'm not sure i have an ssh access to moarvm.com
21:30 * lizmat neither
21:33 colomon joined #moarvm
22:05 FROGGS_ joined #moarvm
22:38 colomon joined #moarvm
22:57 kjs_ joined #moarvm
23:10 timotimo jnthn: here's the tarball in case you've missed it in #perl6 or just want to spend less time hunting for it: http://t.h8.lv/MoarVM-2015.02.tar.gz
23:31 kjs_ joined #moarvm

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