github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
01:48 ZzZombo left 01:51 fake_space_whale left 02:03 fake_space_whale joined 02:04 p6bannerbot sets mode: +v fake_space_whale 02:46 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 02:50 lizmat left 05:27 domidumont joined 05:28 p6bannerbot sets mode: +v domidumont 05:55 domidumont left
nine .tell brrt I guess we could get rid of nativecallinvoke. The difference from a user's perspective is really just that nativecallinvoke expects the arguments in a list while nativeinvoke expects them in the args buffer like other invoky ops. 05:57
yoleaux nine: I'll pass your message to brrt.
06:10 domidumont joined 06:11 p6bannerbot sets mode: +v domidumont 06:27 robertle joined 06:28 p6bannerbot sets mode: +v robertle 07:38 fake_space_whale left 07:53 lizmat joined, p6bannerbot sets mode: +v lizmat 08:10 zakharyas joined 08:11 p6bannerbot sets mode: +v zakharyas, zakharyas left 08:12 zakharyas joined 08:13 p6bannerbot sets mode: +v zakharyas 08:45 ZzZombo left 09:02 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 09:47 ZzZombo left 10:17 domidumont left 10:29 lizmat left 10:31 lizmat joined, p6bannerbot sets mode: +v lizmat
lizmat . 10:51
lizmat is trying to create a QAST::Var and make it dynamic, but is not getting much further :-( 10:52
jnthn ?
"make it dynamic" doesn't make sense
Or at least, I'm not sure what you're trying to do 10:53
If fixing that result of declaration thing, it'd just be a lexical scoped lookup for $*FOO
11:07 leont joined 11:08 p6bannerbot sets mode: +v leont 11:09 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo
lizmat jnthn: I'm trying to fix the DYNAMIC issue when a dynamic variable is used in a declaration with a possible initialization 11:09
it currently enters Actions.declarator with a DYNAMIC stuff 11:10
my theory is that if I'm in a declarator, I should get rid of the DYNAMIC stuff and replace it with just a QAST::Var
before it gets further codegenned 11:12
gist.github.com/lizmat/7f82e393e3d...d50f629eae # work so far 11:19
Geth MoarVM: 58e5161ebd | (Bart Wiegmans)++ | src/jit/graph.c
[JIT] Fix legacy jit of strfromname
MoarVM: 95d227987a | (Bart Wiegmans)++ | 3 files
[JIT] Make jit-bisect.pl work in the new world order (spesh log)

I still want the jit sequence number for uniquely identifying frames, but it makes no sense to have them separate from the spesh sequence number. This also fixes jit-bisect.pl to use the spesh log.
11:23 zakharyas left, brrt joined 11:24 p6bannerbot sets mode: +v brrt
brrt \o 11:25
yoleaux 05:57Z <nine> brrt: I guess we could get rid of nativecallinvoke. The difference from a user's perspective is really just that nativecallinvoke expects the arguments in a list while nativeinvoke expects them in the args buffer like other invoky ops.
brrt right
11:39 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci MoarVM build failed. Bart Wiegmans '[JIT] Make jit-bisect.pl work in the new world order (spesh log) 11:39
travis-ci.org/MoarVM/MoarVM/builds/442121296 github.com/MoarVM/MoarVM/compare/f...d227987a17
11:39 travis-ci left
lizmat in QAST: + - QAST::Var(lexical %*foo :decl(contvar)) 11:57
+ [value]
+ -
what does the [value] and the empty line signify ?
11:57 domidumont joined 11:58 p6bannerbot sets mode: +v domidumont
lizmat it's not coming from QAST::Var's dump_extra_node_info method 12:00
ah, I guess it comes from the "extra_children" method 12:01
12:17 lizmat_ joined, p6bannerbot sets mode: +v lizmat_ 12:20 lizmat left 12:35 zakharyas joined 12:36 p6bannerbot sets mode: +v zakharyas 12:42 zakharyas left, zakharyas joined 12:43 p6bannerbot sets mode: +v zakharyas 13:01 brrt left 13:04 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_ 13:05 zakharyas left, zakharyas joined 13:06 p6bannerbot sets mode: +v zakharyas 13:07 ZzZombo left, ZzZombo_ is now known as ZzZombo 13:19 Merfont joined, p6bannerbot sets mode: +v Merfont 13:20 Kaypie left, brrt joined 13:21 p6bannerbot sets mode: +v brrt
brrt nine: I wonder if we can move the boxing of return values to the HLL as well 13:47
basically, treat the return value of nativecall, if a pointer, as an opaque integer, and have nativecallbox() as an opcode 13:48
13:50 buggable left, buggable joined 13:51 p6bannerbot sets mode: +v buggable 14:05 zakharyas left, zakharyas joined 14:06 p6bannerbot sets mode: +v zakharyas 14:25 brrt left 14:50 fake_space_whale joined 14:51 p6bannerbot sets mode: +v fake_space_whale 15:01 domidumont left, AlexDaniel left 15:02 AlexDaniel joined 15:03 p6bannerbot sets mode: +v AlexDaniel 15:05 zakharyas left 15:06 zakharyas joined 15:07 p6bannerbot sets mode: +v zakharyas 15:19 AlexDaniel left 15:21 AlexDaniel joined 15:22 p6bannerbot sets mode: +v AlexDaniel 16:05 zakharyas left 16:06 fake_space_whale left 16:07 Merfont left 16:08 Kaiepi joined 16:09 p6bannerbot sets mode: +v Kaiepi, Kaiepi left 16:10 Kaiepi joined, Zoffix joined, p6bannerbot sets mode: +v Zoffix 16:11 Zoffix left, p6bannerbot sets mode: +v Kaiepi, brrt joined 16:12 p6bannerbot sets mode: +v brrt 16:13 Kaiepi left 16:14 Kaiepi joined 16:15 p6bannerbot sets mode: +v Kaiepi 16:33 robertle left 16:38 zakharyas joined 16:39 p6bannerbot sets mode: +v zakharyas 16:46 lizmat_ left 16:47 lizmat joined, p6bannerbot sets mode: +v lizmat, domidumont joined 16:48 p6bannerbot sets mode: +v domidumont 16:52 lizmat left 16:53 domidumont left 16:54 zakharyas left
Geth MoarVM/faster-Int-str: 8f6b2ac8b0 | (Zoffix Znet)++ | src/math/bigintops.c
Make big Int stringification 1.58x as fast

For Ints larger than 2ā¶ā° and only in base-10.
We do it by reducing the value by largest 10**n number that fits into a single mp_digit and doing so until our remaining number fits into a single mp_digit, at which point we continue ... (21 more lines)
17:11
dogbert17 brrt: are you around? 17:12
Geth MoarVM: zoffixznet++ created pull request #984:
Make big Int stringification 1.58x as fast
17:14
17:17 brrt left 17:18 lizmat joined, p6bannerbot sets mode: +v lizmat 17:21 domidumont joined 17:22 p6bannerbot sets mode: +v domidumont
Geth MoarVM/faster-Int-str: 3740cd0bb9 | (Zoffix Znet)++ | src/math/bigintops.c
Clamp the value before we count its digits
17:27
17:30 AlexDaniel is now known as I`, I` is now known as AlexDaniel
timotimo wowza, libssh will let you authenticate by sending a "success" message instead of a "request" message for auth 17:34
japhb timotimo: link? 17:35
timotimo www.libssh.org/2018/10/16/libssh-0...x-release/ 17:36
17:38 AlexDaniel left, AlexDaniel joined 17:39 p6bannerbot sets mode: +v AlexDaniel 17:40 AlexDaniel left, AlexDaniel joined 17:41 AlexDaniel left, AlexDaniel joined 17:42 p6bannerbot sets mode: +v AlexDaniel 17:48 lizmat_ joined, p6bannerbot sets mode: +v lizmat_ 17:50 lizmat left
tadzik yeah, it look scary :o 17:51
timotimo who uses libssh anyway? 17:52
tadzik I checked my server, and not only it uses libssh2, which is apparently a different thing, but also calls it a "client-side library"
timotimo the problem is only in the server code, and even our perl6 binding to libssh doesn't have server code bound
tadzik so yeah, I was wondering the same thing: who does it affect in practice? Maybe it's me but I don't know
nine brrt: what would be the advantage? 18:05
japhb tadzik: A friend on an RPM-based distro says curl/libcurl link to it. Of course, that's client-side. 18:08
tadzik japhb: nodnod, makes sense 18:12
so if my client can bypass auth, that's a feature, right? :P
18:17 Kaiepi left, diakopter left 18:19 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 18:30 domidumont left 19:04 patrickb joined 19:05 p6bannerbot sets mode: +v patrickb 19:34 lizmat_ is now known as lizmat 20:17 brrt joined 20:18 p6bannerbot sets mode: +v brrt 20:25 patrickb left
brrt \o 20:33
yoleaux 17:32Z <Zoffix> brrt: PR sent: github.com/MoarVM/MoarVM/pull/984
brrt dogbert17: I am now 20:34
how can I help?
nine: each individual ops becomes simpler, and it's easier to implement JITting for 20:35
dogbert17 hi brrt 20:38
I have a GC bug which might be JIT related since I can't repro with the JIT off 20:39
it looks like this, gist.github.com/dogbert17/7f475e44...42da223c12 20:40
timotimo anything with gc debug?
or is that already gc debug?
dogbert17 timotimo: gc debug is on
brrt that does look annoying, yes 20:41
hmm
and it's using the spesh plugin
dogbert17 if I set MVM_JIT_DISABLE=1 it seems to vanish
brrt can you set jit-bisect.pl on it
specifically, jit.bisect.pl --spesh 20:42
dogbert17 does that work even if the fail doesn't occur every run?
brrt nope... do you have an approximate failure rate? 20:43
dogbert17 50%, that's with a small nursery 20:44
if it is small enough it will probably break every time though
brrt if you do, then you can write a script that will run it a number of times, up to the desired level of accuracy, until you either get a crash or don't
dogbert17 tries a jit-bisect ... 20:46
SPESH Broken frame: 577. 20:48
SPESH Acquiring log: spesh-0577.txt
what do I do now? 20:49
a second bisect run complains about frame 567 instead 20:52
brrt hmm, that's annoying 20:55
then it is presumably not reliable enough
(the crash) 20:56
dogbert17 a third run gave 567 again 20:57
file is 892 lines, perhaps I can gist it if you want 20:58
brrt yes, please
dogbert17 gist.github.com/dogbert17/fddecf8d...8dbd9c818f 20:59
brrt it does call speshresolve, so that's suspicious 21:00
unfortunately I don't think I can help you much further now 21:26
dogbert17 thanks for trying 21:27
I wonder if there's a way to make this crash 100% reliable
brrt dogbert17: I have a branch outstanding though that you might test with this 22:09
it's called expr-jit-invoke
it might fix this
22:16 fake_space_whale joined 22:17 p6bannerbot sets mode: +v fake_space_whale 22:31 brrt left 23:38 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 23:39 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 23:46 leont left