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