00:08
sivoais joined
01:12
retupmoca joined
02:26
xiaomiao joined
02:54
vendethiel joined
03:17
vendethiel joined
05:21
vendethiel joined
06:57
kjs_ joined
06:58
nebuchadnezzar joined
07:36
vendethiel joined
07:56
kjs_ joined
07:58
brrt joined
|
|||
brrt | ncw10 - the trick to upgrading smaller integer types to larger ones is movsx :-) | 07:59 | |
08:04
FROGGS joined
|
|||
nwc10 | brrt: other CPUs are avaialable. And more numerous. | 08:05 | |
brrt | very true | ||
hmm | |||
nwc10 | and almost always have equivalent tricks | ||
brrt | weird spesh bug | ||
nwc10 | it was more that there isn't a clean C way to say "do this cunning thing" | ||
brrt | no. i sometimes think asm is clearer than C | 08:06 | |
nwc10 | I had also thought (but not typed it) that assembler programmers are fine with registers containing values, and knowing in some cases to compare them as signed values, and others as unsigned | ||
brrt | now that you say it, i wouldn't really know how to do an unsigned integer compare | 08:07 | |
(its just cmp, but you use different flags) | 08:09 | ||
nwc10 | IIRC that's all it is on ARM - same CMP, but check different flags in the subsequent instructions | ||
08:24
zakharyas joined
09:07
vendethiel joined
|
|||
jnthn | brrt: Yeah, really weird one, but I suspect the spesh log will reveal all... | 09:15 | |
brrt | jnthn, unfortunately it seems nobody has yet had time for that... | 09:23 | |
jnthn | It was only reported about 12 hours ago, and many of them were sleeping time for the usual suspects. ;) | 09:24 | |
jnthn is teaching today, but may have time this evening | 09:25 | ||
brrt | very true | ||
jnthn | If not, loads of free time at the weekend :) | ||
brrt | (yay weekend | 09:28 | |
) | |||
jnthn | Yes, planning to sleep plenty too in hope of fully getting rid of this pesky cold. | ||
brrt | sleeping is good | 09:33 | |
i tried it last night | |||
made me feel much better :-) | |||
09:44
Ven joined
09:45
vendethiel joined
09:56
donaldh joined
10:13
rurban joined
11:18
rurban joined
11:22
dalek joined
12:18
kjs_ joined
12:33
kjs_ joined
12:54
kjs_ joined
|
|||
FROGGS | jnthn: I wonder what you think about github.com/MoarVM/MoarVM/pull/168 | 12:55 | |
jnthn | That MVM_free(str) is obviously wrong | 13:00 | |
You can't just free a GC-able object! | |||
FROGGS | k, that meets my expectations | ||
jnthn | I think the added free(buf) is right, though | 13:01 | |
And the whitespace changes are just clutter. | 13:02 | ||
Yeah, that added free(buf) at the end is correct. | |||
13:03
kjs_ joined
|
|||
FROGGS | that's what I thought too... I don't know why I wasn't certain enough here... | 13:05 | |
jnthn | Have some confidence, man! | ||
FROGGS | yeah... | ||
I'll have some conference soon, maybe that will do :o) | |||
jnthn | Me too...I'll have to write my talk... | 13:06 | |
FROGGS needs to write his talk and needs to hack... otherwise there is not much to talk about :o) | 13:07 | ||
CDD FTW! /o/ | |||
13:07
kjs_ joined
|
|||
jnthn | Yeah, I should probably come up with something or other vaguely new. | 13:07 | |
FROGGS | you have to :P | ||
nwc10 | and if this isn't CDD, what is? fosdem.org/2015/schedule/event/get..._to_party/ | 13:08 | |
FROGGS | there was always a surprise (at least at the end of the talks)... | ||
jnthn | Thoguh I suspect the FOSDEM audience is a lot of folks who haven't seen any of my talks in the last year... :) | ||
Yeah, I've managed a few fun ones :) | |||
FROGGS | nwc10: exactly! | ||
jnthn: *g* | |||
13:51
donaldh joined
13:59
brrt joined
|
|||
brrt | wrt to TimToady's bug report, it's likely the next does something funny | 14:12 | |
m: for <aa aba> xx 50 { if not m/b/ { print "."; } else { print "!"; } }; say ""; | 14:13 | ||
camelia | rakudo-moar 200478: OUTPUTĀ«.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!ā¤Ā» | ||
jnthn | brrt: You could try commenting out the exception handler optimizations in optimize.c and seeing if that hides it. | 14:20 | |
brrt | hmm good idea | ||
jnthn | (it re-writes control exceptions into gotos) | ||
brrt | that'd be optimize_throwcat wouldn't it | 14:22 | |
jnthn | Sounds like. | 14:23 | |
.oO( Poor moggy. ) |
|||
brrt | no, removing optimize_throwcat doesn't do anything | 14:24 | |
jnthn | OK. | 14:25 | |
Well, phew. :) | |||
'cus I didn't want to have to debug that :P | |||
brrt | :-) | 14:26 | |
btw, how do you like MVM_fail for a vm failure case in which we ought to be in good shape (but not catchable) | 14:29 | ||
sort of between panic and exception_throw_adhoc | 14:30 | ||
(commenting out istrue_isfalse does the trick) | 14:31 | ||
seems likely that prefix:<not> is not inlined here for some reason | 14:34 | ||
[Coke] | in github.com/rakudo/rakudo/commit/20...a4be06e90, a method is changed to multi but there don't appear to be any actual multi methods; isn't this a behavioral change (now we can have multis, before we couldn't) to get a speedup? is this right? | 14:42 | |
ww. | |||
14:43
synopsebot joined,
Util joined
|
|||
brrt | hmm | 14:53 | |
did you know the logging transformation already changes param_rp_o to sp_getarg_o | |||
totally valid in this case, but still | |||
14:56
Ven joined
15:12
rurban joined
|
|||
brrt | spesh bugs is hard :-( | 15:31 | |
jnthn | brrt++ # hunting spesh bug | 15:34 | |
The istrue_isfalse thing is a huge hint | |||
Yes, I know args get transformed right off the bat, 'cus we already know the callsite. | |||
brrt | i didn't know that :-) | 15:36 | |
p6capturelex, what does that do? | 15:37 | ||
jnthn | capturelex but looks through the wrapping code object | 15:39 | |
capturelex on the underlying code object is perhaps a better description | 15:40 | ||
decommute & | 15:44 | ||
brrt | when you're back, shouldn't dominance children be unique? | 16:00 | |
yay, commenting optimize_isconcrete within optimize_istrue_isfalse actually undoes the bug as well | 16:23 | ||
hmm | |||
also, there's a comment on breaking the SSA form and hopefuly getting away with it | |||
but i don't think we're negated here | 16:24 | ||
hmm | 16:28 | ||
somewhere isconcrete is turned into a boolean true | |||
or actually an integer one | |||
lizmat | nqp::isconcrete is supposed to return 0 or 1 according to doc | 16:35 | |
brrt nods :-) | 16:46 | ||
hmmm | |||
MATCH | |||
turns a decont -> istrue to const_i64_16 | |||
brrt did not know nqp had documentation | 16:48 | ||
lizmat | github.com/perl6/nqp/blob/master/d...s.markdown | 16:50 | |
incomplete, but helpful most of the time | |||
brrt: ^^^ | |||
brrt | thanks :-) | 16:54 | |
ok, i am now fairly certain that this happens during a mis-spesh of MATCH | 16:58 | ||
why? because in MATCH an istrue is converted into isconcrete is converted into lit_i64_16 | 17:00 | ||
which happens never otherwise | |||
(in this program at least) | 17:01 | ||
dinner 7 | 17:02 | ||
& | |||
18:08
kjs_ joined
18:23
kjs_ joined
18:32
FROGGS joined
21:34
rurban joined
21:49
sivoais joined
|
|||
dalek | arVM: aaa5926 | jnthn++ | src/core/interp.c: Use labs instead of abs to avoid truncation. |
22:31 | |
22:51
sivoais joined
|
|||
dalek | arVM: c0d64f1 | jnthn++ | src/core/bytecode.c: Fix signed/unsigned warnings in bytecode handling. |
22:54 | |
arVM: c0b7c37 | jnthn++ | src/6model/reprs/MVMCompUnit.h: Treat serialized data blob as unsigned. |
22:57 | ||
timotimo | i require moarvm to be faster so that i can use spesh_diff more efficiently in order to make moarvm faster | 23:02 | |
jnthn | .oO( circularity sore... ) |
23:04 | |
I'm too tired to do anything hard, so I'm trying to make clang...well...clang less :) | 23:05 | ||
japhb | This seems like a very useful task nevertheless. | 23:19 | |
jnthn | aye | 23:22 | |
timotimo | gist.github.com/timo/a39c98d7af822b763be6 | 23:29 | |
we're turning a get_I into a p6oget_o, that means tracking code for boxing/unboxing will not understand it any more :( | 23:34 | ||
even if we put a fact flag in there, it won't be visible for when the time comes to inline the spesh graph into another spesh graph | |||
however, alias analysis may still rescue us | 23:46 |