00:33 tokuhiro_ joined 01:01 kjs_ joined 02:24 ggoebel joined 02:35 tokuhiro_ joined 02:47 ilbot3 joined 03:05 tokuhiro_ joined 03:39 vendethiel joined 05:39 xiaomiao joined 07:04 domidumont joined 07:09 domidumont joined 07:20 FROGGS joined 08:14 brrt joined
brrt good * 08:14
btw, nwc10, if you keep on giving me articles like that, i won't ever finish my blog post :-P
FROGGS Arrrgh! 08:37
bad nwc10! ò.ó
:P
brrt i do wonder why the results have been so varying
FROGGS electromagnetic forces? 08:38
FROGGS has no idea what the topic is about
brrt oh, the topic is 'retrofitting existing p-type languages on llvm' 08:41
which has seen less-than-awesome results in various projects, despite llvm being without doubt an excellent quality compiler system
08:51 zakharyas joined 09:00 zakharyas joined 09:02 xiaomiao joined
dalek Heuristic branch merge: pushed 58 commits to MoarVM/even-moar-jit by bdw 09:07
arVM/even-moar-jit: ea87b0d | brrt++ | src/jit/graph.c:
Fix references to jgb

jgb has been killed in even-moar-jit in favor of the spesh iterator
09:19
diakopter brrt++ # rakudo builds with even-moar-jit branch 09:26
brrt \o/
JimmyZ I think dynasm is small and good enough, since luajit is very awesome, but i don't think llvm is small, and I din't see any popular dyn lang use llvm keep it samll and fast enough. :P 09:36
and we don't have enough resource to make moar/dynasm good enough, so we don't have any time to do moar on llvm 09:38
brrt but dynasm and llvm are quite different things, i think? 09:39
one is an assembler which has you specifiy all the instructions, and the other is a compiler which explicitly tells you not to care
JimmyZ yes. if someone want to do experimence moar on llvm, I don't think we will be mind :P 09:40
just fork moar
brrt hmm 09:41
JimmyZ or better, like Rperl, one can do Perl 6 on llvm :P 09:43
jnthn Just because llvm is an excellent quality compiler system doesn't mean it'll naturally suit all languages. 09:45
I suspect part of the issue may be that dynamic language impls have different priorities. 09:46
For dynlangs, your performance comes greatly from spotting ways to remove indirections based on runtime data, rather than considering all the statically available data and throwing all you can at it. 09:48
So even-moar-jit ain't just exciting 'cus it will let us generate better code, it's also 'cus the expression trees will let us optimize away indirections in places we can't now. 09:50
JimmyZ I could see it :P 09:51
brrt aye, that is also what i want :-)
(in a somewhat cross-platform way too :-)) 09:52
JimmyZ spoke of luajit, I was not porting the code from luajit to moar, I wanted to port the optimization algorithm :) 09:53
most is about AA and escape 09:54
brrt if you know how to do that... sure
but there are quite a few moar things you want to take into account
JimmyZ yes
brrt i'm thinking of continuations, mostly 09:55
JimmyZ and I found Trace spesh may make things a bit easier.
brrt and dynamic lexicals 09:56
i do think that is true yes
JimmyZ TraceJIT , that is it
brrt if nobody else has done it before i'm finished with my theses i'll make a stab at it
jnthn :) 09:57
JimmyZ well , if merge dynamic lex => local var in rakudo branch, dyn lex is not a a big problem
jnthn dynamic lexicals can never become locals 09:58
JimmyZ oh
jnthn Not in any useful case.
JimmyZ static lexical
jnthn They may be interesting in trace JIT though :)
JimmyZ anyway, I forgot the name, but there is a branch there :P 09:59
which will reudce getlex op
english still is hard to me . 10:00
nwc10 ASAN likes even-moar-jit. OK, ASAN *tolerates* it :-)
JimmyZ: your English is still way better than any foreign language I can write 10:02
10:02 kjs_ joined
brrt yeah, i know it leaks nwc10 :-) 10:33
'why haven't you fixed it then...'
it wasn't a priority yet 10:34
10:43 kjs_ joined
dalek arVM: 836f87e | (Pawel Murias)++ | / (18 files):
Implement a istty_fh op.
11:02
timotimo o/ 11:46
so ... are we really able to build rakudo with even-moar-jit? 11:47
damn you, Configure.pl 12:02
i can't run nqp, the serialization format in there is too high
with even-moar-jit :(
jnthn o.O
timotimo wait 12:04
the new commits weren't merged in %) 12:05
because git pull from a different branch doesn't destroy things
but isn't there still an env var that needs to be set so that the new jit activates?
158: jit_expr_enable = getenv("MVM_JIT_EXPR_ENABLE"); 12:08
if people have been testing stuff without that set, they may have not actually tested the new jit at all ... 12:09
nwc10 er, OK, ASAN likes the code *without* that set...
timotimo hah 12:11
that's easy
the exprjit fragments are all so tiny :( 12:15
well, that's just because so many tiles were ripped out 12:22
.tell brrt if we can somehow know which nodes have a "size" parameter (and which one it is), we could put it into the same node in the tree so that things get a little less cluttered 12:42
and perhaps we could consider different node shaps for different things 12:43
12:50 kjs_ joined
nwc10 .tell timotimo no bot here 12:58
timotimo ah 13:02
maybe we should finally invite yoleaux in here? or perhaps it's a good idea to only have it in #perl6 - unless yoleaux also does .tell across channels? 13:03
so you don't have to .botsnack in both channels to get every message 13:04
because you could forget that
nwc10 brrt: paste.scsys.co.uk/501659 -- MVM_JIT_EXPR_ENABLE + ASAN = Barf 13:10
jnthn ASAN++ 13:11
nwc10 seems to be a fairly simple "use after free" caused by a realloc, but I didn't dig further than reading the stack trace
timotimo oh, realloc can be nasty, aye
in assign_tile there's a note about realloc right in front of MVM_DYNARR_ENSURE_SPACE, which probably does realloc 13:13
well, i don't know how memory management works for the whole thing, but brrt surely knows what the issue will be 13:14
13:31 camelia joined
diakopter heh, barf 14:20
15:06 tokuhiro_ joined 15:25 zakharyas1 joined 15:30 zakharyas joined
jnthn Time to cut the monthly, I guess :) 15:35
dalek arVM: 2b9df29 | jnthn++ | docs/ChangeLog:
ChangeLog for 2015.11.
15:49
arVM: c335cdd | jnthn++ | VERSION:
Bump VERSION file.
15:51
15:53 brrt joined
brrt \o 15:53
yes, i know what it is
but, here is the confusing bit
*i* would think that the lvalue of the assignment is evaluated *after* the computation of the rvalue 15:54
however, such is clearly not the case
i should probably fix that wholesale 15:56
15:59 colomon joined
[Coke] jnthn++ # moarvm cut 16:06
dalek href="https://moarvm.org:">moarvm.org: 6388276 | jnthn++ | / (2 files):
Update site for 2015.11 release.
16:08
16:08 tokuhiro_ joined
timotimo that changelog looks good 16:14
jnthn :)
Yeah, busy month
> 600 commits across Moar, NQP, and Rakudo.
timotimo fitting for the months before The Big Release 16:15
hoelzro o/ #moarvm 16:16
oh dang, I missed the release window =/
in other news, I got a working MoarVM on Windows last night \o/
timotimo \o/
jnthn Thankfully, we do monthly releases, so you don't have that long to wait ;) 16:17
hoelzro =) 16:18
arnsholt There was a neat blogpost about the benefits of timed releases frmo the Postgres people a while back 16:19
Basically saying that there were less rushed features when the releases were entirely predictable
ilmari perl5 sees that too 17:12
missing a release is less critical when you know there's going to be another next year
also, we've got better at marking new features experimental for the first few releases 17:13
or sometimes retroactively *cough* smartmatch *spit*
17:17 domidumont joined 17:26 synbot6 joined 17:53 Peter_R joined
nwc10 seems that this month's moarvm release has completed before this month's parrot release 18:00
diakopter well there was only one commit since last month's release 18:04
18:08 xiaomiao joined 18:13 tokuhiro_ joined 19:13 colomon joined 19:16 vendethiel joined 19:28 diakopter___ joined 19:34 kjs_ joined 19:54 FROGGS joined
dalek arVM/even-moar-jit: 836f87e | (Pawel Murias)++ | / (18 files):
Implement a istty_fh op.
19:55
arVM/even-moar-jit: 2b9df29 | jnthn++ | docs/ChangeLog:
ChangeLog for 2015.11.
arVM/even-moar-jit: c335cdd | jnthn++ | VERSION:
Bump VERSION file.
arVM/even-moar-jit: c18a3d1 | (Matthew Wilson)++ | / (20 files):
Merge pull request #302 from MoarVM/master

42c02d1 | brrt++ | src/jit/ (4 files): Fix use after free
Apparantly the lvalue of tree->nodes[child] was evaluated *before* the rvalue of assign_tile, and assign_tile may realloc the nodes array. All this led to ASAN being angry (and rightly so!). This is fixed by providing a single macro to do it correctly.
Also fix a couple of JIT-related memory leaks, including the nonclean destruction of graphs that had trees, and the branches stack that wasn't freed in the register allocator.
  nwc10++ for notifying this issue
diakopter___ lazy diakopter-- 19:56
20:01 vendethiel joined 20:11 brrt joined 20:14 tokuhiro_ joined 20:21 lizmat joined 20:33 tokuhiro_ joined 20:45 kjs_ joined 21:40 leont joined
brrt asan still falls over quite a few memory leaks, but, whatever 21:57
jnthn In the JIT, or generally? 22:01
brrt generally 22:08
no more in the JIT, in fact 22:09
brrt is going in the general direction of sleeping, so afk :-)
see you tomorrow
jnthn figures he'll do similar 22:12
'night
22:35 tokuhiro_ joined 23:11 camelia joined