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
|