github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
05:23 Ven`` joined 05:28 Ven`` left 06:11 robertle left
nwc10 good *, #moarvm 07:52
08:09 zakharyas joined 10:26 brrt joined
brrt ohai #moarvm 10:26
timotimo ohai 11:12
jnthn o/
nwc10 \o 11:13
11:17 brrt left 11:21 AlexDaniel joined 11:44 reportable6 left 11:46 reportable6 joined 12:18 dogbert2_ left 12:37 zakharyas left 12:45 dogbert2_ joined 13:19 lucasb joined 14:24 zakharyas joined 15:07 [Coke] joined, [Coke] left, [Coke] joined 15:08 [Coke] left 15:40 Geth left, Geth joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/02/18/...dy-thanks/ 15:43
16:00 zakharyas left
lizmat jnthn: would you take about 2.5% improvement on a IO::S:Async.listen server ? 16:56
jnthn Depends how it was achieved ;)
lizmat changing a number of =:= into nqp::eqaddr in IO::Async::Lock.lock/unlock 16:57
jnthn Hm, I'd have thought that'd inline pretty nicely by now... 16:58
But yeah, that code is used all over the supply stuff
So it'll probably have a good impact generally 16:59
lizmat profile says it goes from 12 to 14 OSR's and scalar replacement up 1% (from 13 to 14%)
ok, after spectest is ok, I'll commit
17:19 brrt joined
brrt ASAN hates MoarVM master. Or the JIT is making bugs 17:22
nm, it's a JIT bug
ok, il
debug
the bug
17:27 brrt left 18:23 zakharyas joined 18:33 brrt joined 19:01 brrt left 19:13 zakharyas left 19:18 Geth left, Geth joined 20:16 patrickb joined 20:33 brrt joined 20:52 brrt left 20:55 brrt joined
brrt i'm reading a far-too-high spesh slot and I don't know why 21:19
timotimo i'm sure rr could help 21:50
brrt i'm working it out with gdb :-) 21:53
timotimo ok 21:59
22:03 patrickb left
brrt damn 22:04
I was worried this was going to be a problem
let me check something 22:06
so what happens is that the constant '9' is used in both sides of a branch, but it is defined only in one of them 22:11
so if the other branch is taken the value is undefined
and now it is reasonably harmless at 32, but the end-of-array is 29 22:12
so this blows up subtly rather than massively
jnthn Hm, what phase is that bug happening in? 22:14
brrt it's in the jit-expr-optimizer 22:15
the jit optimizer mangles the tree so that this happens
and, I even know why 22:16
in the regular template, the constant '9' is loaded explicitly
in the optimized template, the optimizer notices that '9' is the argument to 'IDX' of spacing 8 and optimizes that to a constant 'ADDR' of 0x48 22:17
that means that the '9' is no longer defined before the branch, which means that it is not made available to the second branch 22:18
okay, that's interesting. How do I fix.
22:23 Ven`` joined 22:30 brrt left 22:55 Ven`` left, Ven`` joined 23:39 lucasb left 23:44 Ven`` left