|
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
|
|||