Geth MoarVM: MasterDuke17++ created pull request #734:
If dividing by 1, just return the numerator
03:05
Geth MoarVM: b73edfa4b3 | (Samantha McVey)++ | 6 files
Include the type of unhandled register in error messages

Added better errors for CStruct, MVMiter, VMArray, and frame.c Example: Unhandled lexical type 'int8' in lexprimspec for '$var' Before: Unhandled lexical type in lexprimspec for '$var'
07:13
MoarVM: 7d666c203c | niner++ (committed using GitHub Web editor) | 6 files
Merge pull request #732 from samcv/lexical_type

Include the type of unhandled register in error messages
dogbert2 jnthn: how was the vacation? 11:43
timotimo github.com/perl6/roast/blob/master...ixin.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: github.com/rakudo/rakudo/commit/f3b497c85e
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
it will, however, still impact every instance of that object that has been taken out before
jnthn dogbert2: Nice food, nice beer, nice place :) 12:16
timotimo yay :)
dogbert2 but no smelly cheese :-) 12:41
brrt good * #moarvm 12:49
dogbert2 jnthn: I sometimes get a SEGV at github.com/MoarVM/MoarVM/blob/mast...ard.c#L411 due to 'test' being null. Is there some ('test' retrieving) statement missing there? 15:01
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
timotimo oh, that's a good point
jnthn I don't want to NULL-test things in the arg_guard; that's just sweeping the problem under the carpet 15:04
And means we'll get more of them
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)
timotimo you could set a break point in SPESH_GUARD_OP_LOAD_ARG conditional on whether test comes back null or ont
dogbert2 I can try 15:05
dogbert2 timotimo: yes, the test comes back null 15:10
timotimo now you can check out which argument it is, what other arguments are in the args array, ... 15:11
also, what the caller is, etc
dogbert2 tries 15:12
timotimo see if MVM_dump_bytecode(tc) does anything helpful 15:16
(it's full of off-by-ones though)
dogbert2 timotimo: gist.github.com/dogbert17/00cb2c89...f4a97d70aa 15:20
timotimo do you have a backtrace for that? 15:21
dogbert2 not yet :-)
timotimo i find it surprising to have it die inside the actions file?
could it be running multiple evals in parallel or something?
gtg 15:24
Geth MoarVM: 9c97cd72aa | (Stefan Seifert)++ | 3 files
Fix JITed nativeinvoke accessing wrong arg registers

The code blindly assumed that the native function's arguments are in the WORK register corresponding to the argument number which worked by conincident. Changes in the generated function body can thwart this assumption leading to wrong values getting passed to the native function.
Fix by using the information from arg_ins instead.
16:25
nine Quite a surprise that it worked so well
dogbert17 timotimo: is the information we're interested in still present when the SEGV occurs? 18:13
here's what I have: gist.github.com/dogbert17/6257f2d6...b260ef8a29 18:16
Geth MoarVM: ugexe++ created pull request #735:
Don't throw exception for EINTR when writing to fd
19:03
samcv good * all 19:34
yoleaux 18:37Z <AlexDaniel> samcv: let me know when you're here
AlexDaniel o/ 19:51
nine Oh, it looks like I found the error in Str arg handling of JITed native calls. Or at least one error. 19:53
AlexDaniel nine: should we wait then? 19:54
how serious is it?
nine AlexDaniel: I've already reverted the patch for implementing Str arg handling. This can wait. 19:55
AlexDaniel ah okay
cool
now I remember :)
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
But more on that tomorrow
Geth MoarVM: 1c75e5cea3 | (Nick Logan)++ (committed using GitHub Web editor) | src/io/syncfile.c
Don't throw exception for EINTR when writing to fd

Fixes `Failed to write bytes to filehandle: Interrupted system call` when running:
  `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
MoarVM: ea47c93d64 | (Jonathan Worthington)++ (committed using GitHub Web editor) | src/io/syncfile.c
Merge pull request #735 from ugexe/patch-3

Don't throw exception for EINTR when writing to fd
samcv nine, should i push my tag or no? 21:20
or do it with that commit. seems that may be important?
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
Zoffix Oh
No idea
samcv it's fine i'm gonna include that
jnthn oh, didn't think about ongoing release... 21:36
But yeah, it's safe IMO
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:40
samcv ok release is done 21:45
AlexDaniel yay! samcv++
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
well i interupted the git push, so that's probably why
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
updating the release instructions
do we want to start signing all the moarvm tags? 21:48
AlexDaniel sure? 21:49
Geth MoarVM: 213fc77426 | (Samantha McVey)++ | docs/release_guide.md
Update the release guide
AlexDaniel samcv: maybe it should suggest "$(date '+%Y.%m')" 21:51
or maybe we should automate it…
jnthn MasterDuke: Thing is, an _I thingy is already boxed 21:52
samcv AlexDaniel, maybe... i guess. there's only a few steps really
MasterDuke right, rebox_I?
jnthn coerce_II mebbe
If we want to follow the pattern we already have for those...well, provided I remember the pattern correctly
samcv i'd only be ok with that if it asked you before doing each step
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 21:53
samcv jnthn, so how do i go about uploading it and such 22:47
jnthn samcv: Hm, thought I told you that? :) I certainly gave you access to do it... Just commit it here: github.com/MoarVM/moarvm.org/tree/...r/releases 22:48
Changes are automatically pulled every minute
So within a minute of your push it'll be released 22:49
samcv++ # first person to do a MoarVM release
samcv ok
jnthn (I was zeroth, of course ;))
samcv heh 22:50
travis-ci MoarVM build failed. Jonathan Worthington 'Merge pull request #735 from ugexe/patch-3 23:14
travis-ci.org/MoarVM/MoarVM/builds/293356962 github.com/MoarVM/MoarVM/compare/9...47c93d6437