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.
Nicholas good *able6, #moarvm 08:30
Geth MoarVM: nwc10++ created pull request #1671:
Remove temporary define for migrating Rakudo extops
10:07
Nicholas ##[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form aka.ms/azpipelines-parallelism-request 10:09
er right. I *think* that someone within "our" "Azure DevOps Organization" likely needs to do this. 10:11
but right now, we seem to be stuck in a fog of default-fail
lizmat good *, #moarvm 11:33
so I started working on really using uint in the core for all of those pesky cases where we need to check for < 0
so I reduced the AT-POS for native arrays taking a uint as index
multi method AT-POS(intarray:D: uint $idx --> int) is raw { 11:34
nqp::atposref_i(self,$idx)
}
this is still slower than the Int:D variant, because it doesn't get inlined
AT-POS BB(7284, 76 bytes) -> BB(1):
target has a :noinline instruction - ins: param_rp_o
what am I missing?
Nicholas (Hi. I don't know enough to even start to answer this) 11:35
lizmat neither... but I hope MasterDuke or nine will be able to have an idea 11:36
nine lizmat: logs.liz.nl/moarvm/2022-02-06.html#16:49 11:57
lizmat aaah... ok, I thought that had already made it into the release 11:58
nine: btw, it's irclogs.raku.org nowadays :-)
ok /me needs to be a little more patient then
lizmat m: multi a(uint) { dd }; multi a(Int:D) { dd }; a 10 # nine, would your work have it dispatch to the uint candidate ? 13:23
camelia sub a(Int:D)
lizmat OOC
jnthnwrthngtn I think the only way a literal ends up getting passed as a native is if there's another argument that is a native and it's a multi-sub dispatch so the optimizer can do the transform 13:52
Nicholas lizmat: "but I hope MasterDuke or nine" - you got jnthnwrthngtn - hopefully second best will do :-) 14:21
nine Right now the optimiyer isn't smart enough to pass a native for a literal, even in multi dispatch. That's exactly the optimization opportunity I'm in the process of investigating 16:30
lizmat nine: would this be the way to make $_ a uint on simple loops? 19:59
gist.github.com/lizmat/633bdd2a454...ed5c53d879
also timo ^^ 20:01
nine lizmat: yes. 20:51