|
04:46
ggoebel111111114 joined
07:32
FROGGS joined
08:04
zakharyas joined
08:06
lizmat_ joined
08:19
brrt joined
08:39
lizmat joined
08:42
lizmat_ joined
|
|||
| brrt | tratt.net/laurie/blog/entries/fast_...nough_time interesting | 08:44 | |
| about vm's and pypy and stuff | |||
| FROGGS | ohh, will read that as soon as I have time | 08:46 | |
|
08:48
lizmat joined
08:49
lizmat__ joined
08:50
lizmat joined
|
|||
| brrt | i'm not totally agreeing about rpython being awesome | 08:50 | |
| i saw it and it was limited, but unlike nqp, it didn't make that entirely obvious | 08:51 | ||
| that sucks imho | |||
| FROGGS | yeah | ||
|
08:51
lizmat___ joined
08:53
lizmat_ joined
|
|||
| nwc10 | brrt: irclog.perlgeek.de/moarvm/2014-10-24#i_9559181 | 08:58 | |
|
09:02
lizmat joined
|
|||
| brrt | thanks :-) | 09:04 | |
|
09:15
lizmat_ joined,
kjs_ joined
|
|||
| brrt | wrt to the difficulties he expressed in writing JIT's... I can concur with some, and not with others | 09:21 | |
| but that may be because moarvm is on the whole pretty well-designed | 09:22 | ||
| i.e. it was easier than he makes it out to be | |||
|
09:38
brrt joined
09:45
lizmat joined
10:02
lizmat_ joined
10:10
JimmyZ joined
|
|||
| JimmyZ | I saw the luajit asm code, it's well designed, and so looks like it's not that hard, i.e: call exten func | 10:11 | |
| precall and postcall etc | 10:12 | ||
| *extern | 10:13 | ||
| brrt | luajit is well designed indeed :-) | 10:14 | |
| i should study that a bit more | |||
| JimmyZ | yeah, And I really like its allocation sink optimization and I hope moarvm will also have it . | 10:15 | |
| which will really helps perl6's performance | 10:16 | ||
|
10:16
lizmat joined
|
|||
| JimmyZ will discuss it a bit with jnthn later ... | 10:16 | ||
| *jnthn++ :P | 10:17 | ||
| nwc10 | timotimo: unfortunately 15d3b75921577f342ffaa128de141199343e3a37/824b28497ceab5a162a50ab6bcaa17bd1bf6a89d/0809f665c272dcdd28fc6d0eaacd7354b7a38135 add ASAN barfage | 10:21 | |
| can jit multicacheadd and multicachefind | 10:23 | ||
| er | |||
| paste.scsys.co.uk/435332 | |||
| brrt | allocation sink pot? | ||
| opt | |||
| JimmyZ | yeah | 10:26 | |
| *sinking | 10:28 | ||
| an addition optimization to escape analysis | 10:29 | ||
| for the escaped variable | |||
| nwc10 | timotimo: strangely, valgrind can't spot anything | 10:44 | |
| brrt | hmmm | 10:45 | |
|
11:31
zakharyas joined
|
|||
| dalek | arVM: 63f3285 | (Timo Paulssen)++ | src/jit/graph.c: fix wrong number of arguments passed to multicache* |
11:35 | |
| timotimo | ^- should be better | ||
| brrt: allocation sinking means you move the allocation that *does* escape as far towards the end as possible, which often causes the allocation to be moved past some branching point that is only taken rarely | 11:37 | ||
| brrt: implementing brshift_i and blshift_i should be very easy, but i've had massive amounts of trouble | 11:39 | ||
| especially regarding register sizes and such | |||
| as the shift instructions want an 8bit register for the shift amount | 11:40 | ||
|
11:52
JimmyZ joined
|
|||
| nwc10 | timotimo: works on "my" machine | 11:54 | |
| (2 spectests fail. I think that's a #perl6 problem) | |||
| JimmyZ | timotimo: the example is past to some branch, but the it actually is to past to anoter frame(and the benchmark code too) | ||
| timotimo | might be | ||
| JimmyZ | an frame always return a new object and past to another frame sometimes is not need, which can be optimized | 11:56 | |
| timotimo | ah, hmm | 11:57 | |
| we do have an "is in sink context" thing inside our optimizer | |||
| i think the GLR will also cause a nice improvement to how sinking works | 11:58 | ||
| JimmyZ | and that's why it said it needs tracing | ||
| timotimo | it'd be moved out of the code-gen and into return handlers possibly? | ||
| i don't 100% remember | |||
| JimmyZ | well, it's different thing, methinks? | ||
| sink context vs allocation sinking | |||
| timotimo | i meant the "blocks have to return something" thing | 12:01 | |
| JimmyZ | I know nothing about perl6's sinking context :P | ||
| and I didn't see any context sinkin in the Rat type | 12:04 | ||
| *sinking | |||
| timotimo | right, fair enough | 12:08 | |
| it's a "big thing" in rakudo though | 12:09 | ||
| JimmyZ | the luajit benchmark code is very much like the Rat type in rakudo | ||
| and I think the Rat type doesn't have context sinking | |||
| timotimo | yes | 12:10 | |
| i was talking about "the rest of rakudo" :) | |||
| JimmyZ | I know :P | 12:11 | |
| brrt | aha timotimo | 12:12 | |
| brrt can look at b(lr)shift | |||
| timotimo | thanks :) | ||
| brrt | np :-) | ||
| timotimo | and when i implemented reprname, i stumbled upon a segfault, but that's probably due to the multicache* stuff i botched rather than reprname itself | 12:13 | |
| also, invokewithcapture? :) | |||
| brrt | haven't had time for it | ||
| if you just finish my distributed system course project for me, i'll fix the JIT, how about that | |||
| ;-) | |||
| timotimo | :D | ||
| brrt | (which i'm doing on my own by now... o.O) | 12:14 | |
| timotimo - how to make a shift in nqp | 12:21 | ||
| timotimo | nqp::shift? | 12:22 | |
| brrt | aha | ||
| no | 12:23 | ||
| timotimo | what are you looking for, exactly? | ||
| brrt | a binary shift | 12:24 | |
| $x << 1 or so, that doesn't work | |||
| timotimo | oh | ||
| +< in perl6 | |||
| the op is called bitshiftl_i | |||
| brrt | aha | 12:25 | |
|
12:37
lizmat_ joined
12:40
lizmat__ joined
12:44
brrt joined
|
|||
| brrt | have i cmplained about clang sufficiently yet | 12:45 | |
| FROGGS | brrt: yes :o) | ||
| brrt | ok | ||
| then i can skip it today | |||
| FROGGS | *g* | ||
|
12:46
lizmat joined
12:49
lizmat_ joined
12:53
lizmat joined
|
|||
| brrt | pff | 13:10 | |
|
13:22
itz joined
|
|||
| dalek | arVM: 6724ed6 | (Bart Wiegmans)++ | src/jit/ (2 files): JIT blshift_i and brshift_i Also small fix to make clang a bit happier |
13:37 | |
| brrt | timotimo ^ | ||
|
13:38
lizmat_ joined
|
|||
| timotimo | <3 | 13:45 | |
| pretty much every single run of perl6 uses blshift_i because it's used when setting up moar op mappers | |||
| oh, shl and shr are correct? | 13:46 | ||
| i was convinced i'd have to use shld and shrd | |||
| brrt | as far as i know they are ok | ||
| shld is probably shift-left-doubleword | |||
| timotimo | i believe so | ||
| brrt | as in, 32 bit shift-left | ||
| timotimo | well, "double precision" | ||
| should be 64bit | |||
| brrt | but dynasm doesn't use op modifiers but argument modifiers | 13:47 | |
| so if you want to do that, you want to write shl eax, cl; | |||
| timotimo | oh | ||
| brrt | (cl is rcx lower byte) | ||
| timotimo | well, that's good to know! :) | ||
| brrt | and you only need to use 'm when accessing memory, because it is 'embedded' in the size of the register | 13:48 | |
| timotimo | 'k | ||
|
13:49
kjs_ joined
|
|||
| [Coke] | Octover? | 13:53 | |
| brrt | octover? | 13:54 | |
| timotimo | quadrover? | ||
| brrt | octoword :-)] | ||
| and quadword | |||
|
13:58
zakharyas joined
|
|||
| [Coke] | whoops, wrong window. | 13:58 | |
| brrt | :-) | 14:02 | |
| [Coke] | moarvm jit died today. | 14:12 | |
| brrt | wow | 14:14 | |
| i see | |||
| hmmm | |||
| can we bisect that | |||
| [Coke] | brrt: sure, I can do that. | 14:25 | |
| brrt | thanks :-) | 14:26 | |
| timotimo | [Coke]: it would be enough to see if my fix commit for multicache* fixes it: github.com/MoarVM/MoarVM/commit/63f3285b53 | 14:28 | |
| [Coke] | HEAD seems fine. | 14:37 | |
| (still running, but passing stuff) | |||
|
14:50
bcode joined
|
|||
| TimToady | I would be very surprised to see any sinking in a value type like Rat, since the only purpose of sink is to trigger side effects. | 15:55 | |
| m: 42; 43 | 15:56 | ||
| camelia | rakudo-moar 315ec6: OUTPUT«WARNINGS:Useless use of constant integer 42 in sink context (line 1)» | ||
| TimToady | m: 1/42; 1/43 | ||
| camelia | ( no output ) | ||
| TimToady | there's a missing diagnostic there | ||
| m: 42.1; 43.1; | 16:00 | ||
| camelia | ( no output ) | ||
| TimToady | well, probably a #perl6 issue now | ||
| FROGGS | m: v42; v1 | 16:01 | |
| camelia | ( no output ) | ||
| JimmyZ | TimToady: yeah, we didn't expect to see any sinking in a value like Rat | 16:04 | |
| Good night | 16:06 | ||
| FROGGS | gnight JimmyZ | ||
| TimToady | o/ | ||
|
16:14
FROGGS[mobile] joined
16:34
kjs_ joined
16:46
FROGGS joined
17:33
lizmat joined
17:49
FROGGS_ joined
19:17
kjs_ joined
19:32
Ven joined
19:44
Ven joined
|
|||
| timotimo | damn it, building rakudos core setting gives me segfaults quite reliably now >_< | 19:50 | |
| [Coke] | timotimo: does it work with moarvm-recommended? | 20:01 | |
| timotimo | will try | 20:02 | |
| it doesn't :\ | 20:03 | ||
| i don't have local changes either | 20:05 | ||
|
21:42
kjs_ joined
22:34
colomon joined
23:13
timotimo joined
|
|||