Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2016-06-03

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

All times shown according to UTC.

Time Nick Message
01:31 fengc joined #moarvm
01:48 ilbot3 joined #moarvm
01:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:00 konobi huh... anyone tied hooking a JIT up to IQE?
07:29 brrt joined #moarvm
07:55 zakharyas joined #moarvm
08:34 ggoebel116 joined #moarvm
08:37 nine_ joined #moarvm
08:38 psch_ joined #moarvm
08:40 geekosaur joined #moarvm
08:47 nwc10 good *, #moarvm
09:00 vendethiel joined #moarvm
09:13 brrt joined #moarvm
09:50 timotimo what's IQE?
09:50 timotimo i know the iQue, which is a nintendo 64 knock-off from china
10:02 jnthn heh, I was hoping somebody would know instead of me having to look it up :P
10:03 nine joined #moarvm
10:04 camelia joined #moarvm
10:10 brrt hmmm
10:10 brrt me too
10:10 brrt i have no idea
10:14 jnthn Could refer to https://en.wikipedia.org/wiki/IQE
10:15 timotimo when i saw that, i didn't think it'd fit
10:15 brrt me neither
10:20 jnthn Yeah, I was wondering if it's "can we JIT for this CPU architecture made by this company2
10:21 timotimo *shrug*
10:30 brrt sure we can
10:30 brrt what do they pay
10:30 brrt :-)
10:33 jnthn Right answer :D
10:34 jnthn brrt: Did you see the gist I linked a couple of days ago discussing making guards cheaper, ooc?
10:34 jnthn I'm quite keen to rid us of the function calls in them...
10:34 brrt yes
10:35 brrt i did...that was also about the container guard?
10:35 jnthn Right
10:35 jnthn Plus also all of that "is this the real slim sha^W^Wobject body" checking
10:35 jnthn Which I guess we inline into the JIT
10:35 jnthn But turns every attribute access into a branching operation.
10:36 brrt uhuh
10:36 jnthn I dunno how possible this is with that your expression JIT does today (or maybe you already did it) but I was kinda hoping we might be able to put the guard fail handling code all "at the end"
10:36 jnthn So that we only branch if there's a fail
10:36 jnthn And otherwise carry straight on
10:37 brrt wait,  let me think about that
10:37 jnthn So all the optimal path code is free of jumps introduced by guards etc.
10:37 jnthn That can come later of course. :)
10:37 brrt the attribute access is of course 'guarded' by the replace-body pointer
10:37 brrt right?
10:38 jnthn Right
10:38 brrt whatever it is called
10:38 jnthn I want to get rid of the need for that. :)
10:38 brrt one of the things you could do that wouldn't get rid of it but make it cheaper is to have that pointer point into the regular object body at construction
10:38 jnthn Which'll remvoe a branch from every P6opaque attribute access :)
10:39 brrt right
10:39 jnthn Yeah, true. Though then we'd have to update it on GC too which is...possible but ugh :)
10:40 jnthn Anyway, I'm thinking through various bits at the moment, so if there are things you notice that make it hard for us to produce good code in the JIT then I'm intrested to know about them so I can include them in my pondering :)
10:41 * jnthn should eat before his afternoon meeting...bbiab :)
10:41 brrt the second thing is 'how to remove a function call from the sp_guardcont(conc|type))', and i think i agree in that the only way is to have the container structure become internal to moarvm
10:41 brrt right :-)
10:42 timotimo yeah, i don't mind having moar know more about perl6/rakudo
10:58 ilmari joined #moarvm
11:30 nine That was the idea behind writing a VM specifically for Perl 6 anyway :)
11:32 lizmat well.. wasn't Moar more about targeting NQP rather than Perl 6  ?
11:54 nine But our NQP is specifically for Perl 6 :)
13:15 patrickz joined #moarvm
15:42 flaviusb joined #moarvm
16:20 jnthn MoarVM certainly is a VM for Perl 6, but that doesn't free us from the need to design a good API for the VM such that the large language that is Perl 6 can be efficient expressed in terms of the rather smaller language that MoarVM offers.
16:21 jnthn *efficiently
16:22 timotimo aye, it's all about composability, malleability, customizability
16:22 jnthn Noting that the nqp:: op API is also trying to serve as an inter-lingua.
16:22 timotimo except ... only as far as needed to make perl6 work :D
16:22 jnthn So we can target JS/JVM too
16:23 jnthn Yes, generally if MoarVM ends up used for stuff beyond Perl 6, then it'll happen the JVM way.
16:24 jnthn (That is, the JVM was built for Java, then folks decided to target it for other things too.)
16:50 nine Yep, nevertheless extops need to die ;) They mean that the smaller language is lacking something
16:51 jnthn Yeah, my changes to return will rid us of one :)
16:51 jnthn There's still quite some spectest fallout alas
16:51 jnthn Maybe will dig into it at the weekend :)
17:47 FROGGS joined #moarvm
18:13 dalek joined #moarvm
18:14 nebuchadnezzar joined #moarvm
21:36 patrickz joined #moarvm

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