01:56
lee_ joined,
lizmat joined,
rurban joined,
moritz joined,
brother joined,
bcode joined,
colomon_ joined,
_sri joined,
[Coke] joined,
synopsebot joined,
ggoebel111118 joined,
woolfy1 joined,
dalek joined,
cognominal joined,
jnap joined,
itz__ joined
01:58
ashleydev joined,
timotimo joined,
tokuhirom joined,
harrow joined,
cxreg joined,
camelia joined,
japhb joined,
flussence joined,
TimToady joined,
japhb_ joined
02:06
BinGOs joined,
masak_grr joined,
diakopter joined,
nwc10 joined,
krunen joined,
vendethiel joined,
xiaomiao joined,
jnthn joined,
hoelzro joined,
FROGGS joined
02:08
ingy joined,
sergot joined,
betterworld joined,
retupmoca joined,
lue joined
02:20
ChanServ joined
02:48
avar joined
06:42
nebuchadnezzar joined
|
|||
sergot | o/ | 06:47 | |
07:25
zakharyas joined
07:52
teodozjan joined
08:13
brrt joined
|
|||
brrt | o/ #moarvm | 08:13 | |
nwc10 | \o | 08:14 | |
brrt | jnthn++ for jit windows build fixes | ||
nwc10 | brrt: I tried to build the JIT with ASAN. The first error is in NQP: paste.scsys.co.uk/408001 | 08:15 | |
2 byte read beyond a 2 byte allocation | |||
brrt | that's weird | ||
huh, that seems to be logging error | 08:16 | ||
the next one is in inline, it seems | 08:17 | ||
or not, i should ask jnthn about the lexical types array | 08:18 | ||
oh, i see what's wrong | |||
dalek | arVM/moar-jit: ca71858 | (Bart Wiegmans)++ | src/jit/graph.c: Add takeclosure |
08:25 | |
08:45
teodozjan joined
|
|||
brrt | nwc10++ for running with asan :-) | 08:49 | |
it looks very much like an off-by-one | 08:50 | ||
and.. either it comes from me reading the wrong value for the idx or it comes from inline giving the wrong index or allocating a word too small | 09:02 | ||
i'm going to hope and try and see if it is the first :-) | |||
09:28
brrt joined
|
|||
brrt | \o #moarvm | 09:28 | |
jnthn | heh, takeclosure was as easy as hoped :) | 09:37 | |
brrt | yes | 09:51 | |
my spidey sense is suspicious of a potential bug wrt inlining | 09:52 | ||
consider the following frames: A -> B -> C -> D | |||
inliner inlines C -> D to C' | |||
C' now refers to lexicals in A (2 out) | 09:53 | ||
inliner then inlines (at a later time) A -> B | |||
to A' | |||
so C' will refer to ? <- A' <- C' | |||
or must inlining always make leaves? | 09:58 | ||
leafs | |||
also, i thought that it maybe would be better to stash the current frame (upon entry) in the 4th non-volatile register rather than the in-args buffer | 10:05 | ||
because getting the current frame is a much more frequent operation than getting reading input args | |||
and this should simplify many things | |||
(much code, i mean) | |||
jnthn | The inliner simply refuses to inline anything with free lexicals. | 10:08 | |
So you won't inline something that refers to a 2-out thing | 10:09 | ||
dalek | arVM/moar-jit: fe014aa | (Bart Wiegmans)++ | src/jit/emit_ (3 files): Try to fix nwc10++ ASAN barf When an inlined frame refers to the outer frame, we should still get the lexical types from the outer frame (of course :-)). Note that the actual code path seems not to have been tested. |
10:10 | |
brrt | ok, great | ||
we may fix that one day | |||
but not today | |||
:-) | |||
jnthn | yeah, that's a hard one :) | 10:11 | |
brrt | i'll be riding train the next few hours, and won't have my computer with me, so i'll likely be offline for most of the weekend | 10:12 | |
nwc10 | brrt: your fix has got past that point | ||
brrt | \o/ | ||
jnthn | brrt: OK. Have a nice weekend. | 10:15 | |
nwc10 | brrt: if you hang on about 60 seconds I can tell you waht the NQP tests did | ||
All tests successful. | 10:16 | ||
brrt | \o/ | ||
:-D | |||
nwc10 | jnthn: NQP tests don't run in parallel. Somewhere I have a patch to fix that | ||
brrt | thanks nwc10++ | ||
nwc10 | so, obviously, run aware before Rakudo blows up... | ||
jnthn | Much safer than running unaware... | 10:17 | |
nwc10 | OK, we're into stage parse | 10:18 | |
yes, naughty fingrs | |||
brrt | nb | 10:19 | |
i expect a getlex for an object to blow up one day or other | |||
with sigtrap | |||
why? i put a breakpoint instruction in the auto-viv code | |||
somehow it hasn't been executed yet | 10:20 | ||
you all have a nice weekend as well :-) | |||
(and i promise i'll backlog :-)) | |||
10:20
brrt left
|
|||
jnthn | o/ | 10:24 | |
nwc10 | got past setting | ||
got past sanity tests, into spectests | |||
This is MoarVM version 2014.06-158-gfe014aa | 10:25 | ||
I did check. I am surprised. | |||
timotimo | check what? surprised at what? | 10:27 | |
nwc10 | that I am running a JIT-enabled MoarVM built with ASAN, and it is still going | ||
jnthn | You did build with --enable-jit? :) Though I think you must have, otherwise you'd never have seen the other error in the JIT. :) | ||
nwc10 | I'm pretty sure I'm building using the same command from shell history as last time | 10:28 | |
timotimo | oh, neato | ||
is it too soon to be asking for performance comparisons? | 10:29 | ||
nwc10 | I'm not the right person to ask for that even when it is. | ||
timotimo | jnthn: when you said you'd like to add a "did invoke?" to "may invoke" opcodes like decont and smart_*, would that turn into logging and then a guard? | ||
also, the other day i wondered if jitting will enable branch prediction to make a much bigger difference in execution times | 10:32 | ||
jnthn | timotimo: No, don't think that maeks sense. | ||
Yes, JITting should help the branch predictor a lot. | |||
timotimo | if a branching instruction is in the interpreter loop, it'd have the same "branch predictor slot" for every single occurence of that opcode | 10:33 | |
as opposed to one slot per occurence after jitting | |||
that's pretty cool | |||
oh, whether or not decont will invoke depends entirely on a container spec? | |||
jnthn | Right | 10:34 | |
timotimo | like a boolification_spec, and i guess also numification_spec? | ||
jnthn | I suspect we'll be able to have spesh turn some deconts into cheap things, though. | ||
timotimo | i don't recall anything about a stringification spec | ||
jnthn | There isn't a spec for numification/stringification | ||
timotimo | OK | ||
jnthn | That's just case analysis in the op | ||
nwc10 | t/spec/S03-metaops/hyper.rakudo.moar hits | 10:35 | |
t/spec/S03-metaops/hyper.rakudo.moar hits trace/breakpoint trap | |||
t/spec/S17-supply/classify.t t/spec/S17-supply/categorize.t are in their current usual state of sin | 10:36 | ||
t/spec/S32-io/IO-Socket-Async.t fails randomly | |||
lizmat | nwc10: are you talking about categorize that I broke yesterday, or something else ? | 10:38 | |
nwc10 | I don't know. | 10:47 | |
someone did something? as they pass now | 11:08 | ||
(I updated stuff and reran) | |||
lizmat | ok, then the S17-supply tests failing were my fault for removing the paused functionality from Supply.new | 11:11 | |
11:19
teodozjan_ joined
|
|||
jnthn | On supplies, RxJS has got github.com/Reactive-Extensions/RxJ...clusive.js which is like migrate but different :) Wonder if we might want that one in our collection of supply-of-supply handlers too :) | 11:21 | |
nwc10 | jnthn: if you really want to go ASAN squeaky clean, there's still one barf left, with the fixed size allocator disabled: paste.scsys.co.uk/408019 | 11:48 | |
jnthn | nwc10: Yeah, aware of that one; didn't get to the bottom of it yet. | 11:49 | |
12:14
jnap joined
12:18
cognominal joined
|
|||
timotimo | ah, actually we have a fetch_never_invokes flag that we can use | 12:38 | |
jnthn | timotimo: I think we hang a spesh function off the spec. | 12:40 | |
timotimo | do we already have an op that's basically "set the target object register to this object's position + a pointer? | 12:41 | |
jnthn | Actually for a Scalar it's just a P6opaque with an attribute. | ||
timotimo | in that case we don't even need a special instruction yet | ||
jnthn | So it's just going to spesh like an attribute access does. | ||
timotimo | aye, i just found vm/moar/.../container.c | ||
that'd be perfect | |||
do you see any stumbling blocks i should be aware of? | |||
jnthn | For fetch? No, not really. | 12:42 | |
timotimo | otherwise i could probably get to it right now | ||
do we ever do store_unchecked on containers yet? | |||
it says in the corresponding comment that an optimizer could emit that if it knows stuff | |||
jnthn | Yeah, we do | 12:46 | |
In parameter handling | |||
timotimo | ah, nice. | 12:47 | |
the signature for the spesh function for container specs ... should it be the same as for repr ops? as in, should it take an STable as second argument? | 12:48 | ||
jnthn | Sounds sane | ||
timotimo | ah, REPR_data might contain the offset for some kind of container "in the future" | 12:49 | |
garden work & | 12:52 | ||
teodozjan_ | hi again, what does mean: Unhandled exception: ctxlexpad needs an MVMContext? | 12:58 | |
jnthn | Means something tried to use the ctxlexpad op (which is for introspecting a lexpad) and failed for some reason | 13:02 | |
timotimo | jnthn: the "deconted_type" is what is *inside* the container, while the "type" is the type of the container (i.E. the RakudoScalar that has the Container Spec attached to it), right? | 13:09 | |
jnthn | Rajt | ||
timotimo | and i should only try to optimize the decont into a sp_p6oget_o if it's also FACT_CONCRETE? | 13:10 | |
jnthn | yes | 13:11 | |
timotimo | i was about to joyfully proclaim that "nqp still builds!", but i remembered nqp doesn't have Rakudo_Scalar and as such, it'd be very strange if the spesh for decont would break anything | 13:18 | |
jnthn | :P | 13:19 | |
timotimo | oh well, a segfault | 13:27 | |
wrong order of function pointers | 13:34 | ||
jnthn: with my opt, only io-socket-async seems to fail :D | 13:48 | ||
jnthn: how can i construct a bit of example code that ought to trigger my opt in spesh? | 13:55 | ||
14:02
klaas-janstol joined
14:06
btyler joined
|
|||
timotimo | huh. why would SPESH_FACT_KNOWN_TYPE be set, but facts->type be 0x0? | 14:34 | |
oh yikes, bus error?! | 14:37 | ||
and the stack trace i get looks b0rked | 14:39 | ||
Spesh: unknown operand type 0 in codegen (op CJK COMPATIBILITY IDEOGRAPH-2F816) - wait what | 14:40 | ||
jnthn | timotimo: Well, any decont should... | 14:42 | |
timotimo: Look at how infix:<+> gets speshed if you call it with $a + $b for example | 14:43 | ||
timotimo | it should also be a case where decont doesn't simply turn into set | 14:44 | |
oh, but in this case it can't | |||
jnthn | right | ||
'cus it actually needs to decont | 14:45 | ||
timotimo | it gets run a few times during setting compilation now that i check for FACT_FOO | FACT_BAR rather than FACT_FOO & FACT_BAR | 14:46 | |
i don't know what i did wrong :S | 14:50 | ||
i suppose i'll push a diff | 14:52 | ||
dalek | arVM/spesh_decont_contspec: e9f379e | (Timo Paulssen)++ | src/ (3 files): give ContainerSpec a spesh function, use it for decont. |
14:54 | |
timotimo | this branch exists in rakudo as well | 14:55 | |
jnthn: if you could have a look at what might be causing memory corruption or stack destruction or any other kind of mayhem ... | |||
16:25
FROGGS joined
17:35
btyler_ joined
17:36
d4l3k_ joined
|
|||
jnthn | timotimo: Does that patch alone change anything? Or does it pair with a Rakudo one? | 17:38 | |
oh, duh, found it | |||
(the Rakudo commit) | 17:39 | ||
offsetof( Rakudo_Scalar, value ); | |||
It needs to be the offset of the data portion of the object | |||
So, minus the header | |||
17:51
woolfy joined
|
|||
timotimo | that'd explain something | 18:04 | |
jnthn: after subtracting offsetof( MVMObjectStooge, data ), it's giving me an "invalid utf8" error in stage parse :( | 18:14 | ||
must be looking at bogus memory | 18:16 | ||
18:18
brrt joined
|
|||
brrt | nwc10: ping | 18:21 | |
i noticed you caught a sigtrap | |||
awesome | |||
that is in tests, right? | 18:22 | ||
wrt to 'invokish' ops | 18:23 | ||
i have a plan, with the following reasons | |||
timotimo | brrt: i'm trying to turn deconts on Rakudo_Scalar into sp_p6oget_o so that the jit may have less trouble with rakudo cod! :) | ||
brrt | yes, i've seen that too, awesome :-) | ||
timotimo | except it's pretty b0rked | 18:24 | |
brrt | timotimo++ | ||
well, you'll have to start somewhere | |||
timotimo | right; but i don't know where to continue looking; i can't get it to dump core any more ... | ||
maybe you can have a look? | |||
nwc10 | brrt: yes, that's in one test, and it's the only difference in behaviour from master | 18:25 | |
brrt | the sigtrap was expected, actually\ | 18:26 | |
i.e. i was hoping for /something/ to trigger it | |||
nwc10 | yes, IIRC you'd said it was the place holder for something | ||
brrt | you can (i'm not on a usable system right now) try if removing the following line makes it work: | 18:27 | |
github.com/MoarVM/MoarVM/blob/moar....dasc#L389 | |||
because if it works, that means the vivification also works :-) | 18:28 | ||
timotimo, not on a usable (bulding) computer right now, sorry | 18:29 | ||
timotimo | fair enough | ||
i thought maybe a look at the diff would be enlightening | 18:30 | ||
brrt | i'll do that, then :-) | ||
timotimo | i don't need to "allocate" a third operand to hold information on the offset, right? | ||
in other cases, it'd turn the string literal into an offset i16, but in the case of decont -> sp_p6oget_o it used to have only 2 operands | 18:31 | ||
brrt | brb | ||
jnthn | o/ brrt | 18:36 | |
[Coke] | everytime someone says brrt now I imagine someone is getting shocked. | 18:38 | |
brrt | back | 18:39 | |
why do you imagine that? :-o | |||
[Coke] | onomatopoeia | 18:40 | |
japhb | I could see that if his alias was bzzzt | ||
brrt | aha, ok :-) | 18:41 | |
i've heard other explanations, even | |||
jnthn | timotimo: Wait...do you allocate space for the extra operand? | 18:45 | |
ins->operands[2].lit_i16 = offsetof( Rakudo_Scalar, value ); | 18:46 | ||
decont is only 2 operands big, so that's going to scribble on random memory when you assign to the [2] | |||
brrt concurs | 18:47 | ||
decont is dst, src iirc | |||
jnthn | There are other opts that allocate bigger spesh operand space to look at for inspiration | 18:49 | |
(uses MVM_spesh_alloc) | |||
brrt | wouldn't a sequence of spesh_alloc, memcpy(), assign work? | 18:50 | |
jnthn | Yes | ||
Though I may just write two assignments instead of messing with memcpy... :) | |||
brrt | memcpy ftw :-)) | 18:51 | |
jnthn | I dunno if it's the same for you, but for me when I'm reading code and hit a memcpy (or malloc, or calloc, or memset) I find I'm looking carefully to see if it's doing the size calc correctly. | 18:53 | |
Whereas assignments I can read and be comfortable with immediately. | |||
For any more than 2 things then yeah, memcpy for sure :) | |||
brrt | anyway, before this; my plan (for invokish ops); a): stash the cur_frame into a nonvolatile register upon entry, b): after returning from a invokish op, compare our 'old' frame* with the tc->cur_frame | ||
well, i agree with that | |||
strcpy is more complex even | |||
if any invokish ops actually invoked, then the old frame* and the cur_frame* should be different | 18:54 | ||
comparing them is a single instruction for the jit, and calling out is also pretty cheap | |||
jnthn | OK | 18:55 | |
falling out? | |||
or did you really mean calling? :) | |||
brrt | yeah, that's what i mean | ||
:-) | |||
rurban | in a register? shouldn't that be better on the stack? | ||
brrt | some registers are non-volatile (actually, about half of them are) | 18:56 | |
rurban | you'll never who globbers that register (any sunfunction) | ||
jnthn | Were you going to keep cur_frame around for other reasons anyway? | ||
brrt | variables that you use really often are best put in one of these | ||
rurban | subfunction or external fun | ||
brrt | rurban - amd x64 ABI (or windows x64 ABI) specifies it quite clearly, fortunately :-) | 18:57 | |
jnthn | non-volatile = callee saves, no? | ||
brrt | yes | ||
rurban | I'm sceptical | 18:58 | |
brrt | very bluntly, callee-save registers are preferred for variables that remain live throughout multiple basic blocks, and caller-saved registers for within basic blocks | ||
rurban | ok, if it works | 18:59 | |
brrt | i understand :-) | ||
jnthn | Well, if it's what the ABI specs... :P | ||
brrt | (your scepticism, i mean) | ||
rurban | I was more used to i386 those times, and then we put everything on the stack | ||
brrt | but i first noticed the pressence of these registers (and how many of them there are) when i accidently clobbered one | 19:00 | |
msdn.microsoft.com/en-us/library/9z1stfyw.aspx is a good resource (for win64) | |||
rurban | rbi is typically used for that, right? if it's free | ||
brrt | you mean rdi? or rsi? | 19:01 | |
rdi and rsi are somewhat annoying as windows makes them callee-save and posix makes them caller-save | 19:02 | ||
i could pretend they are caller-save on windows, too, simply by optionally saving-and-restoring them | |||
rbx is also callee-save, and i used it for the pointer to the 'moar registers' | |||
rurban | I meant rbp with -fomit-frame-pointer | 19:05 | |
brrt | oh, i see :-) | ||
rurban | for -O3, this would be free | ||
brrt | you can omit the frame base pointer? oh | ||
]i use it in the JIT, though | 19:06 | ||
rurban | yes, counter everything from rsp only | ||
count | |||
brrt | i see | ||
if you know always exactly how large the stack frame will be, you can do that | |||
interesting | |||
rurban | In my potion jit have to keep rbp, because coros need it. Other than that, I could use rbp for something better | 19:07 | |
brrt | jnthn - i take the frame pointer many times in the code, and having it in a register makes such ops cheaper | 19:08 | |
rurban | the main problem is fast stack switching with coros/threads | ||
brrt | hmm, why? | 19:09 | |
jnthn | brrt: Yes, I noticed tc->cur_frame equivalent showing up a few times :) | ||
rurban | see e.g. github.com/perl11/potion/blob/mast...e/callcc.c I need rsp and rbp there | 19:10 | |
brrt | right :-) so these can be eliminated then | 19:12 | |
that code makes me ponder the relative benefits of AT&T vs Intel syntax for ASM :-) | 19:13 | ||
rurban | I could use a faster stack layout -fomit-frame-pointer but would need a seperate yield (stack filler) then | 19:14 | |
japhb | .oO( "You should always use ... Whatever I Learned First! Whatever I Learned First FTW!" ) |
||
brrt | i actually learned AT&T syntax first, but now i find Intel syntax slightly easier to read | 19:15 | |
rurban | So I just compile this .o (using %rbp) with -fno-omit-frame-pointer to be on the safe side. | 19:16 | |
japhb | I've learned a lot of assembly languages, and x86 Intel syntax is probably the only one I can still do without having to think hard. | 19:18 | |
brrt | :-) | ||
brrt off | 19:19 | ||
jnthn | o/ | ||
nwc10 | brrt: wait a mo? | ||
./perl6-m t/spec/S03-metaops/hyper.rakudo.moar | 19:20 | ||
without the int 3 | |||
[is running...] | |||
eh? still hits Trace/breakpoint trap | |||
confused. Please don't let me detain you further, if you want to go | 19:21 | ||
brrt | hmmm... | ||
do you happen to have lua installed? | |||
:-) | |||
brrt looks for other sources of breakpoints | 19:22 | ||
nwc10 | found one in src/jit/emit_posix_x64. | ||
brrt | well, that explains | 19:23 | |
nwc10 | Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio | ||
brrt | you probably don't have lua and lua bitop installed | ||
lua -e 'require("bit")' says? | |||
nwc10 | lua: (command line):1: module 'bit' not found: | ||
plus a backtrace | |||
so, you're correct | |||
brrt | bitop.luajit.org/ :-) | 19:24 | |
nwc10 | OK | ||
I don't think I can get that fixed up in a hurry | |||
I'm not root on the fast x86_64 machine I'm testing on | 19:25 | ||
and I'm too tired (And supposed to be packing) to figure out how to do it locally and ship the fixes up | |||
brrt | very well, it can wait i guess :-) | 19:26 | |
it's been a long day | |||
thanks for your help, anyway | |||
jnthn | Long train journey? | ||
brrt | 3 hours 44 minutes | ||
long, for the netherlands anyway | |||
nwc10 | brrt: no problem. (a) What you're is very impressive (b) I think you deserve a weekend off | ||
what you're doing | 19:27 | ||
see, I'm too tired to type correctly | |||
timotimo | jnthn: should i free the previous MVMSpeshOperands? i think the spesh memory blocks are all freed en bloque, so i don't have to free anything myself | ||
jnthn | Yeah, I'm used to 4-hour-and-a-bit trips to Stockholm, so 3:44 doesn't feel too bad. | ||
timotimo: No, you don't have to free anything. | |||
brrt | thanks, see you after the weekend :-) | 19:28 | |
jnthn | nice weekend o/ | ||
timotimo | well, now that i properly do the thing with the memory it doesn't crash any more | ||
brrt | you too o/ | ||
timotimo | so that's a good start | ||
brrt: enjoy your weekend! | |||
dalek | arVM/spesh_decont_contspec: 0fb638b | (Timo Paulssen)++ | src/ (2 files): + comment, - debug print. |
19:32 | |
timotimo | spectests are clean, yay | 19:42 | |
dalek | arVM: e9f379e | (Timo Paulssen)++ | src/ (3 files): give ContainerSpec a spesh function, use it for decont. |
19:45 | |
arVM: 0fb638b | (Timo Paulssen)++ | src/ (2 files): + comment, - debug print. |
|||
jnthn | I think this weekend I'm going to finally tackle Moar's strings. | 20:14 | |
Because the string-related benchmarks are just awful. | |||
nwc10 | is your weekend 2 days or 3? | 20:15 | |
I'm trying to assess how crazy you are. | |||
jnthn | 2 | 20:16 | |
nwc10 | OK. very crazy :-) | ||
good luck | |||
FROGGS | ohh :o) | 20:17 | |
jnthn | oh timo? | 20:18 | |
src\spesh\optimize.c(262) : warning C4090: 'initializing' : different 'const' qualifiers | |||
src\spesh\optimize.c(267) : error C2275: 'MVMSpeshFacts' : illegal use of this type as an expression | |||
FROGGS | I think it is with beetlejuice, you have to say it several times to summon him | 20:23 | |
jnthn | m: say 'timo' x 1000 | ||
camelia | rakudo-moar 87dcd1: OUTPUTĀ«timotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimotimoā¦Ā» | ||
dalek | arVM: 645e0ef | jnthn++ | src/spesh/optimize.c: Fix MSVC build. |
20:24 | |
japhb | jnthn, do you want a perl6-bench commitbit so you can add more benchmarks yourself? | 20:25 | |
jnthn | japhb: Sure, can do | ||
japhb | OK, hold on ... | ||
Done. | 20:26 | ||
jnthn | thanks. | ||
japhb | np | ||
(Shoulda done it sooner, honestly, but for some reason I got the impression you were less interested before.) | 20:27 | ||
Anyone else I should add while I'm here? timo already has one. | 20:28 | ||
nwc10 | All tests successful. | ||
(ASAN, Linux) | |||
japhb | nwc10, do you use perl6-bench? | ||
nwc10 | no | ||
japhb | OK, fair enough. | 20:29 | |
jnthn | japhb: Well, others were happily producing graphs for me taht told me enough. But I wanted to look at how far we improved over the last year. | ||
And that needed a bit more fiddling. Especially to do it on Windows. :) | |||
japhb | FWIW, I'm currently fiddling with a small `analyze` refactor to make it less annoying to add history plots (history text table already works, history html table is coming soon, but it seems like everyone -- me included -- wants arewefastyet style plots) | 20:30 | |
One of the odd things I noticed in doing a history table that included perl5 v5.{18.0,18.1,18.2,20.0} is that perl5 seems to have slowed down a few percent in the last year+. Makes me curious as to why, or if it was just an artifact of something going on with my testing box at the time | 20:32 | ||
20:34
cognominal joined
|
|||
jnthn | japhb: I wasn't really expecting the 5 vs 6 perf thing to be attacked from both directions, but... :P | 20:46 | |
timotimo | jnthn: sorry for making msvc unhappy ... again | 20:47 | |
jnthn | yes, it was rather upset about the Rakudo patch too :P | 20:48 | |
FROGGS | can't we add some C89 rules to gcc as well? | ||
timotimo | -fpedantic? | ||
FROGGS | I-f no idea... | 20:49 | |
jnthn | No -fing clue... | 20:50 | |
dalek | arVM: 1bd2d3a | jnthn++ | / (6 files): Make various spesh things available publicly. Since extops and container specs may participate in spesh also, and so need some graph manipulation APIs. |
20:53 | |
[Coke] | many of clang warnings seem to be of const or unsigned warnings. | 20:56 | |
timotimo | was i using non-public things in the rakudo patch? :o | 20:59 | |
jnthn | yes :) | 21:00 | |
timotimo | d'oh | 21:01 | |
gcc didn't care at all | |||
japhb | FROGGS, Are you referring to --std=c89 ? | 21:06 | |
FROGGS | japhb: I think so, yes | ||
21:28
dalek joined
22:30
jnap joined
|