Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-10-26

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:33 evalable6 joined #moarvm
01:56 ilbot3 joined #moarvm
01:56 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
03:05 Geth ¦ MoarVM: MasterDuke17++ created pull request #734: If dividing by 1, just return the numerator
03:05 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/734
03:25 lizmat joined #moarvm
06:21 evalable6 joined #moarvm
06:40 domidumont joined #moarvm
06:45 domidumont joined #moarvm
06:47 domidumont joined #moarvm
07:13 Geth ¦ MoarVM: b73edfa4b3 | (Samantha McVey)++ | 6 files
07:13 Geth ¦ MoarVM: Include the type of unhandled register in error messages
07:13 Geth ¦ MoarVM:
07:13 Geth ¦ MoarVM: Added better errors for CStruct, MVMiter, VMArray, and frame.c
07:13 Geth ¦ MoarVM: Example: Unhandled lexical type 'int8' in lexprimspec for '$var'
07:13 Geth ¦ MoarVM: Before: Unhandled lexical type in lexprimspec for '$var'
07:13 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b73edfa4b3
07:13 Geth ¦ MoarVM: 7d666c203c | niner++ (committed using GitHub Web editor) | 6 files
07:13 Geth ¦ MoarVM: Merge pull request #732 from samcv/lexical_type
07:13 Geth ¦ MoarVM:
07:13 Geth ¦ MoarVM: Include the type of unhandled register in error messages
07:13 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/7d666c203c
07:50 zakharyas joined #moarvm
07:55 zakharyas joined #moarvm
08:10 Ven joined #moarvm
08:48 brrt joined #moarvm
10:53 brrt joined #moarvm
11:43 dogbert2 jnthn: how was the vacation?
12:03 timotimo https://github.com/perl6/roast/blob/master/S14-roles/parameterized-mixin.t#L20 - to be able to reconcile this test with an Int cache we'd have to add a candidate for "does" that takes its target "is rw" and for the rebless op to return the result rather than only modify its target
12:03 yoleaux 02:05Z <Zoffix> timotimo: you commited the original commit. Would you double check that the change propagated to other native array types is OK and doesn't harm anything: https://github.com/rakudo/rakudo/commit/f3b497c85e
12:09 timotimo another idea i had for implementing this was to only take objects from the cache if the STable still matches, i.e. having "does"ed an Int that came from the cache would not influence what comes out of the cache in the future
12:09 timotimo it will, however, still impact every instance of that object that has been taken out before
12:16 jnthn dogbert2: Nice food, nice beer, nice place :)
12:16 timotimo yay :)
12:35 Ven joined #moarvm
12:41 dogbert2 but no smelly cheese :-)
12:49 brrt good * #moarvm
14:02 zakharyas joined #moarvm
14:06 zakharyas joined #moarvm
15:01 dogbert2 jnthn: I sometimes get a SEGV at https://github.com/MoarVM/MoarVM/blob/master/src/spesh/arg_guard.c#L411 due to 'test' being null. Is there some ('test' retrieving) statement missing there?
15:03 timotimo dogbert2: can you figure out what arg guard it crashes for? the spesh log outputs them
15:03 jnthn No, it's normally because something pokes a real NULL into a register, when that should never happen
15:03 timotimo oh, that's a good point
15:04 jnthn I don't want to NULL-test things in the arg_guard; that's just sweeping the problem under the carpet
15:04 jnthn And means we'll get more of them
15:04 brrt joined #moarvm
15:04 dogbert2 to get the SEGV I run this for a few seconds:   while MVM_SPESH_NODELAY=1 ./perl6 t/spec/S12-attributes/undeclared.t; do true; done
15:04 jnthn (Not to meniton slowing arg guard evaluation down)
15:04 timotimo you could set a break point in SPESH_GUARD_OP_LOAD_ARG conditional on whether test comes back null or ont
15:05 dogbert2 I can try
15:07 zakharyas joined #moarvm
15:10 dogbert2 timotimo: yes, the test comes back null
15:11 timotimo now you can check out which argument it is, what other arguments are in the args array, ...
15:11 timotimo also, what the caller is, etc
15:12 * dogbert2 tries
15:16 timotimo see if MVM_dump_bytecode(tc) does anything helpful
15:16 timotimo (it's full of off-by-ones though)
15:20 dogbert2 timotimo: https://gist.github.com/dogbert17/00cb2c892bd098046923ebf4a97d70aa
15:21 timotimo do you have a backtrace for that?
15:21 dogbert2 not yet :-)
15:21 timotimo i find it surprising to have it die inside the actions file?
15:21 timotimo could it be running multiple evals in parallel or something?
15:24 timotimo gtg
16:25 Geth ¦ MoarVM: 9c97cd72aa | (Stefan Seifert)++ | 3 files
16:25 Geth ¦ MoarVM: Fix JITed nativeinvoke accessing wrong arg registers
16:25 Geth ¦ MoarVM:
16:25 Geth ¦ MoarVM: The code blindly assumed that the native function's arguments are in the WORK
16:25 Geth ¦ MoarVM: register corresponding to the argument number which worked by conincident.
16:25 Geth ¦ MoarVM: Changes in the generated function body can thwart this assumption leading to
16:25 Geth ¦ MoarVM: wrong values getting passed to the native function.
16:25 Geth ¦ MoarVM:
16:26 Geth ¦ MoarVM: Fix by using the information from arg_ins instead.
16:26 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/9c97cd72aa
16:26 nine Quite a surprise that it worked so well
16:29 zakharyas joined #moarvm
17:04 zakharyas joined #moarvm
17:09 ilmari joined #moarvm
17:33 domidumont joined #moarvm
17:44 Ven joined #moarvm
18:13 dogbert17 timotimo: is the information we're interested in still present when the SEGV occurs?
18:16 dogbert17 here's what I have: https://gist.github.com/dogbert17/6257f2d6d3b713207e31b6b260ef8a29
18:28 Ven_ joined #moarvm
19:03 Geth ¦ MoarVM: ugexe++ created pull request #735: Don't throw exception for EINTR when writing to fd
19:03 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/735
19:15 Ven joined #moarvm
19:26 Ven_ joined #moarvm
19:34 samcv good * all
19:34 yoleaux 18:37Z <AlexDaniel> samcv: let me know when you're here
19:51 AlexDaniel o/
19:53 nine Oh, it looks like I found the error in Str arg handling of JITed native calls. Or at least one error.
19:54 AlexDaniel nine: should we wait then?
19:54 AlexDaniel how serious is it?
19:55 nine AlexDaniel: I've already reverted the patch for implementing Str arg handling. This can wait.
19:55 AlexDaniel ah okay
19:55 AlexDaniel cool
19:55 AlexDaniel now I remember :)
19:58 Ven joined #moarvm
20:13 nine And with that I've got confirmed working "is rw" support for ints (which is what Inline::Perl5 needs) and with that a JIT compiled p5_call_method which gives another nice speedup :)
20:13 nine But more on that tomorrow
20:52 Geth ¦ MoarVM: 1c75e5cea3 | (Nick Logan)++ (committed using GitHub Web editor) | src/io/syncfile.c
20:52 Geth ¦ MoarVM: Don't throw exception for EINTR when writing to fd
20:52 Geth ¦ MoarVM:
20:52 Geth ¦ MoarVM: Fixes `Failed to write bytes to filehandle: Interrupted system call` when running:
20:52 Geth ¦ MoarVM: `strace perl6 -e 'while 1 { use nqp; my $s := $*SCHEDULER; my $c := nqp::list("echo", "-n", q||); my $e := CLONE-HASH-DECONTAINERIZED %*ENV; await ^500 .map: { start nqp::spawnprocasync($s.queue, $c, "/", $e, nqp::hash()) }; print "." }'`
20:52 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1c75e5cea3
20:52 Geth ¦ MoarVM: ea47c93d64 | (Jonathan Worthington)++ (committed using GitHub Web editor) | src/io/syncfile.c
20:52 Geth ¦ MoarVM: Merge pull request #735 from ugexe/patch-3
20:52 Geth ¦ MoarVM:
20:52 Geth ¦ MoarVM: Don't throw exception for EINTR when writing to fd
20:52 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ea47c93d64
21:20 samcv nine, should i push my tag or no?
21:20 samcv or do it with that commit. seems that may be important?
21:30 Zoffix samcv: which commit? The one about JIT? nine++ said "I've already reverted the patch for implementing Str arg handling. This can wait."
21:30 samcv no the one that just got pushed
21:30 Zoffix Oh
21:30 Zoffix No idea
21:30 samcv it's fine i'm gonna include that
21:33 evalable6 joined #moarvm
21:36 jnthn oh, didn't think about ongoing release...
21:36 jnthn But yeah, it's safe IMO
21:40 MasterDuke jnthn: re my div_I PR and Int.new. should we create a box_I (or something like it) so Int.new doesn't have to (ab)use a side effect of div_I?
21:45 samcv ok release is done
21:45 AlexDaniel yay! samcv++
21:46 samcv and tag is signed. didn't sign by default so i had to delete it. but it looks like it didn't trigger when i pushed the commits so hopefully none of the bots got the new tag
21:46 samcv well i interupted the git push, so that's probably why
21:47 samcv the tag appeared on github site, but then i deleted it right after, and geth didn't show that i pushed any commits at all
21:47 samcv updating the release instructions
21:48 samcv do we want to start signing all the moarvm tags?
21:49 AlexDaniel sure?
21:49 Geth ¦ MoarVM: 213fc77426 | (Samantha McVey)++ | docs/release_guide.md
21:49 Geth ¦ MoarVM: Update the release guide
21:49 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/213fc77426
21:51 AlexDaniel samcv: maybe it should suggest "$(date '+%Y.%m')"
21:51 AlexDaniel or maybe we should automate it…
21:52 jnthn MasterDuke: Thing is, an _I thingy is already boxed
21:52 samcv AlexDaniel, maybe... i guess. there's only a few steps really
21:52 MasterDuke right, rebox_I?
21:52 jnthn coerce_II mebbe
21:52 jnthn If we want to follow the pattern we already have for those...well, provided I remember the pattern correctly
21:52 samcv i'd only be ok with that if it asked you before doing each step
21:53 ugexe fwiw with or without that last PR the code example it contains, sans strace, always runs ~800 iterations before eeking out 1-3 more iterations really slow, after which point it seems to be deadlocked
22:02 brrt joined #moarvm
22:47 samcv jnthn, so how do i go about uploading it and such
22:48 jnthn samcv: Hm, thought I told you that? :) I certainly gave you access to do it... Just commit it here: https://github.com/MoarVM/moarvm.org/tree/master/releases
22:48 jnthn Changes are automatically pulled every minute
22:49 jnthn So within a minute of your push it'll be released
22:49 jnthn samcv++ # first person to do a MoarVM release
22:49 samcv ok
22:49 jnthn (I was zeroth, of course ;))
22:50 samcv heh
23:14 travis-ci joined #moarvm
23:14 travis-ci MoarVM build failed. Jonathan Worthington 'Merge pull request #735 from ugexe/patch-3
23:14 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/293356962 https://github.com/MoarVM/MoarVM/compare/9c97cd72aa13...ea47c93d6437
23:14 travis-ci left #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary