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

Silence op precedence warning on clang