01:31 fengc joined 01:48 ilbot3 joined
konobi huh... anyone tied hooking a JIT up to IQE? 02:00
07:29 brrt joined 07:55 zakharyas joined 08:34 ggoebel116 joined 08:37 nine_ joined 08:38 psch_ joined 08:40 geekosaur joined
nwc10 good *, #moarvm 08:47
09:00 vendethiel joined 09:13 brrt joined
timotimo what's IQE? 09:50
i know the iQue, which is a nintendo 64 knock-off from china
jnthn heh, I was hoping somebody would know instead of me having to look it up :P 10:02
10:03 nine joined 10:04 camelia joined
brrt hmmm 10:10
me too
i have no idea
jnthn Could refer to en.wikipedia.org/wiki/IQE 10:14
timotimo when i saw that, i didn't think it'd fit 10:15
brrt me neither
jnthn Yeah, I was wondering if it's "can we JIT for this CPU architecture made by this company2 10:20
timotimo *shrug* 10:21
brrt sure we can 10:30
what do they pay
:-)
jnthn Right answer :D 10:33
brrt: Did you see the gist I linked a couple of days ago discussing making guards cheaper, ooc? 10:34
I'm quite keen to rid us of the function calls in them...
brrt yes
i did...that was also about the container guard? 10:35
jnthn Right
Plus also all of that "is this the real slim sha^W^Wobject body" checking
Which I guess we inline into the JIT
But turns every attribute access into a branching operation.
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"
So that we only branch if there's a fail
And otherwise carry straight on
brrt wait, let me think about that 10:37
jnthn So all the optimal path code is free of jumps introduced by guards etc.
That can come later of course. :)
brrt the attribute access is of course 'guarded' by the replace-body pointer
right?
jnthn Right 10:38
brrt whatever it is called
jnthn I want to get rid of the need for that. :)
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
jnthn Which'll remvoe a branch from every P6opaque attribute access :)
brrt right 10:39
jnthn Yeah, true. Though then we'd have to update it on GC too which is...possible but ugh :)
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:40
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
right :-)
timotimo yeah, i don't mind having moar know more about perl6/rakudo 10:42
10:58 ilmari joined
nine That was the idea behind writing a VM specifically for Perl 6 anyway :) 11:30
lizmat well.. wasn't Moar more about targeting NQP rather than Perl 6 ? 11:32
nine But our NQP is specifically for Perl 6 :) 11:54
13:15 patrickz joined 15:42 flaviusb joined
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:20
*efficiently 16:21
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.
timotimo except ... only as far as needed to make perl6 work :D
jnthn So we can target JS/JVM too
Yes, generally if MoarVM ends up used for stuff beyond Perl 6, then it'll happen the JVM way. 16:23
(That is, the JVM was built for Java, then folks decided to target it for other things too.) 16:24
nine Yep, nevertheless extops need to die ;) They mean that the smaller language is lacking something 16:50
jnthn Yeah, my changes to return will rid us of one :) 16:51
There's still quite some spectest fallout alas
Maybe will dig into it at the weekend :)
17:47 FROGGS joined 18:13 dalek joined 18:14 nebuchadnezzar joined 21:36 patrickz joined