00:05 tadzik joined
jnthn timotimo: There will be a way, but I don't have a design I'm happy with yet. I have to figure it out for inlining. It'll get figured out when that's near the top of the task list. 00:09
timotimo: On the boxing instructions, yes, makes sense.
00:31 lizmat joined 01:06 btyler joined 01:23 FROGGS_ joined 02:06 woosley joined 06:52 zakharyas joined 08:54 FROGGS joined 10:06 cognominal joined
dalek arVM/optimize_isreprid: a6205ef | (Timo Paulssen)++ | src/spesh/optimize.c:
try to optimize islist/isnum/... (not helpful yet)

the problem is that islist and friends also include a null check on their argument. At best, we could - if we only know the type - turn these ops into a negated "isnull" op, but that doesn't exist. So we have to wait for spesh's ability to allocate new registers and add new operations on those.
13:30
arVM: c34942c | (Timo Paulssen)++ | src/spesh/facts.c:
boxing ops carry their types and result in concrete objects
13:39
timotimo this ought to get rid of a few decont ops, too.
they are not that expensive, but better is better. 13:40
moritz ... unless you spend more time rewriting the bytecode than executing the original bytecode
timotimo hehe.
in our experience, the specializer seems to be blazing fast 13:41
i'm not expecting us to gain good performance just by removing lots of decont ops :) 13:42
especially since currently we turn them into set ops instead of renaming the registers
which i would prefer if it weren't complicated to do :)
JimmyZ :) 13:43
13:44 btyler joined
timotimo maybe we should introduce a KNOWN_NOT_NULL fact? 13:44
after object creation, we should know it's not null, for example 13:46
hmm. in theory, with a KNOWN_TYPE, we should be able to turn a getwhat into a wval or something like that; i wonder if that'd be more efficient? 13:50
(but if we do turn it into a wval, we also have its known object value available in the specializer)
gethow should be specializable, too, shouldn't it? 13:55
[Annotation: INS Deopt (idx 0 -> pc 170)] 14:17
dalek arVM: eadd2c8 | (Timo Paulssen)++ | src/spesh/dump.c:
dump deopt instruction annotations, too.
14:18
timotimo not sure what to do next. somehow i still don't feel up to the task of making nameds work properly :| 14:33
with interned callsites and spesh, that is 14:34
FROGGS timotimo: implement LABLEs \o/ 14:35
err, LABELs, even
timotimo oh, look at my wrist! i gotta go! 14:38
how about something easy that'll result in a dramatic speed improvement in common cases?
oh ... right ... those things aren't easy :|
moritz FROGGS: now you've scared him away :-)
FROGGS timotimo: these things are perhaps just wishes and dreams :o) 14:39
at least I merged master into nqp/loop_labels, so if someone wants to play with it, nqp-p supports loop labels :o) 14:40
timotimo what's the exact significance of 512, 513 and 514? 14:48
FROGGS these are just IDs of exception handlers 14:51
(next/last/redo)
moritz feels like they could go into pir::const thingy
FROGGS moritz: and then I can use such a const in pir code? 14:52
moritz FROGGS: in the NQP that generates the pir code 14:53
FROGGS moritz: well, then I can stick to my hash: github.com/perl6/nqp/compare/loop_...9b29f1R552 14:54
moritz ah, right 14:55
15:26 FROGGS[mobile] joined 16:06 FROGGS joined 17:59 benabik joined 18:58 zakharyas joined 19:10 woolfy1 joined
moritz FROGGS: rt.perl.org/Ticket/Display.html?id=121720 you recently fixed a bug with the same symptoms. HALP? 19:44
FROGGS moritz: last time it thought it never hit eof 19:45
moritz was hoping for a patch :-) 19:49
19:50 woolfy joined
FROGGS moritz: *g* 19:51
let me take a sip on my beer first
btw, working on loop labels again on nqp-m feels like wearing that old good jacket that fits so well... 19:53
it feels right somehow
timotimo there's not as many weird gotchas everywhere :) 20:00
20:12 woolfy joined 20:31 brrt joined
brrt hey #moarvm 20:31
FROGGS ho brrt 20:32
brrt much progress for me to catch up with 20:33
jnthn well, not in Moar 20:34
Since weekend, anyway
timotimo aye, mostly cool supply methods 20:39
jnthn: comments about the things i wrote about spesh before? 20:40
brrt jnthn: github.com/MoarVM/MoarVM/blob/mast...loop.c#L38 - shouldn't this be += ? 20:42
jnthn brrt: The code using the return value only cares about it in boolean sense. 20:51
brrt ok
:-)
jnthn timotimo: Not at the moment...busy trying to write my talk and debug code for it... :) 20:52
Turns out we have some issue involving continuations when multiple threads are involved :(
FROGGS :{ 20:54
brrt jnthn - btw, i'm sorry to say i won't make it to the dutch perl workshop this friday
jnthn brrt: ok, no worries 20:55
brrt its just a shame
jnthn aye
brrt hopefully you'll visit our pretty country another time
jnthn probably :)
brrt or, i'll go to sweden
jnthn or that :) 20:56
timotimo that's fair :) 20:57
(re: my spesh things)
brrt is off to sleep again, see you tomorrow 21:19
21:19 brrt left
FROGGS moritz: I have a patch 21:27
dalek arVM: a109e8d | (Tobias Leich)++ | src/io/syncfile.c:
stat file descriptor in eof() when filename is unset

This can happen when we get a file redirected, and therefor open it via MVM_file_handle_from_fd instead of MVM_file_open_fh.
21:32
timotimo cool 21:38
what was the gsoc irc channel for perl again? 21:43
tadzik soc-help 21:45
timotimo oh
22:06 donaldh joined 22:43 cognominal joined 23:05 benabik joined 23:41 benabik joined 23:48 woolfy joined 23:57 benabik joined