Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
timo well, the one that used to be the junction would be replaced with all the values from the junction in turn 00:12
[Coke] need opcode docs for new items in new-disp 00:18
timo do you happen to have a little list of the ops without docs ready to go? 00:31
[Coke] dispatch being the obvious one. 00:32
timo right, that one is ... trivial! :P 00:33
it's kind of the rest of the machinery that's complicated i guess 00:34
[Coke] Looks like time_i and time_n were deleted but not removed from the docs, guessing that's on master. 00:35
I thought more opcodes were deleted, but I guess they weren't documented already.
gist.github.com/coke/72cc6871d5fa5...2b48cde536 are the test failures on the new-disp branch. 00:36
but we weren't passing it 100% on master.
timo many things were deleted for moarvm only 00:39
it doesn't seem like this got all the ops for dispatch in it tho? 00:40
ooh 00:42
those that i was assuming would be ops are actually all dispatchers of their own
[Coke] gist.github.com/coke/72cc6871d5fa5...r-new-diff 00:43
timo documentation for dispatch: "calls a dispatcher named by the first argument. the rest of the arguments vary per dispatcher" :P
[Coke] those are the failure diffeerences between the two; Looks like several ops that were deleted for moarvm were not deleted for other backends, so they're still missing, but from moar's standpoint, that's fine. 00:44
You could probably get away with that if we had a separate doc in repo that was similar to jnthn's presentation. 00:45
and it was linked.
timo if not, then i guess all the boot dispatchers go in the ops.md now? :P 01:02
[Coke] No, I'd rather have a separate doc about how dispatch works. 01:07
nine Actually dispatch also takes a callsite argument. And the arg list starts with the result register (except for dispatch_v) 07:33
As a reader of the docs I'd wonder: what is this callsite argument? What would I need to pass there.
timo you can't 07:39
nine ? 07:40
timo callsites aren't a thing in the nqp language 07:41
just by writing a call to a dispatcher, the callsite is generated
am i wrong? 07:42
nine Well, true. It always depends on which layer you're looking at 07:43
timo indeed
i think the nqp ops docs are for writers (or rather, readers) of nqp code?
or are they for readers of spesh logs?
nine So we actually don't have docs for the interface to MoarVM
timo the sp_ ops don't appear there, right?
nine right
timo i'd think of the callsite argument as an implementation detail for how var args ops are built 07:44
nine Well, sometimes it'd be quite helpful for e.g. implementors to document such implementation details :) 07:52
lizmat I would be willing to document all of these ops... with a little help from my friends :-) 09:51
[Coke] ++'s for everyone. 18:21