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.
nine I usually inject nqp::sin_i(1e0) to have something to break on :) 09:38
nine Plot twist! This _is_ actually correct: 10:09
m: my uint @a; note(@a[0] = -1);
camelia -1
nine Because assignment is supposed to return the assignee unmodified. The test failed due to a bug in the native array postcircumfix candidate for assignment: github.com/rakudo/rakudo/blob/mast....pm6#L3751 10:11
The last expression (and thus return value) is the nqp::bindpos_* op. But this op doesn't actually have a return value! So the thing we return is the last evaluated expression with an actual return value, which happens to be the assignee we pass to the bindpos op. 10:13
So all good then? Unfortunately not. Because we don't pass assignee entirely unmodified. Instead it is unboxed to what the bindpos op wants as an argument. And this is how -1 gets turned into 18446744073709551615 which is then returned 10:14
lizmat ok, so does this need fixing in Rakudo or in MoarVM ?>
nine Fix is trivial in rakudo. Just need to return assignee explicitly
lizmat ok, will do that
nine And withthat: All tests successful!
lizmat: I already did locally
lizmat in the generator ?
nine yes 10:15
lizmat ok
nine++
nine Finally a working state that treats unsigneds as unsigneds (mostly). There are a few unsigned op variants missing and still a quite a few bugs in unsigned handling, but we now have a basis for actually fixing them, since Rakudo now usually knows whether something is supposed to be signed or not. 10:16
MasterDuke up to new-disp-level amount of code changes? 10:17
nine It's probably gonna take me another week to untangle my local changes and put them into proper commits though :( Unfortunately there's no easy step by step conversion. Even getting rakudo to build required loads of changes.
Rakudo: 34 files changed, 3138 insertions(+), 778 deletions(-), NQP: 28 files changed, 263 insertions(+), 108 deletions(-), MoarVM: 43 files changed, 1169 insertions(+), 469 deletions(-) 10:18
MasterDuke huh. usually for such a simple script, holding down enter to `next` through rr gets somewhere pretty quickly. maybe because i have profiling active, but i broke on my syscall and still haven't hit that BOOTTrack error 10:19
nine Total: 105 files changed, 4620 insertions(+), 1355 deletions(-)
MasterDuke oof
nine Just to fix a single test in a single ecosystem module :D
MasterDuke bonus though, get a bunch of nyi spectests to pass also? 10:20
i wonder if it would be quicker if i disabled spesh 10:21
nine Yes, a few todos now pass. And more should now be easy to fix 10:27
lizmat nine: would it help if I already fixed the nqp::bindpos_* issue ? 10:41
Geth MoarVM/fix_unsigned: 33 commits pushed by (Stefan Seifert)++
review: github.com/MoarVM/MoarVM/compare/f...b4057d1053
11:23
lizmat I'll take that as a no :-) 11:33
nine Well, err...no :)
lizmat well, it looks like returning an atposref_x breaks a few spectest I just saw 11:35
but first /me is going for the last bicycle ride of the year: must make it to 10500+ km :-)
afk& 11:36
nine wait....10500? I thought the goal was 10000? :) 16:16
lizmat ah... that was already reached a few weeks ago :-) 16:17
Nicholas nine: NQP passes tests with your branch on ppc64. If you have endian-related bugs, you've hidden them well... 16:34
Guten Rutsch, #moarvm 16:35
(I believe that this conformes to the good,* * template)
nine Ebenfalls!
lizmat "een goeien roetsj" it's called in local plat :-) 16:36
Nicholas "tsj" is not a combination of letters that I am familar with 16:37
lizmat the "roetsj" is pronounced the same way as "Rutsch" :-) maybe just a tiny bit longer... 16:39
nine I figured it was just a different way to spell the same sound 16:40
MasterDuke hm. i'm now stopped right before the exception message is printed, but i still have no idea why it's being thrown 20:10
[Coke] lizmat++ #goals 22:03
my goal has been: make it to the new year. Almost there.
need to set sights higher in 2022. 22:04
vrurg "Today's agenda: 1. Make a TODO list – done!" 22:20
[Coke] :) 22:21
japhb Technically, making it to the new year is a much bigger goal on January 1 than it is on December 31, so you can reuse the wording and just change the target year. :-) 22:35