Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-08-29

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:24 japhb That SQUASHathon idea is good, and the flyer is very well done.
00:24 Zoffix \o/
00:26 timotimo indeed!
01:52 ilbot3 joined #moarvm
01:52 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:45 yoleaux joined #moarvm
03:03 samcv virtual pizza! sign me up
04:10 vendethiel- joined #moarvm
06:05 brrt joined #moarvm
06:05 brrt good *
06:34 leont joined #moarvm
07:18 brrt joined #moarvm
07:19 brrt jnthn++ awesome slides
07:19 brrt (by the way, i'm sure you noticed, but i found it interesting that a basic block node can only have two outbound edges
07:33 zakharyas joined #moarvm
07:42 leont joined #moarvm
08:04 brrt also, cro looks damn cool
08:04 brrt mojolicious-level cool, or maybe moreso
08:24 nine moreso IMHO :)
08:31 * jnthn is packing in prep for the Switzerland -> Austria part of the decommute, but on the INTERPOLATE discussion - it's called at each position we might be able to match the thing being interpolated.
08:31 yoleaux 28 Aug 2017 18:03Z <japhb> jnthn: Are you about, and do you have time to look at something with your Perl 6 concurrency hat on?  https://github.com/ab5tract/Terminal-Print/blob/master/lib/Terminal/Print/DecodedInput.pm6 (and RawInput.pm6 in the same directory) both start a new thread.  Can one or both of those go away?  If so, how?
08:32 jnthn Incluing at the end of the string, since my $foo = /$/; "a" ~~ / $foo / should match too
08:52 zakharyas joined #moarvm
08:54 robertle_ joined #moarvm
09:20 brrt oh, hehe, exceptions make the only-two-successors bit not true
09:27 brrt jnhtn: i can't seem to parse: 'Basic block A immediately dominates Basic Block B if it strictly dominates it, but does not strictly dominate another BB that strictly dominates it'
09:28 brrt because, the last it is just a reference too many for my stack :-)
10:00 timotimo hah
10:09 stmuk_ joined #moarvm
11:10 brrt video was really helpful though
11:23 lizmat joined #moarvm
11:56 MasterDuke joined #moarvm
12:14 Geth_ joined #moarvm
12:27 stmuk joined #moarvm
12:49 zakharyas joined #moarvm
13:12 MasterDuke jnthn: of course, the first line of comment for INTERPOLATE even says that! "INTERPOLATE will iterate over the string $tgt beginning at position 0. If it can't match against pattern var (or any element of var if it is an array) it will increment $pos and try again."
13:19 dogbert17 joined #moarvm
13:21 dogbert17 is jnthn commuting?
13:22 MasterDuke it looks like if what's being interpolated is a Regex object it does `$nfa.mergesubstates(...)`. instead of doing that at each position, couldn't we just make a new merged Regex and restart the match with that?
13:23 MasterDuke but of course not just in the Regex case, but string, etc.
13:25 lizmat dogbert17: yes
13:26 dogbert17 cool, so he's relaxing
13:27 lizmat yeah, that too  :-)
13:27 MasterDuke in Actions, if what's being interpolated is known to be a Str, it just creates a LITERAL
13:33 MasterDuke and if not, creates an INTERPOLATE, which then does some more checking (at runtime) to try and determine if it can actually do a string literal match (nqp::eqat)
13:37 MasterDuke so perhaps we could do more aggresive checking in Actions
13:41 MasterDuke or get INTERPOLATE to re-implement the regex engine itself a little less
13:42 MasterDuke does what i'm saying make sense? is it accurate?
13:42 MasterDuke anyone w
13:42 MasterDuke know how perl5 does it?
14:35 Geth ¦ MoarVM: fda68a65bd | MasterDuke17++ (committed using GitHub Web editor) | src/main.c
14:35 Geth ¦ MoarVM: Align --tracing usage statement
14:35 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/fda68a65bd
14:35 Geth ¦ MoarVM: 7d5cd52285 | (Jimmy Zhuo)++ (committed using GitHub Web editor) | src/main.c
14:35 Geth ¦ MoarVM: Merge pull request #668 from MasterDuke17/patch-2
14:35 Geth ¦ MoarVM:
14:35 Geth ¦ MoarVM: Align --tracing usage statement
14:35 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/7d5cd52285
14:35 dogbert17 timotimo, are you around?
14:36 timotimo o/
14:37 dogbert17 what do you think jnthn's intentions was with this line? https://github.com/MoarVM/MoarVM/blob/master/src/gc/finalize.c#L16
14:38 dogbert17 the macro is inactive since it isn't surrounded by #ifdef MVM_GC_DEBUG
14:38 timotimo oh?
14:38 dogbert17 did he just forget them ...
14:39 timotimo you mean the not_fromspace macro would never even reach the code?
14:40 dogbert17 dunno, but if it's there and works wouldn't it spew out warnings even if MVM_GC_DEBUG isn't set?
14:40 nine If there are warnings to spew?
14:41 brrt joined #moarvm
14:41 nine dogbert17: https://github.com/MoarVM/MoarVM/blob/master/src/gc/debug.h
14:42 nine dogbert17: MVM_ASSERT_NOT_FROMSPACE is empty unless MVM_GC_DEBUG is active
14:43 dogbert17 true, it's just that all other occurances of this call is within #ifdef MVM_GC_DEBUG, e.g. https://github.com/MoarVM/MoarVM/blob/master/src/core/frame.c#L716
14:44 dogbert17 but perhaps it's harmless the way it is
14:45 timotimo i don't see a problem here
14:45 dogbert17 if you're happy then I'm happy :)
14:45 timotimo the code you linked to has the section blocked off from non-gc-debug because it iterates through the caller chain to make sure all pointers there are correct
14:46 timotimo so if it relied on only the macro being removed by "no gc debug please", it'd still have a performance impact
14:46 dogbert17 ok, got it :)
14:53 AlexDani` joined #moarvm
15:14 brrt joined #moarvm
15:18 Geth ¦ MoarVM/jit-legacy-cleanup: 11 commits pushed by (Bart Wiegmans)++
15:18 Geth ¦ MoarVM/jit-legacy-cleanup: review: https://github.com/MoarVM/MoarVM/compare/e615620dba...3d8bf426fc
15:21 brrt pushing a rebase now
15:21 Geth ¦ MoarVM/jit-legacy-cleanup: 25 commits pushed by (Bart Wiegmans)++
15:21 Geth ¦ MoarVM/jit-legacy-cleanup: review: https://github.com/MoarVM/MoarVM/compare/3d8bf426fc...8e28708c1b
15:21 brrt okay, that's it
15:29 Geth ¦ MoarVM: bdw++ created pull request #669: Cleanup legacy JIT
15:29 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/669
15:33 brrt pls review whoever wants
16:06 zakharyas joined #moarvm
17:21 zakharyas joined #moarvm
18:01 robertle joined #moarvm
18:11 Ven`` joined #moarvm
18:50 dogbert2 joined #moarvm
18:51 dogbert2 has anyone looked at this tool? http://mtuner.net/
18:53 * lizmat hasn't, but it looks very interesting at first glance
19:05 harrow joined #moarvm
19:10 FROGGS joined #moarvm
19:14 Ven joined #moarvm
19:33 Geth ¦ MoarVM/jit_nativecall: aad9014421 | (Stefan Seifert)++ | 3 files
19:33 Geth ¦ MoarVM/jit_nativecall: Support an arbitrary number of pointer arguments in JITed NC
19:33 Geth ¦ MoarVM/jit_nativecall: review: https://github.com/MoarVM/MoarVM/commit/aad9014421
19:46 MasterDuke joined #moarvm
19:47 lizmat nine++
19:52 nine Turns out, unboxing is easier than I expected. I only have to pick the right decont_* op instead of the generic decont. And that I can decide based on the signature alone :)
19:53 zakharyas joined #moarvm
19:56 nine Except, that this doesn't handle type objects correctly...
20:15 timotimo hmm, "just" do isconcrete :)
20:16 nine That's what I'm doing :) That does mean more code in the generated body, but it's also code that spesh should be able to strip away
20:18 nine Does this look sane? https://gist.github.com/niner/60b58d6bca7e2a9817a1f6099b9fe7e7
20:30 timotimo it can do that if the callsite looks friendly, yeah
20:30 nine Oh my, I think the nqp::if changes the register allocation and my return value ends up somewhere else now
21:03 timotimo oh, that is very possible
22:25 dogbert2 joined #moarvm
22:28 samcv good *

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary