Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-05-22

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

All times shown according to UTC.

Time Nick Message
00:15 vendethiel joined #moarvm
01:53 colomon joined #moarvm
01:54 vendethiel joined #moarvm
02:16 xiaomiao joined #moarvm
02:28 colomon joined #moarvm
04:40 harrow joined #moarvm
05:09 skids joined #moarvm
05:12 skids TWIMC, while reading through moarvm source I was left wondering if there shouldn't be a return before line 52 of src/core/coerce.c
05:15 skids left #moarvm
05:43 FROGGS joined #moarvm
05:44 TimToady you could be right, since flip is otherwise done twice, apparently...
05:45 TimToady btw, it took me far too long to figure out you meant a return statement rather than a carriage return :)
06:04 dalek MoarVM: 2d26914 | FROGGS++ | VERSION:
06:04 dalek MoarVM: update version to 2015.05
06:04 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/2d26914ab4
06:06 * FROGGS .oO( slow cl.exe is slow )
06:29 dalek MoarVM: eae763b | FROGGS++ | ports/macports/Portfile:
06:29 dalek MoarVM: Update macportfile to 2015.05 release
06:29 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/eae763b653
06:36 FROGGS jnthn: tarballs are at:
06:37 FROGGS http://froggs.de/perl6/MoarVM-2015.05.tar.gz.gpg - and - http://froggs.de/perl6/MoarVM-2015.05.tar.gz
06:38 FROGGS [Coke]: please review https://github.com/MoarVM/MoarVM/commit/eae763b653 and https://trac.macports.org/ticket/47803
07:24 Ven joined #moarvm
07:37 zakharyas joined #moarvm
09:01 danaj joined #moarvm
09:09 FROGGS joined #moarvm
11:00 Ven joined #moarvm
11:36 jnthn FROGGS: Both of those files are now in moarvm.org/releases/
11:36 FROGGS jnthn++
12:03 Ven joined #moarvm
12:04 Ven .tell brrt interesting piece of JIT code in LuaJIT https://github.com/LuaDist/luajit/blob/master/src/lj_opt_narrow.c
12:07 Ven no tell here?
12:09 FROGGS it only lives in one channel
12:18 lizmat joined #moarvm
13:03 [Coke] FROGGS++ - nice!, thanks.
13:50 FROGGS macports++ # https://trac.macports.org/changeset/136582
13:51 [Coke] wow, that was quick.
13:51 [Coke] wonder if my +1 helped.
13:51 FROGGS quite possible
13:55 [Coke] I'm all for me expending that little effort! ;)
13:55 [Coke] FROGGS++ again.
13:56 FROGGS [Coke]: so you want to get nqp into macports next?
13:57 [Coke] Yes, that's the plan. It's slightly harder since we want to have both nqp-moar and nqp-jvm.
13:58 [Coke] I honestly got distracted by $dayjob.
13:59 FROGGS yeah
14:29 lizmat joined #moarvm
14:50 FROGGS joined #moarvm
15:33 brrt joined #moarvm
15:33 Ven joined #moarvm
15:33 brrt \o
15:35 skids joined #moarvm
15:36 brrt Ven: interesting piece, yes
15:36 Ven_ joined #moarvm
15:37 brrt of course, we have real integers, unlike luajit
15:37 brrt and iterators
15:37 brrt so we need quite a bit less speculation and brilliance than luajit does
15:38 jnthn Well, or at least *different* speculation and brilliance. :)
15:38 brrt what we do need (or want) is the ability to strength reduce Int to int
15:38 brrt right, i meant for dealing with numbers only :-)
15:39 jnthn Well, a good first step is to generate assembly for the fast path with a fallback
15:39 jnthn (e.g. the non-big-int case)
15:39 jnthn I think the expr tree stuff will make that a load easier to implement.
15:40 * brrt nods
15:40 skids TimToady: wrt backlog: without the return statement it also accesses "result" unitialized... to no real consequence, but... surprised no tools caught that.
15:43 jnthn Indeed
15:43 brrt coerce_istrue is quite funky though
15:43 jnthn Replacing the break; with a return; is likely the best fix
15:43 jnthn (rather that duplicating it in the branches)
15:45 brrt it's not necessarily broken though
15:45 brrt because the result is written to an address, that happens after the boolification method returns
15:45 brrt and the flip is only applied then
15:46 skids right.  Minus some weird racey thing it shouldn't be producing incorrect results.
15:47 brrt currently it just writes either 0 or 1 or garbage to the register, and only then the interpreter executes the callee frame, which writes the correct value to the register
15:47 * brrt nods
15:47 brrt but yeah, it looks rather wrong, i grant that
15:47 brrt and it can be a problem if something 'clever' starts happening to these registers in the meantime
15:47 brrt not sure what that would be
15:47 brrt but it's possible
15:48 brrt now that we're talking about it... when is MVM_coerce_istrue ever actually called with true_addr, false_addr, and would it cost much to eliminate that possiblity and just use a branch-and-goto instead
15:49 dalek MoarVM: d3c3bd4 | jnthn++ | src/core/coerce.c:
15:49 dalek MoarVM: Fix control flow fail; skids++.
15:49 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/d3c3bd49c1
15:49 jnthn brrt: if_o and unless_o I suspect
15:50 brrt hmm
15:52 * skids off to Mad Max, out of some strange sort of sense of obligation to see it.
15:52 jnthn They exist as much for keeping code size down as anything.
15:53 skids left #moarvm
15:59 brrt joined #moarvm
16:01 FROGGS jnthn: can you delete the .gpg file and upload this one? http://froggs.de/perl6/MoarVM-2015.05.tar.gz.asc
16:01 FROGGS jnthn: though, no hurry of course
16:02 jnthn FROGGS: done
16:02 brrt well, if_o and unless_o can still be implemented, that is no problem at all
16:02 brrt (my connection will continue to be flaky in the coming hours)
16:02 brrt oh, i'm wrong
16:02 brrt never mind
16:02 brrt darn
16:02 brrt if you boolify by method call, then surely you can't branch upon the result
16:07 * brrt wonders what it'd take to kill if_o and unless_o, and whether it'd be worth it
16:08 brrt (why insist on killing them? because they bring significant complexity (a full type for the method call version) for very little benefit imho
16:10 brrt the JIT translates them to istrue anyway
16:14 brrt but it does require another register
16:17 brrt by the way
16:19 brrt what does the VM macro expand to
16:28 * brrt off for now
16:28 brrt left #moarvm
16:32 jnthn "the VM macro"?
17:03 FROGGS[mobile] or is it the macro "expand to"?
17:04 FROGGS[mobile] such possibilities!
18:41 oetiker joined #moarvm
18:52 TimToady joined #moarvm
19:09 FROGGS joined #moarvm
20:02 FROGGS joined #moarvm
20:51 FROGGS joined #moarvm
22:48 FROGGS joined #moarvm

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