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]
|