01:17
Kaiepi joined
02:26
Kaiepi joined
02:57
ilbot3 joined
04:16
unicodable6 joined
06:44
brrt joined
06:46
domidumont joined
06:54
domidumont joined
|
|||
brrt | good * #moarvm | 07:02 | |
some things i noticed about the (dot rendering of) the broken graph; there's top-level LOAD nodes that go unreferenced | |||
which is *weird* | |||
shouldn't happen | |||
nwc10 | good *, brrt | 07:18 | |
brrt | ohai nwc10 | 07:19 | |
07:19
domidumont joined
07:46
brrt joined
|
|||
samcv | good * brrt | 07:57 | |
brrt | good * samcv | ||
so, i've now traced one correct version of the code, now the second correct version | |||
08:28
AlexDaniel joined
08:59
robertle joined
|
|||
jnthn | Hurrah, Praha finally has some snow that is sticking! | 09:58 | |
yoleaux | 01:07Z <timotimo> jnthn: a heapsnapshot on hypergrepping for .is-prime gives me a frame count that grows exponentially ... we might want to change something about that :) | ||
01:17Z <timotimo> jnthn: here's the framecounts for getting the 20_000th prime: hack.p6c.org/~timo/exponential_framecounts.png | |||
01:18Z <timotimo> jnthn: actually can't use https on hack, so: hack.p6c.org/~timo/exponential_framecounts.png | |||
01:37Z <timotimo> jnthn: also, here's the "top frames by count": gist.github.com/timo/3ef8b2c702fe4...83ad274834 | |||
02:08Z <japhb> jnthn: Is there a version of your Brno talk slides with the speaker notes? Several slides ask questions that you seem to have answered and/or discussed live. | |||
brrt | all the while AMS has become so warmed-up i've come to work in a shirt | 10:01 | |
jnthn | You can keep the warm, I want the snow I waited all winter for to last a bit :P | ||
.tell japhb No, I'm afraid not (I generally don't do speaker notes for talks only I'll deliver, since I can't comfortably look at them while speaking anyway; it hadn't occurred to me that writing such things could be useful to people not at the talk :)) If there's any particular questions, feel free to ask. | 10:05 | ||
yoleaux | jnthn: I'll pass your message to japhb. | ||
nwc10 | jnthn: you and your short commute, not caring about the snow :-) | 10:08 | |
10:36
zakharyas joined
|
|||
AlexDaniel | jnthn: gahā¦ we had snow here for so long I think I forgot the feeling of walking on the actual ground | 10:53 | |
yoleaux | 5 Mar 2018 22:36Z <Zoffix> AlexDaniel: RE bug or not: docs.perl6.org/type/Signature#Type_Constraints "The code in where clauses has some limitations: anything that produces side-effects (e.g. printing output, pulling from an iterator, or increasing a state variable) is not supported and may produce surprising results if used. Also, the code of the where clause may run more than once for a single typecheck in some | ||
5 Mar 2018 22:46Z <Zoffix> AlexDaniel: FWIW, also: m: my &foo = { use nqp; $/ := nqp::atkey((nqp::ctxcaller nqp::ctxcaller nqp::ctxcaller nqp::ctxcaller nqp::ctxcaller nqp::ctxcaller nqp::ctx), '$/'); m/(.)/ }; sub a($a where &foo) { say $/ }; a āXā | |||
jnthn | AlexDaniel: Maybe it eventually gets tiresome...there's been so little of it here this year, I've missed it :) | 11:06 | |
brrt | hey, i need a reality check for a second | 11:54 | |
with the JIT bisect I can find out which basic block miscompiles | 11:55 | ||
can I, should I, how insane would it be, to have an interpreter interpet the machine code (along with emulating memory), and figuring out where the difference starts to exist between two compiles | 11:56 | ||
I can, that's for sure | |||
jnthn | That sounds...pretty involved :) | 11:57 | |
timotimo | how about you use gdb to single-step instructions and xi to dump the heap contents + registers every step of the way? | ||
brrt | whats xi? | 11:58 | |
gdb crashes if i insert a breakpoint in the code (because it tries to lookup the instruction it believes should've been there instead) | |||
timotimo | "examine" or something | 12:00 | |
in that case, just put a proper C call to a real function and breakpoint on that in gdb :) | |||
brrt | true | ||
yeah, i could do that as well | 12:01 | ||
alternatively, presumably less involved, maybe still crazy | |||
what if I had a wrapper program that compiled and executed a specific tree | 12:02 | ||
the point being, I want smaller, simpler tests (proofs) of correctness for parts of the JIT | 12:05 | ||
traced the second, correct, frame | 12:58 | ||
[Coke] | (warm) it was -1C on the way in today | 13:16 | |
timotimo | i could do with a lot less flu, tbh | 13:40 | |
14:07
shareable6 joined
14:08
shareable6 joined
14:12
shareable6 joined
14:13
brrt joined
14:20
shareable6 joined
14:22
shareable6 joined
14:30
shareable6 joined
14:34
shareable6 joined
14:48
nativecallable6 joined,
committable6 joined,
releasable6 joined,
notable6 joined,
quotable6 joined,
bisectable6 joined,
bloatable6 joined,
reportable6 joined,
coverable6 joined,
benchable6 joined,
evalable6 joined,
statisfiable6 joined
14:49
unicodable6 joined,
greppable6 joined,
squashable6 joined,
shareable6 joined
14:50
shareable6 joined
14:51
shareable6 joined
15:02
zakharyas joined
|
|||
japhb | timotimo: I think most of the world's population would agree with you at this point. It's been a brutal year. | 15:37 | |
yoleaux | 10:05Z <jnthn> japhb: No, I'm afraid not (I generally don't do speaker notes for talks only I'll deliver, since I can't comfortably look at them while speaking anyway; it hadn't occurred to me that writing such things could be useful to people not at the talk :)) If there's any particular questions, feel free to ask. | ||
japhb | Thanks, jnthn | 15:38 | |
15:43
shareable6 joined
16:11
zakharyas joined,
brrt joined
16:23
lizmat joined
|
|||
brrt | so, aside from a *bunch* of very weird double spills, the closest thing I can see, when I change the order of the write barrier and the store, is that we overwrite the spill position of the object we require as a value, with an object that we would need to assign to | 16:34 | |
oh, aha | |||
*ahem* | 16:35 | ||
lizmat | .oO( rubberducking ) |
||
brrt | so, here's the theory | 16:37 | |
we retire spilled values in order to reclaim their memory storage positions | 16:39 | ||
we do this retiring whenever we've reached the tile that represents the last possible use for that value | |||
however | |||
when we spill live range to memory, we actually work backwards from it's first definition to its last use | |||
that first definition may well be before the last use of the live range that we retired | 16:41 | ||
so we allow the compiler to reclaim storage space 'backwards' where it wasn't free at all | |||
ok, i can fix that | 16:43 | ||
16:53
domidumont joined
|
|||
brrt | ok, different error this time | 16:55 | |
so we're having some effect at least... | |||
but an earlier error, even :$ | 16:57 | ||
17:02
robertle joined
17:26
shareable6 joined
17:27
lizmat joined
17:40
Kaiepi joined
|
|||
timotimo | i don't understand the usage of the Lock::Async inside the implementation of interval | 17:54 | |
it doesn't seem to be shared with anything | |||
oh | |||
yes it totally is shared | |||
never mind | |||
jnthn | Also, back pressure | ||
timotimo | i'm trying to make signal supplies cancellable | 17:57 | |
i just cargo-culted a Tappable :) | 17:58 | ||
jnthn | I think it also will need something in MoarVM doing in signal.c | 17:59 | |
Home time, bbl | |||
18:00
Kaiepi joined
|
|||
timotimo | yup, i built that part first | 18:01 | |
cool, it works | 18:06 | ||
18:06
lizmat_ joined
|
|||
timotimo | stresstest while i buy groceries | 18:06 | |
Geth | MoarVM: 723fc7511c | (Timo Paulssen)++ | src/io/signals.c make signal handlers cancellable |
18:42 | |
18:43
zakharyas joined
18:49
Kaiepi joined
18:51
Kaiepi joined
18:58
shareable6 joined
18:59
shareable6 joined
|
|||
timotimo | hm, actually, the rakudo change ought to work without the moarvm change, so i can just push it right now | 19:03 | |
indeed! | |||
19:06
shareable6 joined
|
|||
Geth | MoarVM: 9c4b3891c3 | (Timo Paulssen)++ | src/io/signals.c remove stray debug output |
19:07 | |
19:53
Geth joined
20:12
zakharyas joined
20:19
shareable6 joined,
Kaiepi joined
20:36
zakharyas joined
20:40
zakharyas joined
20:53
shareable6 joined
21:07
releasable6 joined
21:13
shareable6 joined
21:14
Kaiepi joined
22:16
shareable6 joined
23:00
geekosaur joined
|