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
|