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