github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:39 tellable6 left 00:43 tellable6 joined 00:45 lucasb left 01:40 zakharyas joined 02:33 AlexDani` joined 02:37 AlexDaniel left 02:45 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined 03:04 MasterDuke left 04:56 brrt joined 05:25 robertle left 06:07 domidumont joined 06:08 domidumont left
brrt timotimo: suggestion wasn't to use ConcurrentBlockingQueue, though, but to have a fixed-size (ring?) buffer 06:29
nwc10 good *, brrt
brrt ohai nwc10 06:33
06:50 domidumont joined 07:17 patrickb joined 07:28 brrt left 07:53 patrickb left 08:29 brrt joined 08:31 sena_kun joined 09:12 zakharyas left 10:13 sena_kun left 10:38 brrt left 12:03 brrt joined 12:36 sena_kun joined 12:45 lucasb joined, zakharyas joined 12:58 zakharyas left 13:17 zakharyas joined 13:49 zakharyas left 13:53 Kaiepi left, Kaypie joined 13:54 brrt left 13:57 zakharyas joined 14:00 Kaypie left, Merfont joined 14:15 zakharyas left 14:16 Merfont is now known as Kaiepi 15:23 domidumont left 16:08 MasterDuke joined 16:38 sena_kun left 16:59 squashable6 left 17:00 squashable6 joined 17:24 domidumont joined 17:26 domidumont left 17:27 domidumont joined 17:49 squashable6 left 17:54 squashable6 joined
timotimo moarvm spesh vm events coming up 18:01
oooh, C is angry at me 18:06
18:09 domidumont left
timotimo hm, all the uninitialized values 18:18
18:37 pamplemousse joined
timotimo turns out values stay uninitialized if you don't write to them 19:13
MasterDuke those crazy C compilers, can never be trusted... 19:15
19:16 Ven`` joined
timotimo m: constant \T := array[int64] but role { }; my T @foo = 1, 2, 3; say @foo 19:17
evalable6 (exit code 1) Type check failed in assignment to @foo; expected array[int64]+{<anon|1>} but got Int (1)
in block <unit> at /tmp/faBIugDgBS line 1
timotimo m: constant \T := array[int64] but role { }; my T @foo; @foo = 1, 2, 3; say @foo
evalable6 (exit code 1) Type check failed in assignment to @foo; expected array[int64]+{<anon|1>} but got Int (1)
in block <unit> at /tmp/Ayyt_KkO4p line 1
timotimo er 19:18
m: constant \T := array[int64] but role { }; my T $foo; @($foo) = 1, 2, 3; say @foo
evalable6 (exit code 1) ===SORRY!=== Error while compiling /tmp/QVGjW7ablA
Variabl…
timotimo, Full output: gist.github.com/0c3765b6edbc5201d6...0a3205f71b
timotimo m: constant \T := array[int64] but role { }; my T $foo; @($foo) = 1, 2, 3; say $foo
evalable6 (exit code 1) Invocant of method 'iterator' must be an object instance of type 'array::intarray', not a type object of type 'array[int64]+{<anon|1>}'. Did you forget a '.new'?
in block <unit> at /tmp/oHlCzBCLsE line 1
timotimo i see that a native array loses its nativeness when a role is mixed in
m: class test is array[int64] { }; say test.^repr
evalable6 (exit code 1) No such method 'repr' for invocant of type 'Perl6::Metamodel::ClassHOW+{<anon>}'. Did you mean any of these?
grep
ver

in block <unit> at /tmp/rsh3_wcEsJ line 1
timotimo m: class test is array[int64] { }; .name.say for test.^roles 19:19
evalable6 (exit code 1) P6opaque: missing attribute protocol in compose of array::intarray[int64]
in block <unit> at /tmp/NFIByoMFd2 line 1
timotimo m: class test is repr<VMArray> is array_type(int64) { }; .name.say for test.^roles 19:20
evalable6
timotimo wtf: releases constant \T := array[int64] but role { }; my T $foo; @($foo) = 1, 2, 3; say $foo 19:25
i thought this is supposed to get all the bots to got o work 19:26
committable: releases constant \T := array[int64] but role { }; my T $foo; @($foo) = 1, 2, 3; say $foo
c: releases constant \T := array[int64] but role { }; my T $foo; @($foo) = 1, 2, 3; say $foo
committable6 timotimo, gist.github.com/09c9cf649101826e0d...20cba19c91
timotimo, gist.github.com/8d59d7fabc3855c540...c74677345b
timotimo oh 19:27
i was just forgetting a .new wasn't i
m: constant \T := array[int64] but role { }; my T $foo .= new; @($foo) = 1, 2, 3; say $foo
evalable6 []
timotimo m: constant \T := array[int64] but role { }; my T $foo .= new; $foo[0] = 1; say $foo
evalable6 (exit code 1) MVMArray: bindpos expected object register
in block <unit> at /tmp/j1XDUaOOZD line 1
timotimo m: constant \T := array[int64] but role { }; my T $foo .= new; $foo[0] = "hello"; say $foo
evalable6 (exit code 1) Type check failed in assignment to int array element #0; expected int64 but got Str ("hello")
in block <unit> at /tmp/vXCeZrCvl4 line 1
timotimo m: constant \T := array[int64]; my T $foo .= new; $foo[0] = 1; say $foo
evalable6 [1]
timotimo not sure how that difference happens 19:28
c: releases constant \T := array[int64] but role { }; my T $foo .= new; $foo[0] = "hello"; say $foo
committable6 timotimo, gist.github.com/0dba709161d1e335bc...a4cd7e6eee
discord6 <RaycatWhoDat> c: say 42 19:33
committable6 RaycatWhoDat, Seems like you forgot to specify a revision (will use “v6.c” instead of “say”)
RaycatWhoDat, ¦v6.c (39 commits): «42␤»
discord6 <RaycatWhoDat> c: releases say 42
committable6 RaycatWhoDat, ¦releases (39 commits): «42␤» 19:34
timotimo gist.github.com/timo/f4020bb85a102...3424cf0276 - jnthn first draft of SpeshOverviewEvent 19:37
perhaps instead of cleared_stats it should just give the current size of the stats array
Geth MoarVM: 6f72c92f9c | (Timo Paulssen)++ | src/gc/orchestrate.c
vmevent: divide timing numbers by 1000

just like we do in the profiler
19:54
MoarVM: 204eb28f0e | (Timo Paulssen)++ | 8 files
vmevent: new event type: SpeshOverviewEvent

spits out some timings and stats about work done, like how many static frames showed up for the first time, how many specializations were due to OSR, how long the individual stages took, etc.
21:44 lucasb left 22:20 Ven`` left 23:14 MasterDuke left 23:46 pamplemousse left