github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
samcv AlexDaniel: yeah it's on the list 00:17
will do that now 00:18
AlexDaniel: done 00:21
00:33 avar left, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 00:34 p6bannerbot sets mode: +v avar 01:18 Redfoxmoon left 01:26 stmuk_ joined 01:27 p6bannerbot sets mode: +v stmuk_ 01:28 stmuk left 01:30 Redfoxmoon joined 01:31 p6bannerbot sets mode: +v Redfoxmoon, stmuk joined 01:32 stmuk_ left, p6bannerbot sets mode: +v stmuk 03:13 Yoda22 joined 03:18 Yoda22 left 03:37 stmuk_ joined 03:38 p6bannerbot sets mode: +v stmuk_ 03:39 stmuk left 05:04 Redfoxmoon left, Redfoxmoon joined, weber.freenode.net sets mode: +v Redfoxmoon, p6bannerbot sets mode: +v Redfoxmoon 05:10 knolle22 joined 05:11 knolle22 left
Geth MoarVM/template-compiler-refactor: b48454011c | (Bart Wiegmans)++ | tools/expr-template-compiler.pl
[JIT] Tighten scope rules

  - Reintroduce lexical scope for let declarations
  - Forbid redeclarations (even inner-scope shadowing), because this is
   currently unhygienic
  - We do allow right-to-left references to declarations in the same let
   scope
... (9 more lines)
06:24
06:30 robertle left
Geth MoarVM: d0e3e0e255 | (Stefan Seifert)++ | src/spesh/facts.c
Truncated known values are also known at spesh time
06:44
06:45 domidumont joined 06:46 p6bannerbot sets mode: +v domidumont 06:51 brrt joined 06:52 p6bannerbot sets mode: +v brrt
brrt \o 06:54
samcv++ for the release
now I'm planning to do some PR cleanup
07:05 fake_space_whale left 07:07 brrt left 07:09 robertle joined, p6bannerbot sets mode: +v robertle 07:15 lizmat joined 07:16 p6bannerbot sets mode: +v lizmat 07:24 zakharyas joined, p6bannerbot sets mode: +v zakharyas 07:25 domidumont left 07:34 Louis3 joined 07:37 Louis3 left
samcv .tell brrt nice! 07:40
yoleaux samcv: I'll pass your message to brrt.
07:41 domidumont joined, p6bannerbot sets mode: +v domidumont 08:09 masak_ is now known as masak 08:22 stmuk joined 08:23 p6bannerbot sets mode: +v stmuk 08:24 stmuk_ left 09:10 Cory17 joined, Cory17 left 09:21 robertle left 09:29 Gizmokid200529 joined 09:30 Gizmokid200529 left 09:33 lizmat left 09:52 stmuk_ joined, p6bannerbot sets mode: +v stmuk_ 09:54 stmuk left 09:56 was joined 09:58 robertle joined 09:59 p6bannerbot sets mode: +v robertle, was left 10:54 brrt joined 10:55 p6bannerbot sets mode: +v brrt 11:21 japhb_ left 11:22 japhb_ joined, p6bannerbot sets mode: +v japhb_
brrt \o 11:30
yoleaux 07:40Z <samcv> brrt: nice!
Geth MoarVM: 652056de03 | (Bart Wiegmans)++ | src/moar.c
[FSA] Fix use-after-free in cleanup

If we cleanup the main thread (with it's per-thread FSA free list) after cleaning up the FSA itself, that corresponds to a use-after-free, and we should not.
11:33
MoarVM: b217a11526 | (Bart Wiegmans)++ | 8 files
[Spesh] Destroy inlinee after inlining

After we've inlined a graph the inliner claims ownership over the memory of the inlinee. With this patch, we destroy the original graph, which should simplify lifetime management. The memory region list is merged with the inliners graph so that the memory allocated for the inlinee nodes is not freed.
MoarVM: 96b88ebad7 | (Bart Wiegmans)++ | 2 files
[Spesh] Leak fixes

Many allocated things either come from a spesh candidate or from malloc (or realloc). Or they are assigned to a spesh candidate. So the only way to really know if they are shared with a spesh candidate
  (or static frame) is by checking if they are pointer-equal.
ASAN leaksanitizer is finally clean now for me.
brrt I'm of half a mind to implement a 'link' phase in the expr compiler, that would make macro's hygienic
(although I'd have to implement it prior to the macro expansion) 11:35
11:41 zakharyas left 12:12 stmuk joined 12:13 stmuk_ left, p6bannerbot sets mode: +v stmuk 12:31 brrt left 12:42 brrt joined 12:43 p6bannerbot sets mode: +v brrt 12:46 CurryWurst joined, CurryWurst left 13:22 lizmat joined 13:23 p6bannerbot sets mode: +v lizmat 13:25 zakharyas joined, p6bannerbot sets mode: +v zakharyas
lizmat is it ok for me to bump Moar / NQP to get the latest goodies ? 13:49
14:16 brrt left 14:22 dysfigured27 joined 14:30 dysfigured27 left 14:56 MasterDuke left 15:26 stmuk_ joined 15:27 p6bannerbot sets mode: +v stmuk_ 15:28 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 15:29 stmuk left 15:34 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/09/03/...y-returns/ 15:37
15:42 brrt joined, p6bannerbot sets mode: +v brrt
brrt lizmat: you could, but the list of in-progress PRs is still pretty large 15:43
also, lizmat++ #weekly
lizmat brrt: I have no idea on what can be merged and in which order :-( 15:46
MasterDuke brrt: did you see my recent reply to your comment on github.com/MoarVM/MoarVM/pull/926 ?
brrt I did 15:52
and I replied to it as well :-)
MasterDuke ah, thanks
brrt we'll get to them in due course
MasterDuke brrt: btw, i don't know enough about the jits to know which of timotimo++'s suggestions to implement (in the same PR). do you have a recommendation? 15:55
15:58 zakharyas left 16:03 domidumont left
brrt I'm not 100% sure what timotimo means there, either 16:12
16:13 ChanServ sets mode: +vvvv statisfiable6 shareable6 evalable6 unicodable6, ChanServ sets mode: +vvv benchable6 coverable6 committable6 16:14 ChanServ sets mode: +vvvv undersightable6 releasable6 squashable6 quotable6, ChanServ sets mode: +vvvv bloatable6 greppable6 bisectable6 nativecallable6
timotimo i thought that ensure_decoder is inlined everywhere in the interpreter 16:16
but we would do a full call into it
brrt ah, i see 16:19
we could do a macro for it 16:20
timotimo right, a piece into emit.dasc 16:22
that could do it, too
BBL 16:25
Geth MoarVM: c49fc88a38 | (Stefan Seifert)++ | 2 files
Fix rw args of JITed calls to JITed native calls

getarg_* are used to read (possibly modified) values back from the args buffer. This is currently done only for native calls (after a nativeinvoke). However the JIT does not emit any code for the corresponding arg_* ops for a nativeinvoke. Instead the values are read directly from the WORK registers and the arg_* ops are only used to mark those registers. This means that there's nothing in the args buffer to read from.
So instead, turn the getarg_* ops into plain set ops and take the value from the original WORK register.
16:34
16:37 robertle left 16:39 domidumont joined, p6bannerbot sets mode: +v domidumont 16:55 stmuk_ left 16:58 fake_space_whale joined, lizmat left 16:59 p6bannerbot sets mode: +v fake_space_whale
MasterDuke i might be able to write the template macro, but not somthing for emit.dasc 16:59
brrt: are string literals now supported in templates? 17:00
17:01 lizmat joined, p6bannerbot sets mode: +v lizmat 17:05 lizmat left 17:14 lizmat joined 17:15 p6bannerbot sets mode: +v lizmat 17:28 lizmat left, fake_space_whale left
brrt I think they are, yes 17:49
hmm, my last change to the let declaration binding may require me to change macro application as well.. 17:50
17:59 brrt left 18:12 fake_space_whale joined 18:13 p6bannerbot sets mode: +v fake_space_whale 18:20 lizmat joined 18:21 p6bannerbot sets mode: +v lizmat 18:29 brrt joined 18:30 p6bannerbot sets mode: +v brrt 18:31 lizmat left
MasterDuke brrt: do i need to use any special syntax for them? 18:40
18:41 domidumont left
brrt I think they are supposed to be const_ptr's. 18:41
so something like (const_ptr "foo bar") should work
MasterDuke: also note that the new expression template compiler is a bit more strict than the old one, so there may be things that work now and won't in the future 18:44
MasterDuke brrt: ok, it was just merged, right? 18:45
ugh, "won't in the future", i should read a little more closely... 18:46
brrt we're nearly there :-) 18:47
I merged the spesh leak fixes one 18:50
MasterDuke right. should --full-cleanup work fine now? 18:51
18:54 fake_space_whale left
brrt it ought to not crash 18:56
it will still leak
well, hmm
no, that's wrong
it will actually crash
:-) 18:57
you need the fork-safety branch for it not to crash 19:01
19:10 hoelzro left, tbrowder_ left, brrt left, hoelzro_ joined, tbrowder__ joined, p6bannerbot sets mode: +v tbrowder__, tbrowder__ left, tbrowder__ joined, kornbluth.freenode.net sets mode: +v tbrowder__, p6bannerbot sets mode: +v tbrowder__ 19:11 p6bannerbot sets mode: +v hoelzro_
MasterDuke brrt: ah, looking forward to that one 19:19
20:50 lizmat joined 20:51 p6bannerbot sets mode: +v lizmat 21:26 fake_space_whale joined 21:27 p6bannerbot sets mode: +v fake_space_whale
lizmat Q: how difficult would it to make an nqp::ifnull_s() op like nqp::ifnull , but checking for nqp::null_s ? 21:58
it would allow simplification of a lot of methods in Encoding::Decoder::Builtin
also: how difficult would it be to not have nqp::join not choke on nqp::null_s 's in a list_s ? 22:06
*to have
dogbert11 Building 2018.08 on RPi wasn't a fun experience. SEGV's when building nqp and Rakudo. Only way to finish the build was by setting MVM_SPESH_DISABLE=1 22:29
lizmat I'm pretty sure some people here would find the segv's interesting reading material 22:30
in any case, maybe make an issue ?
dogbert11 lizmat it works with spesh enabled but only up to MVM_SPESH_LIMIT=2, if I set it to >2 it SEGV's 22:32
SEGV's always look like this 22:34
Program received signal SIGSEGV, Segmentation fault.
0x76b69bac in MVM_gc_collect_free_nursery_uncopied (tc=tc@entry=0x22668, limit=0x76852ff4) at src/gc/collect.c:607
anyway, I'll make an issue tomorrow
MasterDuke lizmat: ifnull is done in nqp, github.com/perl6/nqp/blob/master/s...nqp#L1009, maybe ifnull_s wouldn't be too hard 22:42
22:51 Voldenet left 22:55 Voldenet joined, Voldenet left, Voldenet joined, p6bannerbot sets mode: +v Voldenet 22:56 p6bannerbot sets mode: +v Voldenet 23:03 PaulCapestany joined 23:08 PaulCapestany left 23:27 Kaiepi left 23:43 MasterDuke left