github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
Kaiepi ok so the bug i thought was with Blob.new is actually a JIT bug 00:31
how do i debug jit bugs? gcc isn't being very helpful
timotimo oh, how'd you find out? 00:32
does it reliably reproduce?
Kaiepi yes, but i don't have a golf for it or anything 00:33
it happens when i run my chat bot
#6 0x000009ae44486aef in MVM_p6opaque_read_object (tc=0x9aeb373c100, o=0x9aeeefdd4a8, offset=715393364682) at P6opaque.h:115 00:34
data = 0x9ae90c46986 <Address 0x9ae90c46986 out of bounds>
#7 0x000009ae445f2b08 in MVM_jit_code_enter (tc=0x9ae59a5c000, code=0x9aef14f2e00, cu=0x9af30621a18) at src/jit/interface.c:24
label = (void *) 0x9af028e7036
i still have to test with MVM_SPESH_DISABLE MVM_JIT_DISABLE MVM_JIT_EXPR_DISABLE 00:36
timotimo don't forget that the backtraces can be pretty wrong when the jit is turned on 00:37
but yeah that offset is clearly not right
have you gotten the output of "call MVM_dump_backtrace(tc)" and "call MVM_dump_bytecode(tc)" yet? 00:38
Kaiepi no 00:39
timotimo m: say 715393364682.base(16) 00:40
camelia A690C472CA
Kaiepi actually no it still happens with the jit/spesh disable flags enabled 00:41
timotimo it doesn't seem like the jit can even emit a call to p6opaque_read_object
Kaiepi it may be a combination of the jit and the recent blob commit
timotimo so that backtrace may be broken
which "recent blob commit" are you refering to? 00:42
Kaiepi github.com/rakudo/rakudo/commit/76...29449e82fa
timotimo could be good to try to reproduce this on a commit earlier than that? 00:46
or did it just not happen before then?
Kaiepi i'll check 00:53
oh that was in november 00:54
no it was a different commit 00:55
timotimo it looks like that commit got a few fixes later on as well 00:56
Kaiepi looks like it's unrelated, the STable for the root passed to asplice points to the buf being MAST::Bytecode 01:07
timotimo OK, so if it's that, it'd probably be something that happens during compilation of something 01:08
07:18 domidumont joined 08:12 zakharyas joined 09:03 robertle_ joined 09:09 robertle1 joined 09:10 robertle_ left 10:26 AlexDaniel joined 11:04 domidumont left 12:00 reportable6 left 12:01 shareable6 left, releasable6 left, squashable6 left, benchable6 left, notable6 left, undersightable6 left, releasable6 joined, undersightable6 joined 12:02 squashable6 joined 12:03 benchable6 joined, shareable6 joined, reportable6 joined 12:06 notable6 joined 12:41 dogbert2_ joined 12:45 domidumont joined 13:12 lucasb joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/02/11/...squashing/ 13:18
13:53 zakharyas left
dogbert2_ lizmat++ weekly 13:55
dogbert2_ is PEAsantly surprised by the latest MoarVM commits :)
16:05 zakharyas joined 16:31 zakharyas left 16:33 robertle1 left 17:53 domidumont left 18:40 zakharyas joined 18:42 patrickb joined 19:10 zakharyas left 19:32 Kaiepi left
timotimo looking at a function that does some native num math and it's looking pretty bad, lol 20:39
decont into bind into decont
have i mentioned that the first decont came in for a lexref? %) 20:40
somehow the "set" that transports the lexref to its decont loses the known type annotation, so the jit can't even fast-path it to the right C function immediately 20:41
jnthn It's probably better to just use Num and see if the EA can take care of it by now :) 20:50
(But yes, we should get in elimination of the ref stuff) 20:55
timotimo there is only one materialization (and it gets materialized at 17 deopt points) 20:56
lots of fastcreate + bind_n left
jnthn Got loops and conditionals? 21:02
(It doesn't handle those yet)
Geth MoarVM: ugexe++ created pull request #1047:
Update libuv to 1.26
21:03
21:50 patrickb left 21:58 patrickb joined
timotimo jnthn: well, every division has the "is it zero?" conditional, so that could frustrate things a little bit 21:58
22:12 MasterDuke joined, MasterDuke left, MasterDuke joined
timotimo ($offset .. $offset + $divided * 5e0).map({ sin(($_/($divided)) * (2e0 * pi)) * (cos($_/$twenty-times) * 0.25 + 0.5) })} 22:13
that's the code btw
$divided is $samplerate / $frequency, which are 44100e0 and 440e0 respectively 22:14
$offset is rw and gets increased by the end point so that it's all contiguous every time you call it
22:22 lucasb left 23:48 patrickb left