[00:02] *** reportable6 left
[00:04] *** reportable6 joined
[00:09] *** patrickb left
[00:58] *** discord-raku-bot joined
[01:19] *** discord-raku-bot left
[01:20] *** discord-raku-bot joined
[01:48] *** discord-raku-bot left
[01:56] *** discord-raku-bot joined
[02:01] *** CaCode_ joined
[02:03] *** CaCode- joined
[02:04] *** CaCode left
[02:06] *** CaCode_ left
[02:08] *** discord-raku-bot left
[02:08] *** discord-raku-bot joined
[04:10] *** nativecallable6 left
[04:10] *** quotable6 left
[04:10] *** greppable6 left
[04:10] *** reportable6 left
[04:10] *** notable6 left
[04:10] *** linkable6 left
[04:10] *** coverable6 left
[04:10] *** bisectable6 left
[04:10] *** unicodable6 left
[04:10] *** bloatable6 left
[04:10] *** statisfiable6 left
[04:10] *** squashable6 left
[04:10] *** committable6 left
[04:10] *** sourceable6 left
[04:10] *** evalable6 left
[04:10] *** releasable6 left
[04:10] *** shareable6 left
[04:10] *** tellable6 left
[04:10] *** benchable6 left
[04:10] *** committable6 joined
[04:11] *** releasable6 joined
[04:11] *** bisectable6 joined
[04:11] *** squashable6 joined
[04:12] *** coverable6 joined
[04:12] *** greppable6 joined
[04:12] *** unicodable6 joined
[04:12] *** nativecallable6 joined
[04:13] *** statisfiable6 joined
[05:11] *** notable6 joined
[05:11] *** sourceable6 joined
[05:12] *** reportable6 joined
[05:12] *** shareable6 joined
[05:13] *** bloatable6 joined
[06:02] *** reportable6 left
[06:03] *** reportable6 joined
[06:12] *** benchable6 joined
[07:12] *** quotable6 joined
[07:12] *** evalable6 joined
[08:11] *** tellable6 joined
[08:59] <Geth> ¦ MoarVM: bb719a6304 | (Stefan Seifert)++ | src/spesh/inline.c

[08:59] <Geth> ¦ MoarVM: Fix uninitialized register after PEA and inlining

[08:59] <Geth> ¦ MoarVM: 

[08:59] <Geth> ¦ MoarVM: The register in question should have been written to by a PHI node and carried

[08:59] <Geth> ¦ MoarVM: the appropriate deopt usage markers. The other side of the PHI (just one

[08:59] <Geth> ¦ MoarVM: version) didn't. So PEA optimized away the writer.

[08:59] <Geth> ¦ MoarVM: 

[08:59] <Geth> ¦ MoarVM: Fix by copying the dopt_users from the PHIs target to the PHI's sources when

[08:59] <Geth> ¦ MoarVM: rewriting returns. This way PEA knows that it has to keep the writer alive.

[09:00] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/bb719a6304

[09:13] *** linkable6 joined
[09:15] <dogbert17> Good morning Nine, already hard at work I see :)

[09:19] <Geth> ¦ MoarVM/fix_unwind_missing_frame: 4 commits pushed by (Stefan Seifert)++

[09:19] <Geth> ¦ MoarVM/fix_unwind_missing_frame: c15c093d51 | Fix unwind missing a frame after special return

[09:19] <Geth> ¦ MoarVM/fix_unwind_missing_frame: 6903c952de | Fix wrong result from bind-will-resume-on-failure due to region record

[09:19] <Geth> ¦ MoarVM/fix_unwind_missing_frame: 469bf91331 | Fix "No frame found in callstack region" error

[09:19] <Geth> ¦ MoarVM/fix_unwind_missing_frame: e7e0bdc003 | Fix unwinding a nested runloop leaving a region start record on the call stack

[09:19] <Geth> ¦ MoarVM/fix_unwind_missing_frame: review: https://github.com/MoarVM/MoarVM/compare/a3a04f47c208...e7e0bdc0034e

[09:20] <nine> dogbert17: Good morning! Well, I didn't do much this week. About time to finish up these PRs

[09:20] <Geth> ¦ MoarVM/master: 5 commits pushed by (Stefan Seifert)++, niner++

[09:20] <Geth> ¦ MoarVM/master: c15c093d51 | Fix unwind missing a frame after special return

[09:20] <Geth> ¦ MoarVM/master: 6903c952de | Fix wrong result from bind-will-resume-on-failure due to region record

[09:20] <Geth> ¦ MoarVM/master: 469bf91331 | Fix "No frame found in callstack region" error

[09:20] <Geth> ¦ MoarVM/master: e7e0bdc003 | Fix unwinding a nested runloop leaving a region start record on the call stack

[09:20] <Geth> ¦ MoarVM/master: 82e2d39a6a | Merge pull request #1611 from MoarVM/fix_unwind_missing_frame

[09:20] <Geth> ¦ MoarVM/master: review: https://github.com/MoarVM/MoarVM/compare/bb719a630499...82e2d39a6a74

[09:21] * dogbert17 checks if the commits fixes the 'indent' bug

[09:25] <nine> It doesn't

[09:26] <dogbert17> Yep, I even reported it as https://github.com/MoarVM/MoarVM/issues/1616

[09:43] <nine> Ah, yes, it's a clear bug in MVM_disp_program_run

[09:43] <nine> Collects MVMObject pointers in the local resume_state_values array but those are ignored by the GC

[09:49] <dogbert17> what, no rabbit hole?

[09:54] *** CaCode_ joined
[09:56] *** CaCode- left
[10:07] <Geth> ¦ MoarVM: 6fd623291a | (Stefan Seifert)++ | src/disp/program.c

[10:07] <Geth> ¦ MoarVM: Fix possible access to fromspace in MVM_disp_program_run

[10:07] <Geth> ¦ MoarVM: 

[10:07] <Geth> ¦ MoarVM: MVM_disp_program_run collected MVMObject pointers in the local

[10:07] <Geth> ¦ MoarVM: resume_state_values array but neglected to tell the GC about those. This could

[10:07] <Geth> ¦ MoarVM: lead to outdated pointers getting written to resume state targets followed by

[10:07] <Geth> ¦ MoarVM: memory corruption.

[10:07] <Geth> ¦ MoarVM: 

[10:07] <Geth> ¦ MoarVM: <…commit message has 5 more lines…>

[10:07] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/6fd623291a

[10:17] <dogbert17> Nine++, impressive

[10:29] *** squashable6 left
[10:31] *** squashable6 joined
[10:38] <timo> whew, you actually ran into this, huh :D

[10:38] <timo> did we run that gcc plugin any time in the recent-ish past?

[10:38] <timo> (should we perhaps put it into CI?)

[10:38] *** linkable6 left
[10:39] <timo> oh, i should probably really run coverity scan again

[10:39] *** linkable6 joined
[10:42] <nine> Well first step would be to make running the GC plugin easier

[10:49] *** linkable6 left
[10:50] <dogbert17> ++timo for coverity scan, it's been a while

[10:51] *** linkable6 joined
[10:52] <dogbert17> I'm more or less out of bugs, only the 'hyper' one remains although I'm not certain that it's MoarVM related

[10:54] *** CaCode- joined
[10:56] <dogbert17> shouldn't all these fixes warrant a bump?

[10:56] * dogbert17 looks for lizmat

[10:56] *** CaCode_ left
[10:56] <lizmat> you rang?

[10:56] <tellable6> 2021-12-03T21:38:44Z #raku <tbrowder> lizmat are you going to publish yr day 4 at midnight utc today?

[10:56] <tellable6> 2021-12-04T01:18:28Z #raku <tbrowder> lizmat i published yr day 4 article, mine is in draft for day 5. for some reason i cannot find the way to schedule the post, just publish manually.

[10:57] <dogbert17> lizmat: fancy a bump given that there aren't any protests. Nine is on a bug killing spree :)

[10:57] <lizmat> ok, could do

[10:58] *** linkable6 left
[11:06] <dogbert17> ++lizmat

[11:21] <lizmat> bumped

[11:27] *** CaCode- left
[11:28] <dogbert17> yay, lizmat++

[11:55] <dogbert17> lizmat: out of curiosity, are you planning on getting an M1 Mac?

[11:58] <nine> Darn....when testing my latest fix I got a segfault in repl.t. Coredump says we processed beyond the boundaries of the current frame's bytecode. Have tried to reproduce it in rr, but so far no luck

[12:02] *** reportable6 left
[12:06] <lizmat> dogbert17: not for the foreseeable future as I'm a bit cash strapped atm  :-(

[12:13] <dogbert17> let's hope some Euros comes flying your way then :) or Apple lowering their prices ...

[12:15] <lizmat> he...  yeah, probably won't be this year...  but there's fortunately not a lot of this year left  :-)

[12:34] <nine> Fixing the p6-algorithm-evolutionary-simple test failure won't be as easy as I'd hoped either. I figured we could just disable the "Cannot unbox %d bit wide bigint into native integer" errors for values > -2**64 and < 2**64. But a test and 2 spec tests explicitly test for those

[12:34] <nine> Disable until the multitude of errors in handling unsigneds are fixed I mean

[13:04] *** reportable6 joined
[13:19] *** [Coke] left
[14:09] <jnthnwrthngtn> Hmm. So what in MVM_disp_program_run allocates?

[14:12] <jnthnwrthngtn> ah, right, the resume states are written after the bytecode frame invocation

[14:21] <nine> Ah, adding a uint_box_type leads to the joy of bootstrapping issues. Maybe I should just add a syscall for setting single hll config keys, so I can do that later on. We don't really need UInts that early on anyway

[14:35] *** evalable6 left
[14:35] *** evalable6 joined
[14:59] *** linkable6 joined
[16:16] <nine> Oh syscalls are so nice. Just a single file to modify for adding one. No changes to NQP necessary :)

[16:38] *** evalable6 left
[16:38] *** linkable6 left
[16:39] *** evalable6 joined
[16:39] <nine> "Fun" fact

[16:40] <nine> P6ints only get the unsigned flag in their storage spec initialized if a native size is set at compose time

[16:40] <nine> For MoarVM, uint is actually not unsigned

[16:41] <nine> Well NQP's uint that is

[16:44] <nine> rakudo actually does it right, so the fix is easy to steal :)

[16:48] <nine> Now that it's finally doing the right thing (tm), I end up with "You cannot create an instance of this type (UInt)"

[16:48] <nine> Because of course....UInt is a subset type (hence the bootstrap issue mentioned earlier). It cannot be created directly. But...where then do UInts actually come from?

[16:49] <lizmat> nowhere yet, afaik

[16:49] <lizmat> UInt  is just a subtype atm

[16:53] <nine> Hm....I can actually use the int_box_type as target of the boxing but call MVM_repr_box_uint based on the lexref target type's (i.e. UInt) unsignedness. That's kind of baking the subset issue into the VM.

[16:53] <nine> But! With this p6-algorithm-evolutionary-simple passes its test suite!

[17:03] *** [Coke] joined
[17:41] *** linkable6 joined
[18:02] *** reportable6 left
[19:05] *** patrickb joined
[20:04] *** reportable6 joined
[20:20] <nine> A little downside of handling unsigneds correctly is that Blob and Buf need to use the correct ops, i.e. atpos_u vs. atpos_i depending on the signedness of their base type. I wonder how I can implement that without tanking performance

[20:21] <nine> In theory the static optimizer should be able to constant fold something like T.^unsigned ?? atpos_u(...) !! atpos_i(...)

[20:21] <MasterDuke> why would it tank performance? a new branch for every op?

[20:22] <nine> That or somehow use mixins or something like that to get the appropriate methods

[20:33] <MasterDuke> sena_kun, jnthnwrthngtn: fyi, the cert for commaide.com expired today

[20:37] <MasterDuke> but i accepted the risk and continued, because i want to try out the heap snapshot viewer

[20:40] *** Guest12 joined
[20:43] *** [Coke]_ joined
[20:45] *** [Coke] left
[21:25] <Geth> ¦ MoarVM: MasterDuke17++ created pull request #1617: Alloca the nativecall args that we can

[21:25] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/1617

[22:27] *** Guest12 left
[22:36] *** [Coke]_ is now known as [Coke]

[22:36] <lizmat> nine: I wouldn't worry about the performance in that respect: we can easily generate the code for using atpos_u vs atpos_i

[22:48] <timo> and put everything spesh has that's already working for atpos_i to work in atpos_u without any change i assume

[23:14] <sena_kun> MasterDuke, not sure if jnthn was that quick, but cannot confirm, it says valid to 5 March to me.

[23:16] <MasterDuke> huh. someone else in #raku got the same message, but i'm not getting it now

[23:17] <timo> it's the difference between www.commaide.com and commaide.com i think

[23:17] <timo> without www i can access it fine, otherwise i get a security warning

