01:27
eternaleye joined
|
|||
japhb__ | .ping | 02:18 | |
No message bot? Dang. | |||
02:23
jnap joined
03:56
colomon joined
08:21
FROGGS joined
|
|||
FROGGS | morning | 08:21 | |
hoelzro | morning FROGGS | 08:23 | |
09:06
FROGGS joined
|
|||
timotimo | (that's better now) | 09:39 | |
dalek | arVM/jnthn_bigint_opt: 5a67c94 | (Timo Paulssen)++ | src/math/bigintops.c: unb0rk shift-left. |
||
timotimo | though the bitshifts don't exercise bigints any more now. | 09:42 | |
i think 92500 is the new low for "say 1" i've found | 09:43 | ||
i wonder when exactly it reaches that peak | |||
dalek | arVM: 49d9109 | (Rob Hoelz)++ | src/ (3 files): Implement link op |
10:00 | |
arVM: bc4fc22 | timo++ | src/ (3 files): Merge pull request #76 from hoelzro/op-link Implement link op |
|||
timotimo | okay, so mod is misbehaving with negative RHS | 10:04 | |
to be fair, that's also the case on master, but we fail a few more tests on the bigint_opt branch | 10:09 | ||
it seems like we want a different behavior from the normal % operator that C offers? | |||
C says 2 % -3 is 2, whereas the test suite expects 3 | 10:10 | ||
oh, i read that wrong | |||
it expects 13 % -4 to be -3, whereas C gives a result of 1 | 10:12 | ||
hoelzro | neat | ||
timotimo | -13 % 4 ought to be 3 according to the test suite, but it's -1 | ||
so what's the rule here? | |||
hoelzro | I'm trying to remember the rules... | 10:13 | |
timotimo | that would be most helpful :) | ||
hoelzro | because there's modulus, and there's remainder | ||
and they're different wrt negative numbers, iirc | 10:14 | ||
timotimo | libtommath implements a way to get the remainder from a division and has a separate mod function | ||
so maybe i ought to use the remainder from the div function there | |||
and come up with some extra crazyness on the smallint side | 10:15 | ||
hoelzro | "When either a or n is negative, the naive definition breaks down and programming languages differ in how these values are defined." | 10:16 | |
=( | |||
C89 doesn't define a result if either side is negative | |||
timotimo | m) | 10:17 | |
so i'd have to implement that based on another operation? | |||
hoelzro | probably? | ||
timotimo | c * b + d == a is the definition of mp_div that i'm using | 10:18 | |
i'm plopping a and b as in a % b and then taking out d instead of c | |||
is that the correct interpretation for our perl6 needs? | |||
seems like no. | 10:19 | ||
i wonder ... did this ever work? | 10:20 | ||
hoelzro | probably not | 10:21 | |
timotimo | for some reason, it's still regressing as compared to maste | ||
hoelzro | wtf | ||
that's odd | |||
timotimo | even if i throw out the smallint case completely | ||
oh | 10:22 | ||
i was wrong :) | |||
hoelzro | how so? | 10:23 | |
dalek | arVM/jnthn_bigint_opt: aab5cda | (Timo Paulssen)++ | src/math/bigintops.c: throw away our smallint mod calculation for now |
||
timotimo | i *think* it ought to not regress at all by now. | ||
aye. | |||
jnthn: there are no more spectest failures, but a bunch of functions are still not implemented with a working smallint fastpath | |||
("no more failures than master has" i should say) | |||
at what point would you like to merge the branch? | |||
hoelzro | timotimo: wanna go through the review and merge thing again? =) | 10:29 | |
timotimo | i guess :) | ||
that seems pretty straightforward. | 10:30 | ||
dalek | arVM: 2133d9d | (Rob Hoelz)++ | src/ (3 files): Implement symlink op |
||
arVM: 50dfcc1 | timo++ | src/ (3 files): Merge pull request #77 from hoelzro/op-symlink Implement symlink op |
|||
timotimo | getting the file-stuff in moar going correctly is a good thing | ||
hoelzro | \o/ | ||
I'm just grepping for NYI =P | 10:31 | ||
timotimo | fair enough :) | ||
there's lots of NYI in the unicode database | 10:35 | ||
hoelzro | timotimo: there's one for NQP too | ||
timotimo | TIBETAN MARK NYIS SHAD, TIBETAN MARK NYIS TSHEG SHAD, TIBETAN SIGN RDEL DKAR GNYIS, ... | ||
hoelzro | yeah, I'm ignoring those =P | 10:36 | |
timotimo | hoelzro: did you see how much memory smallbigint saves on arrays of Ints? :D | 10:42 | |
with 200_000 numbers it goes to 201544maxresident -> 139164maxresident, 0:00.78elapsed -> 0:00.60elapsed | 10:43 | ||
for comparison, the same code on parrot takes 646980maxresident and 0:02.19elapsed | 10:46 | ||
so ... fuck yeah moarvm :) | |||
off to a great start, i'd claim! | 10:47 | ||
tadzik | \o/ | 10:48 | |
FROGGS | \o/ | 10:52 | |
indeed! | |||
tadzik: btw, I made a moar-support branch in panda | |||
tadzik | FROGGS: yeah, I noticed in the backlog, but didn't have a chance to look at it yet | 10:53 | |
FROGGS: does it work? :) | |||
FROGGS | tadzik: not yet | ||
it really needs IO::Socket::INET | |||
for example to fetch its projects.json | 10:54 | ||
tadzik | right | ||
well, you can fallback to wget/curl :P | |||
FROGGS | and there is this bug that it does not compile a module, but it works when you do the steps manually | ||
we had that already on parrot | |||
tadzik: ya, I've got a wget hack locally | |||
timotimo | i wonder what's keeping const_i8, const_i16, const_i32 from being implemented | 10:55 | |
would the implementation be anything more than GET_REG(cur_op, 0).i* = GET_I*(cur_op, 2); ? | 10:56 | ||
masak: are you planning to unbust macros on moarvm? | 11:16 | ||
jnthn | timotimo: At this point, though, everything that doesn't have a smallint optimized path will force_bigint? | 11:24 | |
masak | timotimo: I'm planning to get to macros in general, but I want to finish up p6cc first... | ||
timotimo: I didn't know macros were busted on moarvm. | |||
timotimo | jnthn: that's right | ||
masak: at least unquoting and another file are aborting | |||
jnthn | timotimo: Aww...I get a load of compile errors. | 11:25 | |
timotimo | jnthn: i think i can also toss get_bigint now | ||
oh no, msvc stuff again? :( | |||
jnthn | timotimo: Ummm | 11:26 | |
timotimo: Yeah, you just declared in a bad place :) | 11:27 | ||
timotimo | i tend to totally forget about that >_> | ||
should i go through it or can you do it quickly? | |||
moarvm test suite run peaks at a third of the maxresidentk of parrot and takes about 1/2 the wallclock time | |||
dalek | arVM/jnthn_bigint_opt: f4641f5 | jnthn++ | src/6model/reprs/P6bigint.c: Unbust build on MSVC. |
11:28 | |
arVM/jnthn_bigint_opt: b7a4887 | jnthn++ | src/math/bigintops.c: Toss now-unused function. |
|||
timotimo | thank you :) | ||
jnthn | uh ;) I think this needs some review: | ||
/* write the "is big" flag */ | |||
writer->write_varint(tc, writer, 1); | |||
and | |||
/* write the "is small" flag */ | |||
writer->write_varint(tc, writer, 1); | |||
timotimo | gah! :D | ||
jnthn | such confuse! | ||
timotimo | i wasn't even drunk when i wrote that %) | ||
jnthn | Clearly you shoulda been :P | 11:29 | |
timotimo | i can fix it if you're not already doing it | 11:35 | |
jnthn | go ahead | 11:36 | |
timotimo | done. | 11:37 | |
dalek | arVM/jnthn_bigint_opt: 0296255 | (Timo Paulssen)++ | src/6model/reprs/P6bigint.c: fix the small/big flag for P6bigint serialization |
||
timotimo | jnthn: if you have an idea how to implement mod properly on top of C's broken mod operator, i'm all ears | 11:38 | |
and for performance reasons, lcm and gcd should get a smallint implementation, since i believe most rats will have nums and denoms in the 32bit range | 11:39 | ||
jnthn | Yeah. I don't think either of these need block a merge though | ||
I'm doing a build and spectest run now | 11:40 | ||
timotimo | sounds good :) | ||
masak | timotimo: I don't have tuits to look at it now -- but thanks for letting me know. | 11:45 | |
timotimo: I do plan to get back on top of macros eventually. | |||
timotimo | i'll look at the exact failure mode | ||
maybe it's something very simple? | 11:46 | ||
Specified code ref has no outer | |||
No such method 'STORE' for invocant of type 'Mu' | 11:47 | ||
this is how quasi-blocks fails | |||
jnthn | timotimo: I see lots of new spectest failures. :( | 11:49 | |
timotimo | you do? :( | ||
hoelzro | timotimo: I haven't seen it! | ||
jnthn | timotimo: Yeah | 11:50 | |
t\spec\S02-literals\numeric.t is the first file with a new failure | |||
not ok 16 - very long Num literals | |||
# got: 22.2797654333337 | |||
# expected: 3.141592 | |||
timotimo | i get only ok there :( | 11:51 | |
jnthn | C:\consulting\rakudo>perl6-m -e "say 3.14159265358979323846264338327950288419716939937510e0" | ||
22.2797654333337 | |||
wtf | |||
timotimo | that ought not be a rat. why does it fail like that? | 11:53 | |
jnthn | No idea | ||
.WHAT on it gives (Num) | |||
hoelzro | are you two on the same OS? | ||
timotimo | no | ||
hoelzro | could that be it? | 11:57 | |
I'll give it a whirl on my machine | |||
timotimo | thanks | ||
hoelzro | it's the jnthn_bigint_opt branch, right? | ||
jnthn | yeah | ||
hoelzro whirls | |||
timotimo | i wonder what's keeping const_i8, const_i16, const_i32 from being implemented / would the implementation be anything more than GET_REG(cur_op, 0).i* = GET_I*(cur_op, 2); ? | 11:58 | |
jnthn: should that always be .i64 = GET_I*, or should the numbers match up there? | 11:59 | ||
jnthn | timotimo: Not sure, which is why it's not implemented yet ;) | 12:01 | |
timotimo | that'd explain it :) | ||
how about the truncate/expand operations? would those just be casts between the integer sizes? | 12:02 | ||
hoelzro | I get a pi-esque value | ||
FROGGS | jnthn: shall we wait for your IO refactor before we start getting socket ops in place? | 12:03 | |
jnthn | FROGGS: yes | 12:04 | |
FROGGS | :/ | ||
k | |||
timotimo | nap time. | ||
jnthn: if you find any other little jobs for me, i can probably do a thing or two :) | 12:05 | ||
jnthn | FROGGS: And now I'm done traveling for a while, I can actually work on this... | ||
FROGGS | ahh, great :o) | ||
jnthn | timotimo: OK...will ponder. And try to fix this thing. :) | ||
The problem is showing up in radcalc in Actions.pm, fwiw. | 12:07 | ||
nwc10 | FROGGS: is it easy (and worthwhile) to bodge Panda to use wget/curl to get stuff, to make progress on the next things blocking the ecosystem? | 12:11 | |
FROGGS | nwc10: if this will work out, then this could be a nice fallback for all backends | ||
nwc10: and using lynx for example should be doable pretty easily | 12:12 | ||
tadzik: shall I work on that? | 12:13 | ||
tadzik | FROGGS: I don't see why not :) | 12:14 | |
FROGGS | k, will tackle this when I'm done dayjobbing | ||
FROGGS does CDD (Comment Driven Development) right now | 12:15 | ||
JimmyZ | evening, long time no see | ||
FROGGS | hi JimmyZ! \o/ | ||
JimmyZ | :) | ||
jnthn | o/ JimmyZ | 12:17 | |
JimmyZ | I just spent The Chinese Lunar New Year | ||
FROGGS | all this time? :o) | 12:18 | |
JimmyZ | yeah | 12:20 | |
hoelzro | "cannot stringify this" o_O | 12:30 | |
FROGGS | "o_O" <-- here you are | 12:32 | |
hoelzro | heh =) | ||
how can I print an MVMObject's type from within C land? | 12:38 | ||
jnthn | Think I found it... | ||
hoelzro | I get as far as obj->st.WHAT | ||
jnthn | mp_set_long(i, result); | ||
hoelzro: There's no good way to do that, really... | |||
hoelzro | I know that's the type object, but I don't know how to ask it for its name | ||
='( | |||
jnthn | hoelzro: Given it involves a method call like $obj.HOW.name($obj) | 12:39 | |
hoelzro: It involves finding that method, setting up a call to it, and arranging a callback to handle the result. | |||
hoelzro | yikes. | 12:40 | |
jnthn | Yes, well, we don't do inferior runloops in Moar 'cus those are even mroe painful than making things like this hard. | ||
hoelzro | I want to know *what* can't stringify | ||
jnthn | What're you actually tyring to do? | ||
hoelzro | well | ||
I'm compiling a module (--target=moar) | 12:41 | ||
jnthn | Ah..can you not just shove a .HOW.name(...) at an appropriate point? | ||
hoelzro | jnthn: that's the thing...I only get ""cannot stringify this" | ||
so I don't know what an appropriate point would be | |||
jnthn | Did you add --ll-exception? | 12:44 | |
hoelzro | hmm | ||
hoelzro tries that | |||
ah, thanks! | 12:45 | ||
that's great | |||
jnthn | :) | ||
In other news, I think I found the issue with bigint stuff | 12:46 | ||
hoelzro | so perl6-m doesn't seem to be able to compile JSON::Tiny::Grammar | 12:53 | |
hoelzro .oO( is this moar appropriate for #perl6? ) | 12:54 | ||
jnthn | How does it fail? | 13:02 | |
dalek | arVM/jnthn_bigint_opt: b78fa4f | jnthn++ | src/math/bigintops.c: Fix data loss on platforms with 32-bit long. |
||
arVM/jnthn_bigint_opt: 426d424 | jnthn++ | src/math/bigintops.c: Fix a memory leak. |
|||
hoelzro | jnthn: I'll paste the trace | 13:03 | |
jnthn: pastebin.com/0cyfTwiU | 13:08 | ||
I'm looking at the NQP code where the problem occurs, but now I don't know how to modify it to print useful info =/ | 13:11 | ||
oh, there we go | 13:12 | ||
jnthn | --target=moar | 13:13 | |
That should be --target=mbc | |||
hoelzro | ugh | 13:21 | |
oops | |||
thanks | |||
jnthn | Error wsa still crappy though | ||
Feel free to ticket that | |||
It's meant ot say "no such stage" or so | |||
hoelzro | here's a moar fun one: | 13:25 | |
jnthn: pastebin.com/FhfbqbfK | 13:26 | ||
dalek | Heuristic branch merge: pushed 40 commits to MoarVM by jnthn | 13:27 | |
jnthn | o.O | ||
Does the file exist? | 13:28 | ||
timotimo: merged the branch | |||
hoelzro | jnthn: hmm, apparently not | 13:29 | |
dalek | arVM: 79c084e | jnthn++ | src/core/interp.c: Fix mod_n on negatives. |
14:11 | |
arVM: 1f165c8 | jnthn++ | src/ (3 files): Implement Num fallback case of pow_I. |
|||
14:16
crab2313 joined
|
|||
jnthn | FROGGS: So, now I've time to look: is there something for me to review wrt openpipe? | 14:20 | |
FROGGS | jnthn: just basic sanity | ||
I did a change to the MVMOSHandle struct, did I miss something? | |||
(like serialization) | 14:21 | ||
jnthn | We dont' serialize those | ||
Is there a reason we can't use uv_process_close off Wikndows? | 14:24 | ||
FROGGS | it is not defined I think | ||
jnthn | Ugh...the symlink test added in NQP doesn't detect Windows...and so explodes now. | 14:31 | |
FROGGS: What Rakudo spectests is the openpipe stuff meant to help? | |||
ah, I see... | 14:32 | ||
FROGGS: Does system.t pass test 1 for you? | |||
FROGGS | hold on | 14:33 | |
JimmyZ | jnthn: Do you know how to step into moar.dll by using msvc2012 debugger? | ||
jnthn | JimmyZ: Yeah, you need to hack makefile target for moar.dll and add /pdb:$@.pdb to the link line | 14:34 | |
FROGGS | jnthn: no, it segfaults | ||
JimmyZ | jnthn: thanks | 14:35 | |
FROGGS | jnthn: and fails when I comment the others | ||
jnthn | FROGGS: Ugh. I guess that wants fixing before we merge openpipe stuff, then... | 14:36 | |
FROGGS | k | ||
jnthn | FROGGS: On Windows it just comes back with error code 255 | ||
FROGGS | interestingly shell() works there | 14:38 | |
jnthn | afk for a bit | 14:40 | |
timotimo | hoelzro: did you read that? your symlink test explodes on windows | 14:45 | |
fixing string concatenation to no longer be terribly slow due to gremlins isn't an LHF, is it? :\ | 15:00 | ||
i suppose i should get my gdb helpers up to snuff, so that they can be of assistance when trying to make ropes work | 15:01 | ||
it's very sad to see the performance drop so harshly in the benchmarks including concat | 15:02 | ||
jnthn | timotimo: Not LHF, no. | 15:07 | |
timotimo: Though may be able to get some easy-ish wins. | |||
I can take a look maybe. | |||
I'll dig into the IO stuff once the openpipe patch is in shape and lands. | |||
timotimo | if the rope is made up of two same-typed ropes, memcpy could be used instead of a for loop with "get codepoint at" | 15:08 | |
hoelzro | timotimo: nooooo | 15:12 | |
what's it supposed to do on Windows? | 15:13 | ||
timotimo has no idea :) | |||
i thought libuv would be able to make symlinks on windows | |||
at least on ntfs devices | |||
jnthn | hoelzro: Maybe just skip the test on Windows.... | 15:14 | |
hoelzro | timotimo: I know nothing about symlinks and Windows | ||
iirc, symlinks don't work on Windows | 15:15 | ||
timotimo | oh, i must have been thinking of NTFS Junctions, which is not a symlink, but a hardlink | 15:16 | |
hoelzro | I could make a PR to skip the test, but it would probably take someone less time without having to worry about merging | 15:17 | |
timotimo | no, thanks :P | ||
i mean | 15:18 | ||
no thanks to me doing that :P | |||
jnthn | hoelzro: Do you not have an NQP commit bit? | ||
hoelzro | still not, I think | ||
hoelzro tries | |||
jnthn | hoelzro: Added you | 15:19 | |
hoelzro | cool, thanks! | ||
can I also haz commit bit for Moar? | |||
jnthn | hoelzro: done | 15:21 | |
hoelzro | great, thanks! | 15:22 | |
I just need a Rakudo one now =P | |||
ok, test skipped on Windows | 15:25 | ||
jnthn: thanks for the commit bits | 15:28 | ||
jnthn | hoelzro: np; thanks for the patches :) | ||
Confirm things look better here | 15:29 | ||
hoelzro | \o/ | ||
better++ | |||
timotimo | should i implement gcd in terms of the mod operator, or will that give me crap if one of the numbers is negative? | 15:41 | |
actually, can i just remove both signs and put a - if there was only one - in the signs? | |||
or something similarly simple? | |||
nwc10 | what would Macgyver^WPerl 5 do? | ||
timotimo | i'd prefer not having to look into perl5's guts, thank you :) | 15:42 | |
nwc10 | sure, but if you don't want to make the same mistakes... | ||
anyway, I think that there isn't a direct answer for gcd here | 15:44 | ||
but if C's % is ill-defined for negative values (which I think that it is) then you're going to get crap | |||
so make everything positive, and then deal with signs yourself | |||
timotimo | aye. | 15:46 | |
how are the signs expected to work? the way i described? | |||
t/spec/S03-operators/gcd.t .................................... Failed 1/16 subtests ā oh no :( | 15:56 | ||
nwc10 | I don't know the answer to that. Sorry. | ||
timotimo looks at the exact failure | 15:57 | ||
it would appear it only expects the sign to be restored if it was on the right hand side | |||
hm, actually | 15:58 | ||
why would the gcd ever be negative? | |||
if something is evenly divisible by -3, it's also divisible by 3 and 3 is greater | |||
ok 10 - :Punctuation chars# TODO unicode 6.0 punct characters ā any reason to leave this fudged? | 16:02 | ||
not ok 278 - unicode whitespace (\s) ā huh. | 16:04 | ||
not ok 823 - Rat.Rat yields correct Rat | 16:09 | ||
# got: '301281685344656669 1250' | |||
# expected: '301281685344656640 1250' | |||
did we use to fail this test? S32-num/rat.rakudo.moar | |||
masak | timotimo: Wikipedia says that gcd is defined to be a positive integer. | 17:31 | |
jnthn | timotimo: That Rat test passes here on Windows, but does fail in the daily roast, it seems. | 17:32 | |
FROGGS | hoelzro: you are working with the wip-openpipe branch on moarvm and rakudo, right? | 17:33 | |
hmmm, run() explodes when C-stringifying the args | 17:37 | ||
japhb__ | FWIW, very much agree re: irclog.perlgeek.de/moarvm/2014-02-08#i_8251965 and following -- panda should in general have several ways to talk to the network, and use the sanest one it can. | 17:44 | |
lee__ | that is how cpanm handles it. falls back to wget/curl, defaults to LWP | 17:47 | |
japhb__ | jnthn: Why do you use 'tmp[0]' instead of '*tmp' in github.com/MoarVM/MoarVM/commit/42...58e807R136 | ||
jnthn | japhb__: Insufficient coffee to be consistent with two lines below, I guess... :) | 17:49 | |
p6: say loop (my $i = 0; $i < 10; $i++) { $i } | 17:53 | ||
camelia | rakudo-parrot 8e44be, rakudo-jvm 8e44be, rakudo-moar 8e44be: OUTPUTĀ«===SORRY!===ā¤Word 'loop' interpreted as a listop; please use 'do loop' to introduce the statement control wordā¤at /tmp/tmpfile:1ā¤------> say loopā (my $i = 0; $i < 10; $i++) ā¦Ā» | ||
..niecza v24-109-g48a8de3: OUTPUTĀ«Unhandled exception: Unable to resolve method from in type P6+{infix:sym<ā>},{infix:sym<ā¼>},{term:sym<ā >},{infix:sym<ā>},{infix:sym<(elem)>},{infix:sym<ā>},{infix:sym<ā>},{infix:sym<(cont)>},{infix:sym<ā>},{infix:sym<āŖ>},{infix:sym<(|)ā¦Ā» | |||
jnthn | p6: say do loop (my $i = 0; $i < 10; $i++) { $i } | ||
camelia | rakudo-parrot 8e44be, rakudo-jvm 8e44be, rakudo-moar 8e44be: OUTPUTĀ«Falseā¤Ā» | ||
..niecza v24-109-g48a8de3: OUTPUTĀ«Nilā¤Ā» | |||
FROGGS | jnthn: do I need to decont the @args? github.com/rakudo/rakudo/blob/wip-...ol.pm#L195 | 17:54 | |
jnthn: because MVM_repr_get_str explodes here github.com/MoarVM/MoarVM/blob/mast...ops.c#L227 | 17:55 | ||
jnthn | FROGGS: I would, yes | ||
FROGGS | k | ||
timotimo | jnthn: i re-implemented gcd for smallint, that's why i had a failing test | 18:24 | |
FROGGS | ohh, yeah, run() does work now... pushing in a bit | 18:35 | |
timotimo | that's great! | 18:36 | |
jnthn: my gcd implementation of the smallint branch is only very slightly faster, but saves a surprising amount of memory in the maxresidentk department | 18:42 | ||
0:26.95elapsed / 243960maxresident and 0:26.80elapsed / 244000maxresident ā smallint gcd | 18:43 | ||
0:27.30elapsed / 303704maxresident and 0:27.25elapsed / 303720maxresident ā bigint gcd | |||
for 5..500 X 1..500 -> $a, $b { $a gcd $b } ā benchmark code | |||
japhb__ | Nice win! | 18:44 | |
jnthn | Wow :) | ||
timotimo | why would it win us as much, though? | 18:45 | |
unless it's otherwise leaking memory? | |||
jnthn | Well, you can allocate a lot of Int objects in the nursery before you get around to a collection, and we only free the mp_int at that point | ||
timotimo | doesn't store_bigint_result free the mp_int if it fits in a smallint? | 18:46 | |
jnthn | Should do, yeah... | ||
timotimo | yeah, it does | ||
jnthn | Hm, that is odd. | ||
jnthn is hunting various code-gen sub-optimalities. | 18:47 | ||
timotimo | oh, cool! :) | ||
jnthn | Found that the _n -> _i opts in NQP didn't apply to comparators (islt, etc.) | 18:48 | |
so native $i < $n just became a lot shorter after fixing that. :) | 18:49 | ||
timotimo | \o/ | ||
jnthn | Now hutning a place we do a box only to throw it away | ||
timotimo | i imagine that'd happen in a bunch of places unless we're very careful | 18:50 | |
i suppose those would help on all backends, too? | 18:52 | ||
jnthn | The native int one was an NQP::Optimizer improvemnet, so it helps all, yes. The box one I'm hunting is Moar-specific. | 18:53 | |
timotimo | OK | 18:54 | |
since my gcd implementation causes no new spectest failures now, i'll go ahead and push it | 18:57 | ||
dalek | arVM: e47fc4d | (Timo Paulssen)++ | src/math/bigintops.c: gcd implementation for smallint. |
18:58 | |
timotimo | seems like i'll already have to run a new benchmarking session :3 | 19:00 | |
dalek | arVM/wip-openpipe: af96e73 | (Tobias Leich)++ | src/io/procops.c: make run(), shell() and qqx{} explode less Somehow we need to make sure that the calloc()-ed process gets freed when libuv is done with it. |
19:58 | |
timotimo | t.h8.lv/Perl_6_what_can_you_do_toda...audio.webm ā it does sound a lot better than it did before, but it's still pretty bad | 20:05 | |
dalek | arVM/wip-openpipe: c2b3c94 | (Tobias Leich)++ | src/io/procops.c: protect objects against movement |
20:21 | |
arVM/wip-openpipe: 6d6e388 | (Tobias Leich)++ | src/io/procops.c: free() before throwing exceptions |
20:22 | ||
hoelzro | FROGGS: you fixed it? | 21:02 | |
FROGGS | I dunno | ||
hoelzro | I had to leave *right* after I found that bug | ||
FROGGS | I don't know what is wrong on your side | ||
I just tried to make t/spec/S29-os/system.t pass | 21:03 | ||
hoelzro | I'll try it out | ||
FROGGS | cool | ||
hoelzro | that fixed it | 21:06 | |
every time I try to do something, you beat me to it, FROGGS! | 21:07 | ||
FROGGS | Ć³.Ć² | 21:08 | |
hoelzro: I hope you're not sad or so | |||
hoelzro | no no =) | ||
I'm joking =) | |||
FROGGS | pheeew | ||
:o) | |||
hoelzro | but I was excited to find such a great bug | ||
FROGGS | yeah, I fear there are still some left in :o) | ||
hoelzro | and I had to leave a few minutes later! | ||
FROGGS: well, I'll keep testing =) | |||
jnthn | such bug! much greatness! | 21:10 | |
dalek | Heuristic branch merge: pushed 67 commits to MoarVM/wip-openpipe by FROGGS | 21:11 | |
FROGGS | jnthn: I am spectesting wip-openpipe now, but it feels good | 21:12 | |
jnthn | FROGGS: Does system.t pass? | 21:13 | |
FROGGS | yes | ||
jnthn | \o/ | ||
FROGGS | I'd even like to unskip the first test for jvm... | ||
jnthn is wrestling with jvm code-gen at the moment... | |||
FROGGS | kill it! | 21:14 | |
(with fire perhaps) | |||
jnthn | Well, the real issue is that asm gives shit errors. | 21:15 | |
22:11
dalek joined
|
|||
timotimo | it wouldn't be efficient enough if it would check for correctness all the time! | 22:18 | |
FROGGS | jnthn: am I allowed to merge? or are going to do it? | 22:19 | |
jnthn | FROGGS: Merge...openpipe? | 22:21 | |
FROGGS: Does it pass system.t on Windows also? | |||
FROGGS | jnthn: yes, and yes it does | ||
jnthn | FROGGS: OK. Go for it, I'm doing JVM bits ATM :) | 22:22 | |
FROGGS | k | ||
dalek | Heuristic branch merge: pushed 31 commits to MoarVM by FROGGS | ||
timotimo | jnthn: should i kick off a new benchmark run for {nqp,rakudo}-{parrot,moar}? | ||
or will you have something new for the non-jvm backends soon, too? | 22:23 | ||
jnthn | timotimo: You could. Or maybe wait until tomorrow, when I probably have JVM bind stuff done too? | ||
timotimo: No, not today. | |||
timotimo | well, if you're only going to change JVM until tomorrow, i can do a non-jvm benchmark run now :) | 22:24 | |
the jvm part takes by far the longest | |||
jnthn | OK :) | ||
timotimo | i imagine the performance of concat on moarvm causes noticable feelings of slowness on the REPL if you try to print out large-ish results | 22:58 | |
jnthn | yeah | ||
timotimo made it a quest on questhub | 23:01 | ||
23:38
colomon joined
23:41
btyler joined
|
|||
hoelzro | I found some odd behavior | 23:51 | |
a test that passes when not using precompiled modules | |||
timotimo | do tell | ||
hoelzro | but fails when using them | ||
I'll paste the output | 23:52 | ||
timotimo | aaw, those are always bad :( | ||
i hope i didn't break serialization recently when i introduced varints | |||
hoelzro | hmm | 23:53 | |
I'll try an older branch | |||
pastebin.com/HtaeMiL5 | |||
timotimo | "recently" | ||
hoelzro | how recently? | ||
timotimo | Jan 26, 2014 | 23:54 | |
github.com/MoarVM/MoarVM/commit/6c...baed1b2f44 | |||
hoelzro | and the Makefile: pastebin.com/qy99rtzMM^H | 23:55 | |
timotimo | "this paste has been removed!" | ||
hoelzro | which? | ||
timotimo | the makefile paste | ||
hoelzro | pastebin.com/qy99rtzM | 23:56 | |
oops | |||
too many Ms | |||
timotimo | heh | ||
thank you for spending so much time on checking the star-related modules on moarvm! | |||
that's going to make actually doing a star release (maybe even next month?) so much more pleasant | 23:57 | ||
hoelzro | timotimo: I have JSON::Tiny passing atm! | ||
timotimo | \o/ | ||
hoelzro | it's also providing me a source of things to do with Moar =P | 23:58 | |
timotimo | that's great | ||
hoelzro | I'll try building perl6-m with your branch reverting | 23:59 | |
*reverted |