github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:00
reportable6 left
00:03
reportable6 joined
01:25
anagura joined
01:32
anagura left
02:29
anagura joined
02:36
anagura left
03:13
kawaii left,
mtj_ left
03:14
kawaii joined
03:18
tbrowder joined,
mtj_ joined
06:00
reportable6 left
06:01
reportable6 joined
06:09
brrt joined
06:17
MasterDuke joined
|
|||
brrt | \o | 06:45 | |
06:54
lizmat left
|
|||
nwc10 | o/ | 07:33 | |
09:12
anagura joined
09:13
chloekek joined
09:14
anagura_ joined,
anagura left
09:17
anagura_ left
09:30
brrt` joined
09:32
brrt` left
09:33
brrt left
09:50
chloekek left
10:08
robertle left
10:11
anagura joined
10:29
anagura left
10:38
anagura joined
10:49
chloekek joined
10:54
anagura left
11:14
anagura joined
11:21
anagura left
11:28
pamplemousse joined
11:31
anagura joined
11:33
anagura left
11:38
anagura joined
|
|||
nine | Kaiepi: just tried the previous_static_frames fix you mentioned and still got the segfault. It seems a little easier to reproduce with MVM_SPESH_BLOCKING=1 but still not 100 % | 11:49 | |
12:00
reportable6 left
|
|||
nine | Doesn't fail with MVM_SPESH_DISABLE=1, fails much more often with MVM_SPESH_BLOCKING=1. It's neither JIT. PEA seems innocent, too. MVM_SPESH_INLINE_DISABLE=1 however does seem to help | 12:01 | |
12:02
reportable6 joined
12:13
anagura left
|
|||
dogbert17 | hello nine, thought you were on vacation :) | 12:16 | |
MasterDuke | i looked at a profile of jmerelo's code github.com/JJ/perl6eo/blob/a9a8b1e....p6#L3-L11 and noticed in the optimization tab that reify-at-least github.com/rakudo/rakudo/blob/mast...st.pm6#L40 has 800k entries, with 799k deopt and 799k osr | 12:21 | |
any idea why that could be and if anything could be made better? | 12:22 | ||
12:30
pamplemousse left
|
|||
timotimo | moarvm has a #define for a deopt log | 12:37 | |
12:38
chloekek left
|
|||
MasterDuke | thanks, i never remember that | 12:38 | |
timotimo | the profiler is supposed to get deopt info, too | 12:39 | |
but it's a ... bit of work | |||
MasterDuke | `Deopt one requested by JIT in frame 'reify-at-least' (cuid '5093') (244 -> 428) Failed to find deopt index for offset 244` | 12:40 | |
also tons of `Deopt one requested by JIT in frame 'head' (cuid '1997') (372 -> 396) Failed to find deopt index for offset 372 Recreated frame 'iterator' (cuid '5132')Completed deopt_one in 'iterator' (cuid '5132') with potential uninlining` | 12:42 | ||
what does that `Failed to find deopt index for offset <some_number>` mean? | 12:43 | ||
12:50
chloekek joined
13:34
anagura joined
13:40
robertle joined
13:48
lucasb joined
|
|||
nine | dogbert17: I am :) Just looking in when I got a couple of minutes to kill. On a 3 week vacation, spending half an hour here and there on interesting things doesn't hurt really. I find that the important bit is the lack of any obligation to do something | 14:13 | |
14:16
anagura left
|
|||
dogbert17 | nine: cool, I hope you're having a nice vacation. In case you do get a few minutes to kill, there's one more fromspace bug still lurking in MoarVM. In order to see it, set MVM_GC_DEBUG=1, the nursery to 2048 bytes and then run t/spec/S12-meta/primitives.t | 14:42 | |
14:45
anagura joined
14:49
chloekek left
|
|||
timotimo | i was also very surprised to hear that putting previous_static_frames into the mvmroot would fix that segfault earlier | 14:49 | |
15:19
anagura left
15:20
anagura joined
15:24
anagura left
15:33
robertle left
15:55
anagura joined
15:58
zakharyas joined
|
|||
AlexDaniel | nine: who has access to camelia's machine besides you? | 16:13 | |
nine: camelia is stuck and I'm wondering who can unbreak it | 16:14 | ||
moritz | 16:18 | ||
Building NQP ... | 16:19 | ||
/usr/bin/perl Configure.pl --prefix=/home/camelia/rakudo-m-inst-2 --make-install --git-protocol=https --backends=moar --gen-moar | |||
"read_config_from_command" is not exported by the NQP::Config module | |||
timotimo | "git submodule update" | ||
moritz | I hope the next rakudo commit will unstick the build | 16:24 | |
if not, please ping me again | |||
AlexDaniel | moritz: thanks | 16:26 | |
17:01
anagura left
|
|||
MasterDuke | timotimo: interested in turning my barrett c implementation iterative? i'm not sure i can do any thinking right now | 17:03 | |
timotimo | i'm in a similar boat tbh | ||
i've been refreshing thiscatdoesnotexist.com/ over and over for a while now. it might be giving me nightmares | 17:04 | ||
17:07
robertle joined
|
|||
MasterDuke | some of those are quite normal. some are not | 17:07 | |
timotimo | many are hellish abominations | ||
even with the more cat-like images, the eyes tend to be opened to two different degrees | 17:09 | ||
and when there's more than one cat, there's usually one that's somewhat normal, and the rest is just WTF | |||
i've also seen a few cases where it tried to put meme text in the image, but the letters don't really form right | 17:10 | ||
and what impressed me most of all was a three panels comic that ended in a perfect rendition of grumpy cat | |||
discord6 | <timotimo> cat meme | 17:11 | |
<timotimo> cdn.discordapp.com/attachments/557...nknown.png | |||
MasterDuke | timotimo: i can tempt you with what i have now...gist.github.com/MasterDuke17/95699...6a00d95ac2 | 17:14 | |
timotimo | i recommend a #define for the error checks, haha | ||
MasterDuke | that's what the libtommath code looks like, i'm going to PR it upstream | 17:16 | |
timotimo | OK | ||
there's no changes in there to get from recursive to non-recursive yet? | 17:17 | ||
MasterDuke | nope. also, any suggestions so the user doesn't have to `calloc(2, sizeof(char))` what they pass it would be nice | 17:19 | |
timotimo | i mean, it could be a "char[2]" that they just pass, for example | 17:20 | |
there isn't a need to allocate it on the heap i think? | |||
and of course a char[2] could also be a single MVMuint16 for example | 17:22 | ||
MasterDuke | gcc doesn't like that. `warning: passing argument 2 of āmp_barrett_todecimalā from incompatible pointer type [-Wincompatible-pointer-types]`, `char (*)[2]` | 17:23 | |
afk for dinner... | |||
timotimo | oh, wait, that pointer is being used with realloc or something? | ||
whoops. ok, in that case it'll definitely have to be calloced or whatever | 17:24 | ||
MasterDuke | yeah, to append to it | ||
17:34
anagura joined
18:00
reportable6 left
18:02
reportable6 joined
18:08
pamplemousse joined
|
|||
MasterDuke | the other thing i could use help with is figuring out if it's possible to use the existing barrett reduction functions (and then how) | 18:28 | |
18:35
chloekek joined
19:17
pamplemousse left
19:37
anagura left
20:34
zakharyas left
|
|||
timotimo | read-uint64 is retaining its param_sn op, which makes it allocate a BOOTHash every time it's called, which in the case of moar-heapanalyzer is a whole lot | 20:49 | |
also the arg ops aren't speshed into their spesh counterparts for some reason, i wonder why that is | |||
MasterDuke | easy fixes? | 20:55 | |
timotimo | don't know yet | 20:57 | |
param_rp_i r2(1), liti16(1) # bailed argument spesh: expected arg flag 1 to be int or box an int | |||
first hint | |||
i think there's a bug here | 20:59 | ||
MasterDuke | in spesh? | ||
timotimo | yeah | 21:00 | |
well, it's losing specialization opportunities | |||
or maybe it's actually supposed to be like this | 21:07 | ||
jnthn | I don't think it knows how to spesh the native ref -> native readonly arg case yet | 21:08 | |
timotimo | it's checking for boxed_primitive, which for Int for example is none, but can_box has INT in there, which this doesn't check for | ||
jnthn | So it might (or might not) be that case. | ||
timotimo | in this case it was the regular p6opaque wrapper objects | ||
making it return the can_box doesn't make it crash at least :) | 21:14 | ||
ah, but that's a bitfield, so that'll have to have a little change | 21:16 | ||
21:21
lizmat joined
21:29
pamplemousse joined
|
|||
timotimo | it does work well now in my code | 21:29 | |
21:33
lucasb left
21:34
anagura joined
|
|||
MasterDuke | jnthn: just watched your two talks, very enjoyable | 21:35 | |
timotimo: any noticeable difference in performance? | |||
timotimo | oh | 21:39 | |
didn't look at that yet | |||
mh, the conditional now also returns "true" for *AttrRef, so it's possible it's doing something not-so-good at the moment | 21:40 | ||
performance seems unchanged :( | 21:46 | ||
huh. in a new profile i see read-uint64 still allocating hashes | 21:47 | ||
i was wrong about the wrong thing | 21:48 | ||
thankfully | |||
MasterDuke | ha | ||
timotimo | maybe the profiler is messing it up | 21:50 | |
21:50
chloekek left
|
|||
MasterDuke | perf stat? | 21:51 | |
timotimo | that wouldn't do it, i don't think | ||
it's possible that the program is running unspeshed versions of read-uint64 | 21:52 | ||
OK, looks like with my latest spesh changes moarperf crashes | |||
MasterDuke | doh | 21:53 | |
timotimo | Entries 1,473,274 | 21:58 | |
Fully Jitted / Only Specialized 0 / 1 | |||
how. | |||
OSR-related perhaps | |||
MasterDuke | huh | 22:00 | |
timotimo | it's inside a repeat loop | ||
there are still situations where spesh behavior can be just a little inscrutable | 22:06 | ||
22:07
anagura left
|
|||
timotimo | the crash was only because of a debug output not checking for null | 22:13 | |
MasterDuke | ah, so you fix is good? | ||
timotimo | maybe | 22:14 | |
didn't roast it yet | |||
22:29
pamplemousse left
22:34
anagura joined
22:43
evalable6 joined
22:55
anagura_ joined,
anagura left
22:56
anagura_ left
|