01:48 ilbot3 joined 02:11 colomon joined 05:38 domidumont joined 05:59 domidumont joined 06:00 domidumont joined 07:01 brrt joined
brrt good * 07:03
07:41 zakharyas joined
jnthn o/ brrt 07:59
heh, missed the quit line :) 08:00
nwc10 good *, #moarvm 08:11
08:54 zakharyas joined 09:32 zakharyas joined 10:54 TimToady joined
lizmat rt.perl.org/Ticket/Display.html?id=128368 # golfed spesh issue with return 11:34
jnthn Can retest it after the various upcoming branch merges 11:41
(Which totally change how return is handled)
I suspect those'll resolve it
It's waiting on me fixing error reporting for return outside of routine (lost the typed exception) 11:42
And then it needs JVM work I guess
timotimo oh, i thought this is from using those branches %) 11:44
lizmat fwiw, the shortest golf so far: sub foo() { return 42 }; for ^158 { foo } 11:47
timotimo how is it when you (^158).map(&foo), does that also do it? 11:52
because then it doesn't have the extra curly, but invokes the foo immediately
lizmat m: sub foo($a) { return 42 }; (^158).map(&foo); say "done" 11:54
camelia rakudo-moar 87e91c: OUTPUT«done␤»
timotimo that just makes it a bit clearer that it's probably inlining that's at fault 11:56
lizmat timotimo: that means it shouldn't occur with MVM_JIT_DISABLE=1 ? 12:07
timotimo actually, inlining happens before the JIT starts
so MVM_SPESH_INLINE_DISABLE or what's it calleed?
lizmat MVM_SPESH_INLINE_DISABLE=1 makes it also work ok indeed 12:08
12:16 rurban_ joined
lizmat afk for a few hours& 12:19
12:37 brrt joined
lizmat m: sub bar() { foo; return 666 }; sub foo() { return 42 }; for ^158 { print bar } 12:37
camelia rakudo-moar 9cfcb9: OUTPUT«6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666…»
lizmat hmmm
m: sub bar() { foo; return 6 }; sub foo() { return 42 }; for ^158 { print bar }
camelia rakudo-moar 9cfcb9: OUTPUT«666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666642»
lizmat really afk&
brrt \o jnthn (back again) 12:41
14:52 FROGGS joined 15:10 zakharyas joined 16:30 domidumont joined 16:53 rurban_ joined
timotimo ack 17:49
18:15 rurban_ joined 18:18 tomboy64 joined 18:35 domidumont joined
diakopter wow I wonder what's happening there 19:49
[Coke] there where now? 19:58
timotimo see how it returns a 42 at the end there?
it's missing the inner return handler and hits the outer one instead 19:59
that's the threshold where OSR kicks in, if i'm not mistaken.
jnthn Hm, OSR is at 200 21:04
158 = 150 thershold + 8 logging runs 21:05
But yeah, my branch contains some protection around the lexical handler resolution stuff
It's a tad fraught to allow things that call "return" to be inlined. 21:06
However...the beautiful thing is that I don't think I'll ever have to implement that.
Because 1) Inline `return` itself, 2) rewrite the throw into a set/goto pair, 3) no exception throw that needs inlining any more :) 21:07
21:07 vendethiel joined
jnthn It's a bit like how we don't rewrite complex arg processing on inline, 'cus that already was rewritten into sp_arg ops 21:08
21:16 camelia joined
timotimo hooray for composable optimizations 21:40