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 |