github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:00 manchicken joined 00:02 patrickb left 00:42 manchicken left 00:47 MasterDuke joined, MasterDuke left, MasterDuke joined 01:06 Kaiepi joined
MasterDuke what would be good to add to this? github.com/MoarVM/MoarVM/blob/mast...rp.c#L6125 01:36
outers?
jnthn Or just have spesh make sure there's that many outers in the static chain and toss the error check for moar speedz :) 01:49
In fact, I think the JIT doesn't even do the check anyway
sleep & 01:51
evalable6 Use of uninitialized value of type Callable in numeric context
in block <unit> at /tmp/l…
jnthn, Full output: gist.github.com/b403c0315be515f7de...b7d93465fc
MasterDuke jnthn: i'm going through execeptions and trying to add relevant context info
sounds like i'm going to skip this one then
timotimo www.reddit.com/r/perl6/comments/at...e/eh1abnf/ - just posted a long-ass comment about spesh optimizations up on reddit 02:22
MasterDuke btw, nice post 02:23
timotimo thanks :)
MasterDuke i don't quite follow this sentence: `The check for the STable pointer is one of these guards, and guards are "deduplicated", i.e. guards that check something that was already established either by another guard, or by the knowledge of what a specific instruction will do.` 02:26
timotimo hm, yeah, that's kind of not very well worded
how is it now? 02:27
MasterDuke feels like it's missing something like " are detected and not redundantly added." (assuming that's correct and what you're going for)
yep, better 02:28
timotimo much better than to add something was to remove most of it :D
MasterDuke good info over all 02:30
Geth MoarVM: ugexe++ created pull request #1057:
Use _wopen on windows via uv_fs_open
03:17
07:30 avarab joined, avarab left, avarab joined, scovit_ joined, sivoais_ joined 07:40 sivoais left, avar left, scovit left, nebuchadnezzar left 07:41 nebuchadnezzar joined 07:42 Kaiepi left 09:29 evalable6 left 09:33 evalable6 joined 09:45 Kaiepi joined
Geth MoarVM: ac078196d3 | (Stefan Seifert)++ | 2 files
Fix rw args of native calls not getting updated if JIT compilation fails

This fixes issue with rw args to native calls, when the JIT fails to compile the call graph the nativeinvoke_o is in. Happens for example because we're missing the case for MVM_OP_getlexref_u8.
optimize_getarg worked on the assumption that the JIT compiler will not emit any ... (19 more lines)
10:46
MoarVM: ce8249a363 | (Stefan Seifert)++ | src/jit/x64/emit.dasc
Fix JITed extend_u8 accidentally extending 16 bits.

Clearly a copy&paste failure. However, this would probably have not caused any issues as a register holding a u8 value should not have values > 255 anyway.
MoarVM: 7ca628263b | (Stefan Seifert)++ | src/jit/graph.c
JIT compile getlexref_u*

They should be just the same as getlexref_i*
MoarVM: ac078196d3 | (Stefan Seifert)++ | 2 files
Fix rw args of native calls not getting updated if JIT compilation fails

This fixes issue with rw args to native calls, when the JIT fails to compile the call graph the nativeinvoke_o is in. Happens for example because we're missing the case for MVM_OP_getlexref_u8.
optimize_getarg worked on the assumption that the JIT compiler will not emit any ... (19 more lines)
MoarVM: ce8249a363 | (Stefan Seifert)++ | src/jit/x64/emit.dasc
Fix JITed extend_u8 accidentally extending 16 bits.

Clearly a copy&paste failure. However, this would probably have not caused any issues as a register holding a u8 value should not have values > 255 anyway.
10:47
MoarVM: 7ca628263b | (Stefan Seifert)++ | src/jit/graph.c
JIT compile getlexref_u*

They should be just the same as getlexref_i*
lizmat Geth is hickupping ? 10:49
nine: time to bump or will you ? 10:50
nine will do 10:54
11:11 robertle joined 11:55 lucasb joined
jnthn nine++ \o/ 13:02
That probably means we can, at last, have a release :)
nine Looks like :) 13:03
dogbert11 hmm 14:12
there's another test failure in Font::Fretype 14:14
a SEGV no less. To be fair, the test is marked TODO but still
nine dogbert11: well, there's hope that it's just a bug in Font::Freetype if it's a TODO test. Since it's using NativeCall a segfault may actually be ok. 14:16
dogbert11 crashes at github.com/MoarVM/MoarVM/blob/mast...log.c#L156
nine: could be, however no SEGV with 2018.12 14:17
nine darn
dogbert11 can confirm that the previous, JIT related problem, is fixed, nine++ 14:19
to avoid confusion, the SEGV occurs with MVM_SPESH_DISABLE=1 as well albeit on another line 14:20
14:27 manchicken joined
dogbert11 attempts some bisecting ... 14:30
it works up until github.com/rakudo/rakudo/commit/d9...5f29c5b8c3 14:35
the next rakudo, i.e. github.com/rakudo/rakudo/commit/ee...ba22d24f4e fails, but instead of a SEGV it fails with '===SORRY!=== Cannot invoke this object (REPR: P6opaque; NQPMu)' 14:37
heh, 'if $*PERL.compiler.version < v2018.11 { skip "tests unreliable on this Rakudo version", 2; }' 14:43
14:44 Kaiepi left 14:45 Kaiepi joined
dogbert11 continues the bisection process 14:52
nine dogbert11: that bisection result could be misleading. I remember jnthn fixing up that change later on 15:04
dogbert11 I noticed that when I tried a later build, i.e. 4a2124a62caafbd8b8b7364546f66158ac1c4c69, so now Iäm more thorough :) 15:12
15:16 manchicken left 15:32 brrt joined
dogbert11 nine, timotimo: it seems to be this commit github.com/MoarVM/MoarVM/commit/ef...741bf89460 15:57
brrt ohai #moarvm
timotimo dogbert11: what happens if you comment out the part in nativecall.c? does it still explode? 15:58
dogbert11 hello brrt
brrt hi dogbert11, timotimo
dogbert11 timotimo: the 'case MVM_NATIVECALL_ARG_CSTRUCT:' part?
timotimo yes
dogbert11 let's see
timotimo does Font::Freetype use any NativeHelpers modules? 16:00
16:02 Kaiepi left
brrt timotimo++ nice blog post 16:03
and nice progress on moarperf
stuff is looking cool
timotimo thank you :)
glad to hear it
brrt needs to make progress on the expression JIT grant 16:04
trouble is, I discovered a nicer register allocation algorithm, and now I don't like the current one anymore
timotimo the one from luajit, right? the one that goes backwards?
brrt yes
and I need to solve the missing-ancestor problem 16:05
dogbert11 timotimo: without the case statement it does no longer SEGV 16:06
timotimo right
dogbert11: damn :(
dogbert11 it does not seem to use any NativeHelpers as far as I can tell 16:07
at least no directly 16:08
*not
16:22 patrickb joined 17:10 brrt left 17:23 brrt joined 17:46 brrt left 18:01 Kaiepi joined 18:45 lucasb left 23:05 patrickb left