| IRC logs at
Set by AlexDaniel on 12 June 2018.
00:32 konvertex left 01:05 patrickz left 07:09 patrickb joined 07:19 Altai-man_ joined 08:11 zakharyas joined
nwc10 good *, #moarvm 08:13
I went on a "coffee raid" to Andrea's parents. Actual primary objective was to see if they had the sort of sticky tape I wanted. They do. I don't need to buy any. Good
Secondary objective - (differnt) ecoffee - not quite so good. I looked at the machine, water level seemed fine, pushed the button. 08:14
horrible high pitched whine - the grinder is "running on fumes". first time in ages that it has been left in a state of "refill the beans"
nine Joy and frustration can be so close with coffee 08:24
08:26 sena_kun joined 08:27 Altai-man_ left
nwc10 nine: my colleague (who is actually in St Pölten has set his work status to "out of coffee 😱". 08:32
Melanie (whom you have met) has set hers to
nine Somehow our employees never have as good excuses as those 08:33
08:33 konvertex joined
nine Well, could be worse I guess: the cat could block you from making coffee 08:34
nwc10 But to do that, a cat would have to stop blocking the laptop keyboard, which is a higher priority task (I thought) 08:35
(I know that that one isn't, but maybe it doesn't matter once it knows that it has the bipedal servant's attention)
nine That look does not allow you to go back to a laptop! 08:36
nwc10 "know your place in life, minion!" 08:37
jnthn Hm, the office coffee maker didn't have any problems with lack of beans, however did just tell me it's filled its empty grounds container... 09:39
At least it made me a coffee first, so that's less thinking to do before the coffee :)
So...where was I...oh right, continuations and GC 09:45
nine Much simpler problems than stubborn coffee makers 09:51
jnthn Maybe I shoulda done them before the coffee... 09:52
MasterDuke jnthn: since i think you've said you don't get github notifications, 09:55
tellable6 2020-05-15T00:32:21Z #raku <Xliff> MasterDuke Ooh! Thanks!
jnthn MasterDuke: I do get them, just sometimes a bit overwhelmed by them :) 09:56
MasterDuke ah, ok, don't need the extra ping then 10:01
Geth MoarVM/new-disp: 59d5e72253 | (Jonathan Worthington)++ | 4 files
Reinstate freeing of uninvoked continuations
MoarVM/new-disp: 971a75ef14 | (Jonathan Worthington)++ | 4 files
Reinstate GC marking of continuations and tags
jnthn Nice, back to Rakudo `make test` passing (with spesh disabled) 10:14
MasterDuke: fwiw, will merge your PR once I get back to a "stable state" 10:15
(As in, once I've got things looking quite clean again with spesh enabled, since checking the impact of your branch is a bit hard when I have to have spesh disabled. :)) 10:16
Hmm...9 spectest failures, 1 probably just that my Rakudo is behind HEAD, and all the rest are about supplies or non-blocking await... 10:19
Thread 1 "moar" received signal SIGSEGV, Segmentation fault. 10:20
MVM_callstack_unwind_frame (tc=tc@entry=0x604b60) at src/core/callstack.c:222
222 switch (tc->stack_top->kind) {
(gdb) p tc->stack_top
$1 = (MVMCallStackRecord *) 0x0
Well, that probably shouldn't happen :)
10:25 Altai-man_ joined 10:27 sena_kun left
timotimo should be possible to scan the entire process memory for 0x0 to see where it may have come from! 10:42
it's just one value out of 2**64, the chances that it appears an additional unrelated time are super slim! 10:43
Geth MoarVM/new-disp: 11bc13e155 | (Jonathan Worthington)++ | src/core/callstack.c
Assert stack top and current region are consistent
MoarVM/new-disp: 645f83a952 | (Jonathan Worthington)++ | src/core/callstack.c
Sync current region correctly in callstack append
jnthn timotimo: I didn't know it was possible to fail at probability harder than me ;) 10:45
Hurrah, that last commit fixes the continuations regression 10:47
Good news: I successfully re-worked continuations for the new callstack model 10:48
Bad news: I now need to re-work deopt for it
timotimo - a digital clock showing 12:34:56? give me a break, that's so unrealistic! 11:06
jnthn Intersting, so it seems that spesh (including deopt) without JIT, inlining, and OSR is already OK. 11:09
This is good, in that it means my first step can be to refactor the deopt to happen lazily on stack unwind
And then test I got that bit right, before doing the uninline changes that depend upon it. 11:10
I'm not sure that in the current state we'll need to fix OSR. Future improvements may implicate it.
I'm a bit surprsied JIT is broken, however. 11:11
Before all of that...lunch :) 11:15
MasterDuke jnthn: no hurry at all re the PR, just wanted to make sure you had in fact seen it 11:17
Altai-man_ >goes for a lunch 11:19
tellable6 2020-05-13T22:21:44Z #raku <AlexDaniel`> Altai-man_: interesting! See
2020-05-13T22:21:46Z #raku <AlexDaniel`> Altai-man_:
2020-05-13T22:22:54Z #raku <AlexDaniel`> Altai-man_: basically, I think 2020.02.1 was botched a bit. The VERSION wasn't set correctly, for some reason
2020-05-13T22:23:06Z #raku <AlexDaniel`> Altai-man_: 2020.05.1 is fine though
Altai-man_ >posts SO answer
I see what you did there!
jnthn Soup takes time to warm... :) 11:20
11:27 evalable6 left 11:28 evalable6 joined 11:33 Kaiepi left, Kaiepi joined 11:53 zakharyas left
jnthn Righty...back to the code 12:01
nwc10 jnthn: we went out to lunch! 12:08
jnthn Something nice?
nwc10 and I forgot, that round here, "cappuccino" has a different default. (and I really should have been aware of this, given that everyone had something "ausebochen" 12:09
jnthn: well, I treated what I got as "free whipped cream" and then a large expresso
you have to ask for it Italian style, IIRC, to get foamed milk.
jnthn ah
nwc10 jnthn: oh yes, actual question's answer - the local thing that relpaced a previous Greek restaurant - local food. Yes, good. I had a "Bauern Cordon Bleu" so it's "Cordon Bleu" with even more things stuffed in it. 12:17
(I have to admit that I liked the Greek restaurant better, because it was awesome. But it was probably the wrong location for that sort of thing) 12:18
I hope that the local "Pizza" place doesn't suffer the same fate, because they do very good Indian.
12:26 sena_kun joined
jnthn There was an Italian place around the corner from where we live, which we tried a few times before the lockdown and quite liked. That hasn't survived, alas. 12:26
12:27 Altai-man_ left
nwc10 :-( 12:29
today was the first day of restaurants here.
The waitress hit the low light fitting first. Then I did at the end. Where the tables *used* to be. (and more tables)
jnthn Was on Monday here (though they've been able to do takeaway/delivery the whole time) 12:30
Not sure if picking Monday meant any "rush" to go out to a restaurant again was more spread, 'cus some would Just Do It and others would wait until the weekend. 12:31
I suspect that was the plan, or at least, to do it after the 3-day weekend (last Friday was a holiday here)
nwc10 yes. I think that the thing here is that today is the 15th, and that features in other contractural things as half-a-month
and yes, Monday seems a better day to pick 12:32
have just been up to investigate the rumbling. It's not the washing machine. It's the concrete mixer for nextdoor's new pool foundations.
jnthn In fact, it's been 4 day weeks so often of late (easter, 1st May, 8th May) that when I woke up this morning my body felt like it was saying "wtf, but we worked 4 days, it's rest time" :)
nwc10 "Perlmooser beton". That's off topic here, isn't it? :-)
jnthn: :-) Happens here too, but one day fewer. 12:33
We can't slack on the 8th
er, strictly that should be "Beton". Grammar is hard. 12:34
Geth MoarVM/new-disp: b0347e3db6 | (Jonathan Worthington)++ | 3 files
Preparations for lazy deopt all

We'll twiddle the frame kind, meaning that we can keep the logic in frame unwind less branch-y, which is probably a net win. While some other paths do have to do a bit more checking now, they should be rather less common code paths (GC mark, frame heap promotion, and continuations).
jnthn Hmm, so I think deopt can get a bit cheaper, in that I'm not sure under the new design we're going to have any blockers to uninlining into stack frames rather than heap frames 12:39
13:24 vrurg_ joined 13:26 vrurg left 13:28 vrurg joined 13:31 vrurg_ left 13:55 zakharyas joined 14:25 Altai-man_ joined 14:27 sena_kun left
Geth MoarVM/new-disp: 4b3870fabd | (Jonathan Worthington)++ | 3 files
Perform global deopt lazily as we unwind callstack

This is a bit more CPU cache friendly as it means we don't need to go looking up a bunch of stuff relating to a frame down the stack, only the record itself. The primary reason for this, however, is that it means we shall only have to perform uninlining at the very top of the call stack, which greatly eases the process (since it's trivial to create records at the top, but would be very fraught, and quite costly, to rewrite the whole stack at the point of a global deopt). The update of uninlining is still to come.
MoarVM/new-disp: 77abbc810b | (Jonathan Worthington)++ | 3 files
Have unwinder hand back frame to return into

Since it will not be returner->caller in the case that we do a lazy deopt and it preforms uninlining.
timotimo exciting news 15:13
i thought we'd probably have to do much less deopting in cases where we've got a loop at the top that deopts and OSRs a bunch, but an OSR after a deopt doesn't really re-optimize stack frames further down at all 15:14
jnthn I don't think this changes the amount of deopting we have to do, just its cost. 15:18
This is a bit tricky... 15:34
Need to flip the ordering of uninling around from deepest first to shallowest first, which means I need to reconsider all the fixup bits :) 15:35
timotimo oh, that sounds tricky for sure 15:39
15:41 zakharyas left 15:42 zakharyas joined, domidumont joined 15:49 zakharyas left 15:50 zakharyas joined 16:13 zakharyas left, zakharyas joined 16:16 Voldenet left 16:22 Voldenet joined, Voldenet left, Voldenet joined 16:25 sena_kun joined 16:27 Altai-man_ left
jnthn oh wow, I think the final result is actually a good bit simpler to reason about 16:38
4 files changed, 126 insertions(+), 200 deletions(-) 16:47
This makes me happy. Less happy, alas, is that it blows up in CORE.setting compilation
Geth MoarVM/new-disp: af1f04aaf9 | (Jonathan Worthington)++ | 4 files
Re-work uninlining for the new callstack scheme

Overall, this is a simplification. Since we don't have to care about uninlining in the middle of a callstack any more, the code to deal with clearly disappears. However, a further benefit we get is that uninline can do its work, and then leave its caller to do the appropriate kind of next action on the stack top, whether it's the deopt one case or lazy ... (10 more lines)
jnthn Hmm, and I think that's going to be next week's debugging fun. 16:55
17:02 domidumont left
jnthn ah, good, there are simpler versions of it to go after... But anyways. Home time. 17:03
17:15 discoD joined
timotimo sounds very promising 17:16
i assume you're already testing with NODELAY 17:17
17:21 patrickb left 17:23 patrickb joined 17:24 patrickz joined 17:27 patrickb left
jnthn timotimo: Not when I can get cases just with BLOCKING :) 17:54
timotimo so is the simpler version you can go after somewhere in nqp? :D 17:57
18:23 zakharyas left 18:25 Altai-man_ joined 18:27 sena_kun left 19:21 MasterDuke left 19:31 zakharyas joined 20:01 Kaeipi joined 20:02 discoD left, Kaiepi left
jnthn timotimo: No, but build Rakudo with inline disabled works, then some tests fail 20:07
timotimo ah, i see
that's not bad, yeah
jnthn That said...something is off with deopt generally. There's been a long-standing workaround in deopt.c that is now gone, and a few tests - even without uninlining - now fail. 20:08
So will probably end up trying to get to the bottom of that too
But, Monday... :)
timotimo: Did you see the PRs for p6-app-moarvm-debug? 20:23
timotimo oh, i did not! 20:25
20:26 sena_kun joined
lizmat takes an early night after chasing a lot of bugs that were bugs in testing 20:26
jnthn lizmat++ 20:27
20:28 Altai-man_ left 20:43 MasterDuke joined
vrurg I'm rewriting rakudo INSTALL.txt and found a mention of "NQP-rx that comes with MoarVM". What is it? I don't see any mentions of any *-rx under nqp/ 21:20
Can I just remove that note then?
timotimo oooh 21:21
that used to say "Parrot."
moritz, who also wrote that paragraph, also turned this instance of Parrot into MoarVM 21:22
so yeah, you can toss that
vrurg timotimo: thanks!
(but that 'oooh' did scare me a bit :D)
timotimo i'm sorry, i should be aware of my responsibility as a public figure! ;) 21:23
vrurg "A couple of dozen of people turned grey when the commander of a bomb squad said 'oh, f*' realizing that he forgot to buy some baby milk" :) 21:25
21:27 zakharyas left
patrickz .tell bartolin The previous failure is solved. Now I have a new JVM error: Help appreciated! 21:53
tellable6 patrickz, I'll pass your message to bartolin_
patrickz oops wrong channel... 21:58
22:00 sena_kun left 22:05 discoD joined 22:07 patrickz left