github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
MasterDuke timotimo: any idea why gist.github.com/MasterDuke17/e82d3...769fedf684 would cause `Argument "Expected 3 operands and 0 params, got 0" isn't numeric in addition (+) at tools/expr-template-compiler.pl line 257, <STDIN> line 2399.` ? 00:37
timotimo sounds like an error not being properly output'd 00:38
not sure what's wrong in the templates 00:40
MasterDuke hm, if i remove the macro i get `Mismatched type, got reg expected voidfor do (decodertakebytes ARRAY(0x5600ac023b60)) at tools/expr-template-compiler.pl line 286, <STDIN> line 2398.` 00:42
Geth MoarVM: cb89b74160 | MasterDuke17++ (committed using GitHub Web editor) | tools/expr-template-compiler.pl
Add missing whitespace to die output
00:45
MasterDuke timotimo: the `Expected 3 operands and 0 params, got 2` comes from the macro call 00:59
timotimo why, though? 01:00
MasterDuke i thought maybe it was the string, so i changed it to (const_ptr "foo") and same error
and same with just (tc)
i'm trying changes in the macro itself, but nothing i do changes the error 01:03
timotimo i'd have to defer to brrt :( 01:04
m: srand(10**1000) 01:07
camelia Cannot unbox 3322 bit wide bigint into native integer
in block <unit> at <tmp> line 1
timotimo mhm, kind of makes sense
m: int64.pick
camelia ( no output )
timotimo m: int64.pick.say
camelia (int64)
timotimo haha
m: int64.Range.pick.say
camelia -5273172063679231472
timotimo m: srand(-1)
camelia ( no output )
timotimo OK 01:08
i'm going to bed 01:09
good luck!
MasterDuke thanks. later...
MasterDuke ah, got it compiling. now does it run... 01:23
Geth MoarVM: MasterDuke17++ created pull request #953:
Add a macro for decoder_ensure_decoder and ...
04:44
MoarVM: e0eed2b188 | MasterDuke17++ (committed using GitHub Web editor) | tools/expr-template-compiler.pl
Add operator to die message and fix error about...

the message not being numeric.
04:53
Geth MoarVM: 62946ae642 | (Nick Logan)++ | 2 files
Fix sprintf formatting for the debugserver port

Fixes clang warnings such as "format specifies type 'unsigned long' but the argument has type 'MVMuint64' (aka 'unsigned long long')"
  See: travis-ci.org/rakudo/rakudo/jobs/424479274#L228
06:14
MoarVM: c114c1e67a | niner++ (committed using GitHub Web editor) | 2 files
Merge pull request #952 from ugexe/fix-clang-warnings

Fix sprintf formatting for the debugserver port
brrt \o 08:11
brrt-to-the-future.blogspot.com/201...pdate.html 08:12
i accidentally nuked my magit installation 08:15
and now I'm stuck with the old one, and I hate it 08:16
tadzik brrt: "harmless at runtime, it is nevertheless confusing, so the template compiler" -- I think you accidentally a few words :) 08:18
brrt tadzik: thanks 08:20
Geth MoarVM/jit-expr-optimizer: 4 commits pushed by (Bart Wiegmans)++ 08:25
lizmat brrt: "it is nevertheless confusing, so the template compiler " seems the end of the sentence is missing 08:29
brrt++ # brrt-to-the-future.blogspot.com/201...pdate.html 08:30
brrt thank you 08:31
fixed it 08:32
Geth MoarVM/fork-safety: ec8bd3d909 | (Bart Wiegmans)++ | 5 files
[Spesh] Tear down spesh worker in full_cleanup

If the spesh worker is still active the GC can try to free a lock that is being held, which leads to an abort in libuv. Stopping the thread makes full-cleanup work (although it still leaks).
Thread is stopped by signalling with VMNull. Ideally we'd unshift this to the front of the queue, but that is more complicated.
08:33
MoarVM/fork-safety: 5e1e301402 | (Bart Wiegmans)++ | 3 files
[ConcBlockingQueue] Unmoving body

The locks structure was already malloc'd, and I extended this to include the entire body. This prevents the GC from moving the body while we are blocked on acquiring a lock, simplifying the code, and has negligible cost.
brrt ^rebase
MoarVM/fork-safety: fe8b30ec79 | (Bart Wiegmans)++ | 3 files
[IO] Stop event loop thread

Stop loop with uv_stop(uv_loop) and join the thread
timotimo brrt: hack.p6c.org/~timo/perl6_log.html 12:47
brrt: hack.p6c.org/~timo/moarvm_log.html 12:48
brrt timotimo++ 12:53
brrt I've decided to ignore the debugserver thread for the purposes of fork() 13:25
and...
(as in, if there is a debugserver thread, we're not going to do fork(), atm) 13:26
timotimo fwiw, the debug server client is supposed to already cope with disconnection of the server ... or at least i seem to remember that 13:33
brrt that's fine; the problem is I can't *stop* the debug server thread :-) 13:49
becuase there is no safe, portable way to interrupt a thread waiting on accept()
or at least, I don't htink there is
timotimo oh, i remember that 13:52
hm, so how does libuv implement accepting listen sockets? 13:53
they can't "only accept if there's a socket trying to connect", or can they?
geekosaur if it's O_NONBLOCK accept() would return EAGAIN if nothing's in the listen queue 14:06
brrt yeah, but it is blocking 14:07
libuv can do accept(), yes
but I don't want to have to rewrite the debugserver today :-) 14:08
timotimo um, why don't we just connect to the socket locally to get out of the accept? 14:13
jnthn brrt++ # blog 15:12
brrt timotimo: that is insane, but not so bad actually 16:07
brrt I'd have to publish the socket though 17:05
timotimo or just publish a "interrupt the server" function 17:19
brrt oh, yeah, or that
:-)
Geth MoarVM: jstuder-gh++ created pull request #954:
Implement 'cast_load_addr' tile for exprjit
20:18
samcv good * 21:07
timotimo hello samcv 21:12
samcv gonna fix this bug right now github.com/MoarVM/MoarVM/issues/924 21:39
lizmat ++samcv 21:42
samcv essentially going to take it out of the database since there are points that don't exist that have this property. unlike every single other property 21:43
so we can't be sure it's in the database
i.e. while others default to default property values if they aren't specified, this one does
err does not
timotimo oooh 22:27
this program bails out because trunc_i8 is missing from the jit! 22:28
33.47user 0.13system 0:33.30elapsed 100%CPU (0avgtext+0avgdata 175504maxresident)k 22:33
45.69user 0.17system 0:45.70elapsed 100%CPU (0avgtext+0avgdata 180612maxresident)k
the top one is with jit (because i'm not using int8 for that one variable) and the bottom one is with int8 there 22:34
MasterDuke !! 22:55