Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-03-19

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

All times shown according to UTC.

Time Nick Message
00:02 jnthn Time for some sleep; 'night
00:56 woosley joined #moarvm
02:56 FROGGS_ joined #moarvm
07:38 FROGGS joined #moarvm
07:56 zakharyas joined #moarvm
12:13 brrt joined #moarvm
13:58 btyler joined #moarvm
14:04 jnap joined #moarvm
14:06 brrt jnthn - i'd like to report that while i'd be excited to work on MoarVM JIT-compilation for GSoC this year, i feel a bit too stressed to write a good proposal
14:06 brrt thats not an excuse, by the way :-)
14:07 nwc10 write the best proposal you can, before the deadline
14:07 nwc10 more
14:07 nwc10 IIRC, it's acceptable to resumbit proposals, until the deadline, isn't it?
14:08 nwc10 so write the best you can today
14:08 nwc10 and then resubmit the best you can tomorrow
14:08 nwc10 and Friday :-)
14:09 jnthn brrt: Write a quick draft and pass it over to me; I can help pimp it out a bit.
14:09 brrt …. okay :-)
14:09 brrt i will do that
14:09 brrt can i use your git commit e-mail adress?
14:09 brrt address
14:10 jnap joined #moarvm
14:10 jnthn yes
14:11 brrt i'll give it a shot
14:12 timotimo best of luck! :)
14:12 jnthn :)
14:12 FROGGS from me too!
14:12 brrt thanks :-)
14:12 jnthn today really didn't work out as planned :/
14:12 FROGGS :/
14:12 brrt that happens :-)
14:12 FROGGS jnthn: what is wrong(ish) ?
14:14 jnthn FROGGS: Some epic fail where $dayjob trying to get me faster phone internets ended up with me having a non-working phone, just days after my adsl router at home died, and I've been away so didn't have chance to get one...
14:15 jnthn So I actually came into the office for once.
14:16 jnthn I'm vaguely exhausted after the last weeks travel/teaching, though...
14:16 FROGGS :/
14:23 * brrt wonders if there is a sympathy emoticon
14:24 JimmyZ :<)
14:35 jnthn I'm taking a small mostly-offline vacation this weekend; hopefully that'll do something good for my energy levels. :)
14:35 timotimo yay :)
14:35 jnthn Anyway, will cut the Moar release later this evneing so it's done in time for the Rakudo monthly :)
14:35 jnthn The concurrency stuff won't make it, sadly.
14:36 jnthn The parallel GC bug is genuinely hard.
14:36 jnthn (I'm not worried if a non-tired me can fix it, but today we've got a tired me. :))
14:36 timotimo that's okay
14:37 jnthn It's basically that when it passes stolen work about, it sometimes loses it.
14:37 FROGGS sadly we (all of us humans) can't relax and work in parallel :o)
14:38 JimmyZ you need i7 in your brain :P
14:41 jnap1 joined #moarvm
15:21 brrt jnthn - i may be able to take a look later today
15:21 jnthn brrt: OK. :)
15:22 brrt whats the issue?
15:22 brrt i.e. github issue
15:22 jnthn brrt: Wait, what are you asking about?
15:22 jnthn I thought you meant your JIT proposal :)
15:22 brrt as well, i mean the parralel gc :-)
15:22 brrt i'll make the proposal first
15:22 jnthn Oh!
15:23 jnthn Yeah, help there is welcome. And I think we'll want algorithmic improvements in the future too; the current thing is meant to be "simple but works" :)
15:23 brrt but i've got a feeling i'll have to deal with the gc anyway :-)
15:23 jnthn Yeah, JIT can't be completely ignorant of it, though we should do that to the degree we can :)
15:23 brrt is there any other way? :-p
15:24 jnthn Sadly, GCs seem to seep into quite a few places in a VM.
15:24 jnthn At least, any interesting GC will.
15:24 jnthn (Due to write barriers, moving, etc.)
15:32 brrt … i thought about it, and i think that a vm has really only two 'real' jobs - memory management and callframe management
15:33 brrt all actual instructions  can in principle be replaced with add :-)
15:33 brrt … maybe that is an overstatement, but most of them
15:35 jnthn Well, the REPR/meta-object split separates memory management from things like dispatch and type checking, for the "VM needs to own that bit" reasons.
15:36 brrt type checking, too
15:36 brrt ?
15:36 jnthn sorry, that sentence was hard to parse
15:36 jnthn I meant the REPR concerns are things the VM needs to handle
15:37 jnthn Dispatch and type checking can be much more loosely coupled to the VM.
15:38 jnthn Much potentially polymorphic code is actually monomorphic, meaning that you can go a long way with optimization without having much awareness about any kind of subtyping relation in the VM.
15:38 jnthn Well, that's my claim anyway. :P
15:39 brrt my claim would be that virtual method dispatch is probably one of the cheaper things a modern vm does
15:41 jnthn Yeah; the choice is how hardcoded "virtual" and "method" and "dispatch" are...
15:42 jnthn Much of the reson for invokedynamic in the JVM is that invokevirtual and invokeinterface are two very narrow ways of saying, "I dunno what we'll call".
15:44 brrt what does invokedynamic do, exactly?
15:45 jnthn Lets you write code that does the figuring out of what to call.
15:45 jnthn And then provides ways to convey to the VM how stable that decision is.
15:46 jnthn And ways to invalidate it and trigger de-opt in the future
15:47 jnthn I did some talk on it at some point...
15:48 brrt ok, very interesting
15:49 brrt 6model's HOW does the same thing right?
16:03 jnthn kinda
16:03 jnthn I gotta go
16:03 jnthn bbl...if I can fix some internet
16:03 * jnthn will try at least two ways
16:04 jnthn &
16:24 brrt :-)
17:59 FROGGS joined #moarvm
18:52 tgt joined #moarvm
19:54 brrt joined #moarvm
20:02 btyler_ joined #moarvm
20:07 FROGGS_ joined #moarvm
22:06 brrt ok, i'm out of ideas - what kind of things do we need to do to build a JIT compiler
22:07 brrt i guess it depends on the way we want to use it
22:07 brrt something like dalvik just tosses a few ASM fragments together for the interpreter runloop
22:08 brrt which is then executed simply by jumping
22:10 hoelzro does LuaJIT list its JITy features?
22:10 hoelzro it's probably one of the more advanced JITs out there
22:10 woolfy joined #moarvm
22:21 brrt actually, good question
22:21 brrt i don't know
22:22 brrt they have papers i think
22:23 hoelzro bam: http://article.gmane.org/gmane.comp.lang.lua.general/58908
22:26 hoelzro taken from http://luajit.org/faq.html
22:26 brrt yes, luajit is really impressive
23:20 japhb__ Reliable coredump in perl6-debug-m, doesn't occur on other backends:
23:20 japhb__ $ perl6-debug-m -e 'sub MAIN(*@a) { }' foo
23:20 japhb__ >>> LOADING -e
23:20 japhb__ Segmentation fault (core dumped)
23:21 japhb__ Annoying since I was about to debug why a little program was giving the wrong answer only on perl6-m ...  :-(
23:22 japhb__ This is from a standard build this afternoon, not old or on a branch or anything.
23:23 japhb__ Weirdly, perl6-debug-m doesn't seem to know its own version:
23:23 japhb__ $ perl6-debug-m -v
23:23 japhb__ This is perl6 version  built on MoarVM version 2014.02-124-gff01095
23:23 japhb__ Whereas standard perl6-m does:
23:24 japhb__ $ perl6-m -v
23:24 japhb__ This is perl6 version 2014.02-117-g01d16c2 built on MoarVM version 2014.02-124-gff01095
23:25 japhb__ .tell jnthn Segfault and oddness in perl6-debug-m; see http://irclog.perlgeek.de/moarvm/2014-03-19#i_8463775
23:25 japhb__ Bah, no yoleaux.
23:36 jnthn japhb__: Ugh. Wonder what that SEGV is...
23:37 japhb__ jnthn: It only happens when there are args, and only for the debugger, so I'm guessing a simple bug there ...?
23:40 jnthn japhb__: I suspect it won't be hard to find.
23:49 * jnthn pulls latest master to hunt it

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