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.
00:07 reportable6 left 00:09 reportable6 joined 01:26 [Coke]_ joined 01:28 [Coke] left 01:35 [Coke]_ left 01:37 [Coke] joined 01:38 [Coke]_ joined 02:09 frost joined 03:03 [Coke]__ joined 03:05 [Coke] left, [Coke]_ left 03:08 [Coke] joined 04:02 vrurg left 04:03 vrurg joined 04:40 [Coke]_ joined 04:42 [Coke]__ left, [Coke] left 04:45 [Coke] joined 04:48 [Coke]__ joined 04:50 [Coke]_ left, [Coke]___ joined, [Coke] left 05:12 sena_kun joined 05:21 sena_kun left 05:46 epony left 06:07 reportable6 left, reportable6 joined 06:18 [Coke] joined 06:19 [Coke]_ joined 06:20 [Coke]__ left, [Coke]___ left 07:12 epony joined 07:56 [Coke]__ joined, [Coke]___ joined 07:57 [Coke]_ left 07:58 [Coke] left 08:03 [Coke] joined, [Coke]_ joined 08:04 [Coke]___ left 08:05 [Coke]__ left 08:24 sena_kun joined 09:09 frost left 09:33 [Coke]__ joined, [Coke]___ joined 09:35 [Coke]_ left, [Coke] left 10:47 evalable6 left, linkable6 left 10:49 linkable6 joined 10:50 evalable6 joined 11:09 frost joined 11:10 [Coke] joined, [Coke]_ joined 11:12 [Coke]__ left, [Coke]___ left 11:17 [Coke]__ joined 11:18 [Coke] left 11:19 [Coke]_ left 11:21 [Coke] joined 12:07 reportable6 left 12:09 reportable6 joined 12:36 frost left 12:48 [Coke] left 12:49 [Coke]__ left 12:51 [Coke] joined 12:52 [Coke]_ joined 13:04 epony left 13:06 epony joined 13:27 [Coke]_ left 14:24 [Coke]__ joined 14:26 [Coke] left 14:29 [Coke]__ is now known as [Coke] 14:30 nebuchadnezzar left 14:31 nebuchadnezzar joined, [Coke]__ joined 14:32 Kaipii is now known as Kaiepi 14:34 [Coke] left 15:59 [Coke]__ is now known as [Coke] 16:02 [Coke]__ joined 16:04 [Coke] left, [Coke]__ is now known as eek, eek is now known as [Coke] 17:01 RakuIRCLogger joined 17:05 RakuIRCLogger left 17:06 RakuIRCLogger joined 17:39 [Coke]___ joined 17:41 [Coke] left
MasterDuke ok, this really is blowing my mind 17:42
nine ? 17:44
MasterDuke if i add an `if (ins->info->opcode == MVM_OP_cmp_i)` in the emit.dasc implementation of cmp_(i|u), it starts returning the right operand
gist.github.com/MasterDuke17/76057...b095bf4e8c 17:45
when i do that, `my uint $b = -1; say $b; use nqp; my $c; for ^100_000 -> uint $a { $c := nqp::cmp_i($b,$a) }; say $c` prints: 18446744073709551615 17:46
o = 62, cmp_i = 62
99999
17:47 [Coke]_ joined
MasterDuke m: my uint $b = -1; say $b; use nqp; my $c; for ^100_000 -> uint $a { $c := nqp::cmp_i($b,$a) }; say $c 17:47
camelia 18446744073709551615
-1
17:48 [Coke]___ left
MasterDuke my implementations of the *_u ops seem correct, but cmp_i is getting messed up 17:49
it's fine if i copy the cmp_i case into a new cmp_u case, and just hard code the different if/else branches 17:51
does the same thing if i build with clang 17:52
Nicholas for the failing version, if you run it under valgrind, does valgrind get excited? 17:53
MasterDuke oh! it's fine if i put braces in the ifs/elses 17:54
17:56 japhb left
MasterDuke and also interesting, under valgrind but without braces it gives the right value, no complaints 17:56
don't understand what's happening, but adding braces to the if/else bodies is a simple enough fix. 17:57
afk&
Nicholas usually if it worked under valgrind, that can mean that you forgot to zero a variable in a function 17:58
ASAN might reveal what
"works with braces" might have meant "a trailing else that you thought went with one if, but the C grammar thought went with a different if" 17:59
but that wouldn't be affected by valgrind
18:00 japhb joined 18:07 reportable6 left 18:08 reportable6 joined 19:10 linkable6 left, evalable6 left 19:12 linkable6 joined, evalable6 joined 19:16 [Coke]__ joined 19:18 [Coke]_ left 19:55 Geth left, Geth joined 19:56 Geth left, Geth joined
MasterDuke no complaints from asan without braces, just the incorrect value 20:47
huh. and if i add `if $a == 90_000 { $c := nqp::cos_n(rand) };` in the loop body as something to break on after it's been jitted, the value changes to '0', which is still different from when without the jit, but not the value of the right operand 20:53
20:55 [Coke]__ left 20:58 [Coke] joined 21:03 [Coke] left, [Coke]_ joined 22:03 quotable6 left, benchable6 left, releasable6 left, committable6 left, tellable6 left, evalable6 left, reportable6 left, linkable6 left, squashable6 left, bloatable6 left, statisfiable6 left, unicodable6 left, bisectable6 left, greppable6 left, shareable6 left, notable6 left, nativecallable6 left 22:04 squashable6 joined, quotable6 joined, unicodable6 joined, linkable6 joined 22:05 reportable6 joined, bisectable6 joined, statisfiable6 joined, greppable6 joined, notable6 joined, nativecallable6 joined, tellable6 joined 22:06 committable6 joined, evalable6 joined, benchable6 joined, releasable6 joined, bloatable6 joined, shareable6 joined 22:31 [Coke]__ joined 22:32 [Coke]_ left 22:39 sena_kun left 22:52 [Coke]__ is now known as [Coke]