Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-03-04

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

All times shown according to UTC.

Time Nick Message
00:01 jnthn Time for some rest... o/
00:01 timotimo o/
00:05 lizmat joined #moarvm
00:05 timotimo hm
00:06 timotimo am i supposed to uv_udp_recv_stop after receiving a datagram?
00:06 timotimo for the synchronous case, that is
08:03 nwc10 good *, not-#jvm
08:08 diakopter heh
08:13 zakharyas joined #moarvm
08:14 kjs_ joined #moarvm
08:29 rurban joined #moarvm
08:57 Ven joined #moarvm
09:06 Ven joined #moarvm
09:14 brrt joined #moarvm
09:20 brrt \o
09:30 kjs_ joined #moarvm
09:55 FROGGS joined #moarvm
10:58 kjs_ joined #moarvm
11:13 kjs_ joined #moarvm
11:54 kjs_ joined #moarvm
12:21 kjs_ joined #moarvm
12:24 oetiker joined #moarvm
12:42 dalek MoarVM: 325d551 | jnthn++ | src/jit/graph.c:
12:42 dalek MoarVM: Basic JIT of iscont_[ins].
12:42 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/325d551a5e
12:43 Ven joined #moarvm
12:46 oetiker joined #moarvm
12:52 oetiker joined #moarvm
13:04 jnthn That patch was while I had lunch... Also discovered that native ++/-- ops aren't getting inlined yet.
13:05 jnthn Not immediately sure why. Something to investigate later :)
13:16 timotimo that could be why most of the native loop benchmarks aren't better on native_ref than before
13:21 jnthn Oh, I didn't expect them to be *better*
13:21 jnthn I was mostly worried about not regressing
13:21 jnthn native-ref wasn't about performance improvement, it was about being able to use native things in l-value contexts
13:22 jnthn It does mean people can write more performant code without it being annoying, though :)
13:23 timotimo well, they are a bit worse, not just "not better"
13:30 jnthn Do you have an updated set post-merge?
13:30 jnthn I musta missed them...
13:31 timotimo yes, gimme a minute
13:31 timotimo http://t.h8.lv/p6bench/2015-03-02-pre_post_nativeref.html
13:32 timotimo IIRC blue is post-merge
13:33 jnthn Yeah, the dates of the commits suggest so
13:33 jnthn heh, while_int2str_native got a lot faster
13:34 timotimo got an idea why?
13:34 timotimo because we have $s = ... ?
13:35 jnthn No, 'cus I added a couple of extra mutli candidates :)
13:35 timotimo oh
13:35 timotimo fair enough :)
13:36 jnthn We still didn't recover all the lexical => local opts we used to be able to do
13:36 timotimo ah
13:36 jnthn So that probably accounts for a good number of the minor slowdowns
13:38 timotimo that sounds reasonable, yeah
13:38 timotimo what new qast stuff would the optimizer need to understand here?
13:41 jnthn Well, at the moment we don't have any support for localref
13:41 jnthn We can't really do that at all on JVM. We can on Moar though
13:42 jnthn So the plan is something like, get register refs working fully on Moar. Then implement QAST -> MAST support for them.
13:42 timotimo OK
13:42 * timotimo watches fosdem talks
13:42 jnthn Then put something on the HLL::Backend object for "does this backend support localref scope"
13:42 kjs_ joined #moarvm
13:42 jnthn Then update Perl6::Optimizer to use it when it can
13:58 timotimo jnthn: where do all the pretty pictures come from that you put in the background of your slides? did you buy a life-long subscription to a stock photo service for those that you didn't take?
13:58 timotimo hm. how do grammar.
13:58 timotimo "for those pictures you didn't take yourself" doesn't sound right enough, either
14:04 jnthn timotimo: Believe it or not, many of them are from the PowerPoint gallery, with effects applied to make them non-annoying as background images. :)
14:04 timotimo oh?
14:04 timotimo didn't know about that, sounds nice to have :)
14:05 jnthn It's some work
14:05 jnthn For now, I kinda like the look
14:05 timotimo i like the look, too
14:05 jnthn Just have to be very careful not to make the slide content hard to read.
14:06 timotimo yes, very
14:06 timotimo i don't think you've failed a single time so far; at least in the slides i've seen
14:06 jnthn Good to hear. :)
14:07 timotimo in the "static" vs "dynamic" slide, the sort of dark purple-ish color you used for static didn't stand out from the black it was before, though
14:07 timotimo especially given video compression
14:07 timotimo with the "4:2:0" chroma or what it's called
14:07 jnthn Yeah...those things are tricky
14:07 timotimo no, wait ... am i even talking about the right thing?
14:08 timotimo i just recall that anything sort of pink comes out really, really smushy in h264 and friends
14:08 jnthn What looks right on my desktop screen != what looks right on my laptop screen != what will look good on a projector != what will look good on a different projector :)
14:09 jnthn The latter two are the really "fun" ones
14:09 timotimo yes ;(
14:10 jnthn When I do Git teaching I do a lot of time demonstrating stuff. Sometimes a black console background comes out better, other times a white one comes out way better, so the first task of the day, after finding where to get coffee at wherever I happen to be teaching, is working out which one is gonna be better with the projector in the room I've got :)
14:10 timotimo was the "Ah-a!" moment thing on purpose? because so far i've only seen it spelled "aha!" or "a-ha!" :)
14:11 jnthn uh, no, that sounds not every on purpose :)
14:11 jnthn A-ha is a Norwegian rock band too :)
14:19 brrt joined #moarvm
14:25 timotimo oh look
14:25 timotimo in the "use is lexical" example you have
14:25 timotimo "nok now, 0, 'time is nonzero'"
14:25 timotimo i think the "0, " is superfluous
14:26 timotimo not terrible, as it was meant to fail anyway
14:28 jnthn uh, yes
14:28 jnthn I guess I wanted a nis :P
14:29 timotimo nproblem
14:37 timotimo you remember how i fumbled around with making nqp::time_n() - 0.5e0 inline the native - candidate?
14:38 timotimo i wasn't able to fix this yet (annotating things in the optimizer with .returns(int) or .returns(find sybmbol "int") gave me either a compilation failure or no change
14:38 timotimo maybe this is what you've noticed when you said "Also discovered that native ++/-- ops aren't getting inlined yet"?
14:42 jnthn uh, you want .returns(num) for those, no?
14:45 timotimo er, yes
14:45 timotimo i had one for int and one for num
14:45 timotimo checking for names ending in _i or _n
14:48 nwc10 jnthn: surely "first task of the day after" is "second task of the day". Unless "find coffee" is axomiatically "task zero"
14:48 jnthn It's kinda a pre-req for doing tasks... :P
14:49 nwc10 I found a new variant of the coffee bootstrapping problem this afternoon
14:49 nwc10 need to remeber to stop the (manual) expresso machine filling the cup
14:50 nwc10 this is *easier* after you have had the coffee
14:56 viyyozio joined #moarvm
15:00 dalek joined #moarvm
15:00 dalek joined #moarvm
15:01 jnthn nwc10: Is the failure mode "flood" or "way too much expresson"?
15:01 * jnthn caused a coffee flood at the office one
15:01 jnthn *once
15:04 nwc10 flood. well, firstly overflow the cup into the drip tray
15:04 nwc10 as the coffee machine is manually filled from the tap, the size of the potential coffee slick is bounded
15:07 jnthn Thankfully, it was bounded in my case too :)
15:07 jnthn The amount of time people remember said incident seems unbounded so far, alas... :P
15:08 nwc10 I'm sure that there are worse things one can get remembered for
15:27 harrow joined #moarvm
16:51 timotimo oh, i just remembered
16:51 timotimo under the shower i had a thought
16:51 timotimo do we ever actually use branching to give us more information?
16:52 timotimo like "on one branch from an isconcrete + if we'll have a concrete, on the other we have an inconcrete value"?
16:52 timotimo (i suppose a few of these things would be caught just by logging register contents, though)
17:02 timotimo (and also: how do we represent this? should we give the "same" register on both sides of a branch different versions, even though there is not necessarily a PHI node?)
17:03 jnthn I suspect trace JIT can handle this better :)
17:19 kjs_ joined #moarvm
17:24 jnthn If we wanted to do it under the current model you could insert a r1(unique_new_version) = PHI(r1(checked_version)), and extend the facts...
17:24 jnthn But you'd have to update the things reachable in the branch to talk about the new version.
17:29 timotimo the ifs and branches are clear early enough to do this before the whole thing, no?
17:32 jnthn Oh, you mean do it during the initial SSA tran?
17:32 timotimo yes
17:32 jnthn Hmmmm
17:32 timotimo afterwards the fact discovery can do the rest, i thought
17:32 jnthn Mebbe :)
17:33 timotimo the fact discovery happens after the dominator tree has been built, so that's very good
17:33 timotimo in a first step i'd only dare build these extra facts based off of branching when there's only a single predecessor
18:06 brrt joined #moarvm
18:15 rurban joined #moarvm
19:11 FROGGS joined #moarvm
20:07 dalek joined #moarvm
20:14 kjs_ joined #moarvm
21:23 donaldh joined #moarvm
21:33 colomon joined #moarvm
21:36 colomon joined #moarvm
21:46 dalek MoarVM: f370a5c | jnthn++ | src/core/nativecall.c:
21:46 dalek MoarVM: Args must be rooted during entire native callback.
21:46 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f370a5c239
22:34 colomon joined #moarvm
23:42 dalek MoarVM: dbb83b2 | (sue spence)++ | src/6model/serialization.c:
23:42 dalek MoarVM: Silence op precedence warning.
23:42 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/dbb83b27f4
23:42 dalek MoarVM: 95ff54f | jnthn++ | src/6model/serialization.c:
23:42 dalek MoarVM: Merge pull request #179 from virtualsue/master
23:42 dalek MoarVM:
23:42 dalek MoarVM: Silence op precedence warning on clang
23:42 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/95ff54fb72

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