github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
03:52 lucasb left 05:10 Kaiepi left 05:41 MasterDuke left 06:37 nebuchadnezzar joined 07:35 Altai-man joined 07:56 Altai-man left, Altai-man joined 08:08 sena_kun joined 08:10 Altai-man left 09:22 zakharyas joined 09:58 domidumont joined 10:33 Geth joined 11:34 Kaiepi joined 11:35 Kaiepi left 11:37 Kaiepi joined
nine So, I've decided to abandon the existing attempts to get interning of parametrics to work. There's just not enough duct tape in the world to hold resolve_param_interns together. It will inevitable run into problems where objects created during the process keep pointing to non-interned parametrics. 11:38
The second attempt did not fare better either. Instead of resolving parametric interns during MVM_serialization_deserialize I've tried to make it more recursive by plugging it into deserialize_stable and deserialize_object instead, i.e. when we actually deserialize those objects. 11:40
The theory was that this way we can actually traverse the tree of objects and stables in correct order to have all necessary interning done when trying to resolve an intern (i.e. all it's parameters and the types they point at are resolved already). 11:41
This attempt died as well because deserialization is not really done recursively either but with a work loop and queues for objects and stables. So when I try to resolve an interned object, it's possible that the parametric type's stable is actually not yet resolved but still in that queue. 11:42
The reason for this being an iterative process with stubs instead of a simpler recursive implementation is that we actually can have loops, and indeed the simplest example is type objects themselves. They point at their STable and the STable has a WHAT pointer which points back at the type object. 11:44
11:46 Kaiepi left 11:47 Kaiepi joined 11:48 Kaiepi left 11:55 zakharyas left 12:07 Altai-man joined 12:08 Kaiepi joined 12:10 sena_kun left
Altai-man nine++ # very brave and admirable efforts 12:50
lizmat nine: sorry to hear abandoning after so much effort 14:08
lizmat knows how that feels
nine: so are you saying that deserialization should be a recursive process ?
timotimo i think the conclusion was that it can't be done without implementing something just like what we have now to get around the reference loop trouble? 14:10
15:19 domidumont left
nine How on earth has this copy pasta survived for 6 years?! github.com/MoarVM/MoarVM/blob/mast...on.c#L2338 15:36
timotimo huh, was that an actual bug? 15:47
nine absolutely 15:48
Should read MVMint32 orig_contexts_data_offset = reader->contexts_data_offset;
16:08 sena_kun joined 16:10 Altai-man left
lizmat he... my record for finding a bug in production code is 10+ years :-) 16:27
it was an off-by-one
16:36 Kaiepi left 16:37 sena_kun left 18:29 patrickb joined
nwc10 .tell brrt blog.pyston.org/2020/10/28/pyston-...er-python/ 19:35
tellable6 nwc10, I'll pass your message to brrt
nine Btw. rr finally works on Ryzen! github.com/mozilla/rr/wiki/Zen 20:01
nwc10 Woohoo! 20:02
or is that !oohoW
\o/
ooh, I can't type backwards.
20:02 vesper left 20:21 vesper11 joined 20:27 vesper joined 20:30 vesper11 left 20:31 MasterDuke joined 20:48 vesper11 joined, vesper left
[Coke] ¡ooɥooM 21:12
21:59 timotimo left, sivoais joined, timotimo joined
nine All tests successful. 22:01
And ===> Testing [OK] for MagickWand:ver<0.1.0>:auth<github:azawawi>
So this is it! The recursive attempt actually wasn't that bad after all. I just plugged into the wrong layer. That and of course the countless smaller mistakes I tend to make when working on something like this. 22:02
japhb nine: Wait, so you actually have parametric interning fully fixed now (at least locally)? 22:10
Or do you mean you just made another step forward
?
nine ===> Testing [OK] for PDF::Tags:ver<0.0.3>:auth<github:pdf-raku>:api<PDF.1.7> 22:11
===> Testing [OK] for Uzu:ver<0.3.6> 22:12
I dare say it's fixed for good :) Those are the 3 modules that my previous implementation (of which is almost nothing left) broke 22:13
Will PR the fix tomorrow 22:14
22:23 patrickb left
timotimo absolute wow, my friend 22:27
japhb Yeah, huge nine++, that was some serious dedication! 23:16
23:17 Kaiepi joined 23:32 Kaiepi left