Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-12-27

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

All times shown according to UTC.

Time Nick Message
01:20 kjs_ joined #moarvm
01:21 kjs_ /msg NickServ VERIFY REGISTER kjs_ ihxldkibeqps
01:21 kjs_ oops!
01:23 kjs_ joined #moarvm
01:58 vendethiel oops :p
02:26 JimmyZ timotimo: A lot of exmaple :P  http://www.compileroptimizations.com/
04:39 vendethiel joined #moarvm
05:22 vendethiel joined #moarvm
06:17 vendethiel joined #moarvm
07:24 vendethiel joined #moarvm
07:30 lue joined #moarvm
08:28 vendethiel joined #moarvm
08:42 rurban joined #moarvm
09:01 vendethiel joined #moarvm
09:11 kjs_ joined #moarvm
09:42 kjs_ joined #moarvm
10:08 vendethiel joined #moarvm
10:14 kjs_ joined #moarvm
10:39 vendethiel- joined #moarvm
11:10 vendethiel joined #moarvm
11:40 rurban joined #moarvm
11:50 zakharyas joined #moarvm
12:00 kjs_ joined #moarvm
12:27 dalek joined #moarvm
12:54 LLamaRider joined #moarvm
12:56 kjs_ joined #moarvm
13:33 vendethiel- joined #moarvm
14:17 kjs_ joined #moarvm
14:42 dalek MoarVM/optimize_refactor: beeca9d | (Jimmy Zhuo)++ | src/spesh/optimize.c:
14:42 dalek MoarVM/optimize_refactor: refactor optimize_bb to call func_array[op] instead of a big slow switch
14:42 dalek MoarVM/optimize_refactor: review: https://github.com/MoarVM/MoarVM/commit/beeca9dd52
15:21 rurban joined #moarvm
15:23 JimmyZ http://files.catwell.info/misc/mirror/tracing-jit-haskell-schilling.pdf  # if anyone like it, basically it uses luajit's architecture(include the various optimization code, about 30%)
15:23 JimmyZ page started at 46
15:24 JimmyZ The VM code shares about 35% with LuaJIT, said the paper
15:44 timotimo JimmyZ: did you profile how much time we spend in bb optimizations?
15:44 JimmyZ timotimo: I din't, but we will add more case
15:45 timotimo right
15:45 JimmyZ and I find a lot of case is in this paper
15:45 JimmyZ like LHF
15:45 timotimo ?
15:46 kjs_ joined #moarvm
15:46 JimmyZ ??
16:38 jnthn It's not particularly obvious that beeca9dd will be an improvement.
16:38 jnthn A C compiler can turn a switch into a lookup table, which is almost certainly kinder to the branch predictor than a function pointer table.
16:39 jnthn Worse, it frustrates the C compiler in inlining the things we do at each switch point.
16:40 jnthn So it's more liekly to be a pessimization than an optimization.
16:41 jnthn Unless it's been done by looking at the assembly different compilers produce and being sure that they're doing something bad. But it's the kind of thing they tend to do well.,
16:42 jnthn Also, it's relatively unlikely that it is a hot path.
16:42 jnthn In the overall scheme of the VM.
16:43 jnthn In spesh itself, maybe.
16:43 dalek MoarVM/cse: bfb1d67 | (Jimmy Zhuo)++ | / (5 files):
16:43 dalek MoarVM/cse: Add a very basic common sub-expression elimination.
16:43 dalek MoarVM/cse: review: https://github.com/MoarVM/MoarVM/commit/bfb1d67a79
16:43 jnthn Anyway, I'm -1 to the patch.
16:44 JimmyZ jnthn: the haskell paper you maybe like it  :P
16:45 jnthn It's a slow download on this train wifi... :)
16:45 JimmyZ jnthn: but the switch doesn't have continue op value to get a lookup table. maybe we need add it ?
16:46 JimmyZ the cse branch code is ported from luajit, no sure we like it
16:47 JimmyZ since luajit don't have BB :(
16:48 jnthn Well, given we have SSA form, may be worth looking at Global Value Numbering rather than doing CSE
16:49 jnthn I'd be very wary of porting stuff from luajit. It's a great source of ideas.
16:50 jnthn But don't think we're architecturally close enough to it to do very direct ports of much.
16:51 jnthn And optimizers are always rather sensitive to knowing the semantics of different instructions, and things that can happen, cna never happen, etcc.
16:53 jnthn JimmyZ: I think modern C compilers can cope with sparse switch statements too
17:01 JimmyZ jnthn: yeah, I found it. about luajit :(
17:02 JimmyZ what is cna?
17:05 jnthn cna? Dunno that acronym...where'd you see it?
17:09 JimmyZ oh , you sai can never  happen
17:09 JimmyZ *said
17:10 jnthn yeah, this wifi has horrible lag...
17:11 TimToady my wifi loses track of reality every time someone in the family uses the microwave, which, right now, given how packed our hose is, is rather frequently...
17:11 TimToady *house
17:12 * TimToady doesn't want to think about hoses, having had to ream out the drains with one on Christmas Eve
17:12 jnthn I won't pimp the hose then...
17:13 JimmyZ hmm, look like ACM Transactions on Programmmg Languages and Systems has a lot paper about compiler and VM
17:13 TimToady then I won't call your stockings stuffy
17:16 jnthn :)
17:32 * JimmyZ just found Global Common Subexpression Elimination, which does something like Global Value Numbering
17:34 JimmyZ it computes the set of expressions available on each block...
17:35 JimmyZ 1:34am here ,good night
17:35 dalek MoarVM: e62cfab | jnthn++ | src/core/interp.c:
17:35 dalek MoarVM: Add missing concreteness checks.
17:35 dalek MoarVM:
17:35 dalek MoarVM: Fix a bunch of possible SEGVs.
17:35 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/e62cfabbc5
17:35 jnthn JimmyZ: goodnight!
17:39 colomon joined #moarvm
19:23 woolfy joined #moarvm
19:30 rurban joined #moarvm
19:48 FROGGS__ joined #moarvm
20:36 timotimo o/
21:19 FROGGS[tab] joined #moarvm
21:51 kjs_ joined #moarvm
22:57 Ven joined #moarvm

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