japhb That SQUASHathon idea is good, and the flyer is very well done. 00:24
Zoffix \o/
timotimo indeed! 00:26
01:52 ilbot3 joined 02:45 yoleaux joined
samcv virtual pizza! sign me up 03:03
04:10 vendethiel- joined 06:05 brrt joined
brrt good * 06:05
06:34 leont joined 07:18 brrt joined
brrt jnthn++ awesome slides 07:19
(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 07:42 leont joined
brrt also, cro looks damn cool 08:04
mojolicious-level cool, or maybe moreso
nine moreso IMHO :) 08:24
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? github.com/ab5tract/Terminal-Print...dInput.pm6 (and RawInput.pm6 in the same directory) both start a new thread. Can one or both of those go away? If so, how?
jnthn Incluing at the end of the string, since my $foo = /$/; "a" ~~ / $foo / should match too 08:32
08:52 zakharyas joined 08:54 robertle_ joined
brrt oh, hehe, exceptions make the only-two-successors bit not true 09:20
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:27
because, the last it is just a reference too many for my stack :-) 09:28
timotimo hah 10:00
10:09 stmuk_ joined
brrt video was really helpful though 11:10
11:23 lizmat joined 11:56 MasterDuke joined 12:14 Geth_ joined 12:27 stmuk joined 12:49 zakharyas joined
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:12
13:19 dogbert17 joined
dogbert17 is jnthn commuting? 13:21
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:22
but of course not just in the Regex case, but string, etc. 13:23
lizmat dogbert17: yes 13:25
dogbert17 cool, so he's relaxing 13:26
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
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:33
so perhaps we could do more aggresive checking in Actions 13:37
or get INTERPOLATE to re-implement the regex engine itself a little less 13:41
does what i'm saying make sense? is it accurate? 13:42
anyone w
know how perl5 does it?
Geth MoarVM: fda68a65bd | MasterDuke17++ (committed using GitHub Web editor) | src/main.c
Align --tracing usage statement
14:35
MoarVM: 7d5cd52285 | (Jimmy Zhuo)++ (committed using GitHub Web editor) | src/main.c
Merge pull request #668 from MasterDuke17/patch-2

Align --tracing usage statement
dogbert17 timotimo, are you around?
timotimo o/ 14:36
dogbert17 what do you think jnthn's intentions was with this line? github.com/MoarVM/MoarVM/blob/mast...lize.c#L16 14:37
the macro is inactive since it isn't surrounded by #ifdef MVM_GC_DEBUG 14:38
timotimo oh?
dogbert17 did he just forget them ...
timotimo you mean the not_fromspace macro would never even reach the code? 14:39
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
nine dogbert17: github.com/MoarVM/MoarVM/blob/mast...gc/debug.h 14:41
dogbert17: MVM_ASSERT_NOT_FROMSPACE is empty unless MVM_GC_DEBUG is active 14:42
dogbert17 true, it's just that all other occurances of this call is within #ifdef MVM_GC_DEBUG, e.g. github.com/MoarVM/MoarVM/blob/mast...ame.c#L716 14:43
but perhaps it's harmless the way it is 14:44
timotimo i don't see a problem here 14:45
dogbert17 if you're happy then I'm happy :)
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
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 15:14 brrt joined
Geth MoarVM/jit-legacy-cleanup: 11 commits pushed by (Bart Wiegmans)++
review: github.com/MoarVM/MoarVM/compare/e...3d8bf426fc
15:18
brrt pushing a rebase now 15:21
Geth MoarVM/jit-legacy-cleanup: 25 commits pushed by (Bart Wiegmans)++
review: github.com/MoarVM/MoarVM/compare/3...8e28708c1b
brrt okay, that's it
Geth MoarVM: bdw++ created pull request #669:
Cleanup legacy JIT
15:29
brrt pls review whoever wants 15:33
16:06 zakharyas joined 17:21 zakharyas joined 18:01 robertle joined 18:11 Ven`` joined 18:50 dogbert2 joined
dogbert2 has anyone looked at this tool? mtuner.net/ 18:51
lizmat hasn't, but it looks very interesting at first glance 18:53
19:05 harrow joined 19:10 FROGGS joined 19:14 Ven joined
Geth MoarVM/jit_nativecall: aad9014421 | (Stefan Seifert)++ | 3 files
Support an arbitrary number of pointer arguments in JITed NC
19:33
19:46 MasterDuke joined
lizmat nine++ 19:47
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:52
19:53 zakharyas joined
nine Except, that this doesn't handle type objects correctly... 19:56
timotimo hmm, "just" do isconcrete :) 20:15
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:16
Does this look sane? gist.github.com/niner/60b58d6bca7e...099b9fe7e7 20:18
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
timotimo oh, that is very possible 21:03
22:25 dogbert2 joined
samcv good * 22:28