japhb | The work function for rat_harmonic needs to be fixed, methinks. | 00:00 | |
Same with rc-9-billion-names | |||
timotimo | performance | 00:02 | |
japhb | timotimo: I think he's saying what test/functionality did we regress on? | ||
But I may be misreading his question. | 00:03 | ||
jnthn | Yeah. You can kinda read a very minor regression into while_int2str_concat_native | 00:04 | |
timotimo | oh | ||
that exact one, aye | |||
jnthn | Curious. I notice the one above it kinda converges again... | 00:05 | |
timotimo | i was only guessing from memory | 00:06 | |
dalek | arVM/split_iter_boolification: 125e656 | (Timo Paulssen)++ | src/spesh/facts.h: waste one less bit in facts bitfield |
00:07 | |
arVM/split_iter_boolification: 5b71b8a | (Timo Paulssen)++ | src/jit/ (2 files): boolify_iter_hash and _arr in the jit, too. |
|||
timotimo | i'll leave it in this branch for someone else to merge if they feel it's all right | 00:17 | |
still about 48 hours until release, i believe? | 00:18 | ||
jnthn | Something like that. | ||
timotimo | sounds like ample time to get this little feature tested | ||
how long do i have to do benchmarks before you want your slides to be finalized? | 00:19 | ||
the benchmarks i gave to you don't include any of TimToady's listy improvements | 00:20 | ||
jnthn | timotimo: I think I'm probably done with them by now | 00:24 | |
timotimo: I've selected a range that illustrate good, bad, and ugly. :) | |||
Oh, and great. :) | |||
timotimo | but i should still benchmark what the very recent changes did, no? | ||
jnthn | Oh, please do. | 00:25 | |
Just don't do it on the expectation I'm looking for more things to put in my slides. They're already packed full of things. :) | |||
timotimo | surely will | ||
hm, fair enough. | |||
i think the split_iter_boolification branch is mergable now | 00:30 | ||
jnthn | Cool | 00:59 | |
Im gonna rest now | |||
But yay, my Friday talk is completed. :) | |||
(Which was the one where I had nothing I could steal from previous talks. :)) | 01:00 | ||
japhb | How many talks do you have? | 01:03 | |
Ah, rest. Good night, then. :-) | |||
jnthn | japhb: 2 | 01:04 | |
japhb: The other one is on the Sunday :) | |||
And on async stuff, which I've talked about quite a lot at workshops | |||
I do have a new app that I'm working on that I'd like to be able to show off during it, though... :) | 01:05 | ||
TimToady | .oO(irc bot) |
01:06 | |
jnthn | 'fraid not :P | 01:10 | |
timotimo | .o( multithread-compatible perl6 debugger ) | 01:12 | |
japhb can't wait to see the slides+video for both. :-) | 01:17 | ||
jnthn | :) | 01:21 | |
Really afk & | |||
01:30
FROGGS_ joined
01:33
jnap joined
|
|||
japhb | Report from the trenches: I tried switching the Rakudo variant I was using for my heavy-threading/spawning script from r-j to r-m, and had lots of threading programs. In 6 runs, I had 4 different failure modes, from immediate crash and dump, to strange errors, to just getting incomplete results. On the flip side, r-j has been rock solid threading wise lately, but of course much slower and missing some language-level fixes that r-m has. | 02:25 | |
*threading problems | |||
05:49
cognome joined
06:18
brrt joined
|
|||
brrt | timotimo: can't build moarvm with the split_iter_boolify branch, and spectests crash and burn | 06:19 | |
and, you're right about the iter hash facts | |||
they do have to be different | |||
because sometimes you just don't know :-) | 06:20 | ||
hmm | 06:21 | ||
brrt afk | 06:22 | ||
06:22
brrt left
|
|||
sergot | morning o/ | 06:47 | |
06:59
klaas-janstol joined
07:24
zakharyas joined
07:26
klaas-janstol joined
07:58
brrt joined
|
|||
brrt | \o | 08:04 | |
nwc10 | o/ | ||
brrt | nwc10: have you tried the split_iter_boolify branch? | 08:12 | |
nwc10 | not yet | 08:13 | |
brrt | hmm | ||
nwc10 | er, where is it? | ||
brrt | it burns, but i don't know why | ||
lemmesee what it is really called | |||
split_iter_boolification | 08:14 | ||
we might want to keep the old 'sp_boolify_iter' which is dynamic arround after all | |||
08:31
klaas-janstol joined
|
|||
jnthn will probably do this month's MoarVM release this evening, given Thursday will be taken up with travel to YAPC. | 08:36 | ||
(So keep anything risky/uncertain out of master.) | 08:37 | ||
brrt | understood :-) | 08:38 | |
nwc10 | brrt: t/spec/S32-str/sprintf.rakudo.moar and t/spec/S32-num/rat.rakudo.moar fail (in addition to the 2 usual sinners) | 08:53 | |
brrt | yeah, i've seenthose | ||
seen those | |||
i'll be pushing a few things in a minute | |||
nwc10 | other than that, it seemed happy | 08:54 | |
brrt | i get more breakage than that, but allright | 08:55 | |
dalek | arVM/split_iter_boolification: 7a1b003 | (Bart Wiegmans)++ | / (9 files): Neither iterating over a hash or an array is certain In other words, I was wrong about the two being mutually exclusive, since neither of them may actually be set. This still fails a few spectests, though. |
08:59 | |
09:05
klaas-janstol joined
|
|||
brrt | this is /not/ a perfect commit just yet | 09:06 | |
brrt afk for... long :-) | 09:11 | ||
09:11
brrt left
09:37
cono left
10:37
Ven joined
10:40
woolfy left
11:09
Ven joined
11:25
klaas-janstol joined,
cognome joined
11:30
zakharyas joined
11:56
klaas-janstol joined
12:14
jnap joined
12:22
klaas-janstol joined
|
|||
timotimo | building nqp and rakudo works just fine on my end >_< | 12:35 | |
dalek | arVM: c00d549 | jnthn++ | docs/ChangeLog: ChangeLog for 2014.08. |
13:03 | |
jnthn | So work! | ||
The fun thing about doing ChangeLog is realizing how much got done in a month :) | 13:05 | ||
timotimo | gist.github.com/timo/13e37608782ee2adf75b - this is what my spec test results look like; lock and asyncare known to flap, uniq.t is known to segfault for a long-ish time, rat.rakudo.moar and sprintf.rakudo.moar seem to be caused by the bigint is_big change that recently landed | ||
jnthn | Gotta head out for a bit. More releaseeng later. | ||
timotimo | oh wow, a full page of changelog | 13:06 | |
jnthn | timotimo: Did you try reverting the bigint change? | ||
nwc10 | churn is inevitable, progress is not :-) ? | ||
timotimo | i should probably do that. | ||
jnthn | (To see if it unbusts them) | ||
If it is guilty, then just mark the commit with a branch name, push the revert, and we deal with that in the 2014.09. :) | 13:07 | ||
timotimo | fixes both of these spec tests | ||
will do. | |||
jnthn | Unless you feel like trying to fix it... :) | ||
It didn't bust those things on Windows, fwiw. And it *did* fix the ugly drop-off bug | 13:08 | ||
Anyway, gotta drop by the office...bbl | |||
timotimo | o/ | 13:09 | |
dalek | arVM: 00cfece | (Timo Paulssen)++ | src/math/bigintops.c: Revert "Fix nqp::isbig_I to not consider so much big." This reverts commit d27d560270cdfd6ec4dc3572bcf73a7281d74400. caused two tests in all of the spectest suite to fail. one in rat.rakudo.moar and one in sprintf.rakudo.moar. Needs more investigation after the release. |
13:10 | |
13:13
ggoebel11111114 joined
|
|||
dalek | arVM: 6fdc15e | (Timo Paulssen)++ | docs/ChangeLog: minor cosmetic changes to the changelog |
13:14 | |
15:22
Ven joined
16:28
Ven joined
17:00
woolfy joined
17:16
zakharyas joined
17:51
tgt joined
|
|||
timotimo | i just got a mail from gsoc asking us to finish the evaluation for brrt | 18:24 | |
that's probably taken care of properly, aye? | |||
jnthn | timotimo: It's in a 70% done state on a browser tab here :) | 18:26 | |
lizmat | now that he's not here: how would that evaluation work out? positively? | ||
:-) | |||
jnthn | lizmat: Oh, the "yes he passed" field was the *easy* part :P | ||
lizmat | hehe... :-) good to hear | ||
timotimo | OK | 18:29 | |
i have my doubts. after all, the halting problem wasn't sufficiently solved by the jit | |||
TimToady | "This GSOC project makes all the other GSOC projects look wimpy, so we should not allow it." | 18:31 | |
"This project's rating was so high that it overflowed and flipped the sign bit." | 18:32 | ||
you'll just have to give brrt++ the usual evaluation for this sort of thing: "Walks on water, needs to learn to walk on air." | 18:33 | ||
jnthn | :) | 18:35 | |
jnthn is *very* happy with how the project worked out | |||
FROGGS | yeah, has been a very good GSoC this year :o) | 18:38 | |
nwc10 | me too. I'd've been happy with just "useful maintainable code, good enough to merge, did yet merge" | ||
it's way way better than that | |||
timotimo | agreed | 18:43 | |
and we also have a somewhat high bus factor for pieces of the puzzle | |||
jnthn is very relieved that spesh has a bus number > 1 :) | 18:56 | ||
timotimo is a bit worried he's part of the contributors to that bus number | |||
i want to build a gui tool that allows you to introspect lods and loads of things in a givn moarvm instance | 18:57 | ||
i want to call it InspectoarGadget | |||
TimToady | that's...hoarible | 18:58 | |
oar something like that | 18:59 | ||
obviously our extension should've been .oar | |||
since the metaobjects are supposed to be invisible most of the time | 19:00 | ||
19:17
cognome joined,
brrt joined
|
|||
brrt | \o | 19:18 | |
i need some advice on the modern world of hotel booking | |||
(yes, i still need to book my hotel. i'm an idiot. it's on record) | |||
19:19
zakharyas joined
|
|||
brrt | on booking.com i need to enter a credit card to guarantee my reservation | 19:19 | |
timotimo | brrt: i wasn't able to get any other person to reproduce crashing and burning with my branch | ||
so i'll probably just merge the branch | 19:20 | ||
brrt | problem: i only have a debit card, which has no money, and which importantly i don't have with me | ||
but spectest! | |||
and printf | |||
and moarvm release | |||
timotimo | printf was something else | ||
as was rat.t | |||
those issus were brought to light by a change to bigint thingies | |||
brrt | oooh.. ok | 19:21 | |
was the guard_concrete thingy still necessary btw? | |||
timotimo | it sounded like you weren't able to build moarvm, too? | ||
brrt | oh yes, moarvm i could build | ||
timotimo | i haven't tested without | ||
brrt | anyway, it turns out i can buy a voucher for a virtual credit card | 19:22 | |
[Coke] | brrt: Perhaps call the hotel and speak to a human? | ||
brrt | if jnthn agrees, i think merging is ok | ||
[Coke] | ah, that works. | ||
brrt | uhm | ||
that's actually a pretty good idea | 19:23 | ||
jnthn | timotimo: Maybe merge just after the release now; I'd rather we don't sneak anything besides fixes in beforehand... | ||
timotimo | aaw | ||
brrt | [Coke]++ for great advice | 19:25 | |
ok /me is managing | 19:36 | ||
timotimo | brrt: do you know of a good example where we'd have the iterator boolification thing? | 19:41 | |
brrt | pretty much all for @foo -> $bar { } loops | 19:42 | |
as in, inserting printf in these things make 'm very frequent | |||
timotimo | how much stuff ends up getting generated around that on perl6 rather than nqp code? | 19:43 | |
brrt | i don't know really :-) | 19:53 | |
jnthn | At least all hash iteration in Perl 6 happens through the nqp::iterator API | 19:54 | |
20:02
zakharyas1 joined
20:15
Ven joined
20:27
klaas-janstol joined
20:35
colomon joined
|
|||
timotimo | that sounds good at least | 20:38 | |
my keyboard is deciding to randomly send keypresses that switch buffers in weechat when i type ... | |||
jnthn | New keyboard time? :) | 20:45 | |
moritz | speaking of keyboards, I've recently discovered that the shift key is implemented purly in software | 20:47 | |
jnthn | o.O | ||
Caps lock too, then? | |||
moritz | when I attach two USB keyboards, and I can press shift on one keyboard, and an alphabetic key on the other | ||
and it comes out in upper case | |||
jnthn: haven't tried that | |||
jnthn | !! | ||
TIL... | 20:48 | ||
timotimo | i just bought this keyboard a month ago! | 21:01 | |
jnthn | I dunno...play it more gently? :) | 21:03 | |
timotimo | probably | ||
jnthn | My side of the brrt++ evaluation is now submitted. | 21:08 | |
timotimo | \o/ | 21:10 | |
and "my side" doesn't exist | |||
jnthn | I think brrt did his bit. | 21:11 | |
So, we seem to be good. \o/ | |||
brrt++, timotimo++, Google++ | |||
TimToady | Quick, break all the bits! | ||
jnthn | Noooo...let me tag the release first. :P | 21:12 | |
I gotta get up for my YAPC flight in 7 hours or so. :P | |||
So I'd like this to go smoothly :) | 21:13 | ||
[Coke] | 2 failing tests, with or without jit: | 21:15 | |
S32-io/IO-Socket-Async.rakudo.moar aborted 1 test(s) | |||
S32-list/uniq.t aborted 7 test(s) | |||
jnthn | When I looked at S32-io/IO-Socket-Async.t last I couldn't tell if it was mis-fudged or an oddly reliable heisenbug.. | 21:17 | |
As for S32-list/uniq.t, it seems to pass not under the harness, and fails to blow up with ASAN, which makes it rather frustrating. I suspect we may have to fudge that for release. | 21:19 | ||
timotimo | gist.github.com/timo/07f9bed3358139944afd ā jnthn, how the F did this happen? o_O | 21:21 | |
jnthn | timotimo: Easily? :) | 21:31 | |
timotimo: The first BB is actually a kind of "pseudo"-BB that points to all the exceptional entry points. | 21:32 | ||
timotimo | it does not make sense to me, is all | ||
oh | |||
jnthn | 'cus we might only end up in them through non-local control flow | ||
timotimo | that makes sense | ||
jnthn | And if they don't hang off something, then we'd kill them in dead BB analysis. | ||
OK, tagging the release. | 21:33 | ||
21:36
donaldh joined
21:37
colomon joined
|
|||
dalek | arVM: fd34f00 | jnthn++ | VERSION: Bump VERSION. |
21:39 | |
21:41
donaldh joined
|
|||
jnthn | Darn it. The release tarball...doesn't work. | 21:42 | |
FROGGS | :o( | 21:43 | |
tadzik | ow | 21:45 | |
FROGGS | must be the MANIFEST, no? | ||
... or the thing that creates it | 21:46 | ||
I'd guess that the new JIT source files might not be in there | |||
timotimo | well ... fuck | ||
right. and even without --enable-jit, you still have to have the emit_dummy.c an demit.h | 21:47 | ||
21:55
jnap1 joined
|
|||
dalek | arVM: 45a543f | jnthn++ | tools/release.sh: Include dynasm submodule in release. |
21:55 | |
jnthn | That does it. | 21:56 | |
www.moarvm.org/releases/MoarVM-2014.08.tar.gz | 21:58 | ||
timotimo | oh, ah | ||
jnthn | Given I've got an earlyish flight, I'll update the website from an airport somewhere tomorrow. | 21:59 | |
Either in Copenhagen or the white city :) | |||
.oO( I came to Serbia for the first time and all I got was this lousy layover... ) |
22:00 | ||
timotimo | jnthn: any reason you changed lcm_I, but not gcd_I? | ||
jnthn | ummm | ||
timotimo | to put the allocation into the function it implements so that it can be jitted? | ||
i can just do the same transformation right now if you'd like | |||
jnthn | I *think* 'cus lcm somehow used a macro form and I transofrmed the generating macro | 22:01 | |
But gcd didn't | |||
I forget exactly | |||
timotimo | ah | ||
i'll have a look-see | |||
jnthn | I did the bigint ops that I immediately needed for bits of perl6-bench and that were LHF. | ||
We'll have to revisit bigint JIT in the future... | |||
At least for the common ops | |||
timotimo | OK | 22:02 | |
well, gcd is probably something that'd appear in pretty much every piece of rat-using code, eh? | |||
jnthn | Yes :) | ||
So we should JIT it :) | |||
22:04
Ven joined
|
|||
jnthn | OK, what's left on my pre-sleep todo list... :) | 22:07 | |
22:11
woolfy left
|
|||
timotimo | it should be easy to jit curcode ... | 22:21 | |
and then i can probably just jit callercode, too. | |||
just a teeny tiny branch in there | |||
dalek | arVM: ca7615e | (Timo Paulssen)++ | / (9 files): split boolify_iter into two ops, for hash and array. |
22:26 | |
arVM: 125e656 | (Timo Paulssen)++ | src/spesh/facts.h: waste one less bit in facts bitfield can jit curcode. |
|||
22:26
dalek joined
|
|||
timotimo | (we already have callercode) | 22:28 | |
(it was me who implemented that) | |||
bool_I seems hot, too | 22:38 | ||
(in the code i tested) | |||
this code spends a quarter of its time in add_frame_roots_to_worklist | 22:47 | ||
ah, now getcodeobj has taken its place | 22:48 | ||
jnthn: should i move the "getcodeobj needs a code ref" into the frame_get_code_object, or should the jitted code skip that check? | 22:49 | ||
... or maybe throwing an exception isn't that hard? | |||
jnthn | If you know it's BOOTCode you can elide the check | 22:50 | |
But it's not really hot code... | |||
So I'd just put it in a function and call it | |||
timotimo | i have 38 bails on it in this piece of programming | ||
"in a" or "into the"? | |||
jnthn | Possibly into the | 22:51 | |
timotimo | OK | ||
jnthn | If the interp is the only place that calls it | ||
timotimo | i'll check how many callers it has | ||
jnthn | If it's called from elsewhere then those places don't need the check, so more efficient to put it in another function | ||
timotimo | aye, interp is the only place that calls it | ||
jnthn | ok | ||
23:01
klaas-janstol joined
|
|||
timotimo | implementing getcodeobj causes my program to segfault ... pretty much immediately after it compiles a frame that has it | 23:02 | |
oh, actually | 23:03 | ||
many more frames with getcodeobj get jitted already | |||
oh | 23:04 | ||
maybe because it's not marked throwish | |||
nope, still segfaults ... | 23:05 | ||
why is use of MVMint32 and MVMint16 so inconsistent throughout graph.c to refer to a .reg.orig? | 23:12 | ||
at least 16 seems to be right in all cases | 23:13 | ||
i now remember that i don't have to mark things throwish that just do an adhoc exception | 23:15 | ||
bleeehhhh why does this segfault | 23:16 | ||
it passes a totally bogus pointer as the argument to getcodeobj | |||
why TF does it do that | 23:18 | ||
arVM: d6a1ce2 | (Timo Paulssen)++ | src/jit/graph.c: jit bool_I |
|||
timotimo | at least this is sane stuff | ||
dalek | arVM/jit_getcodeobj: 16ff4bd | (Timo Paulssen)++ | src/ (3 files): try to jit getcodeobj, but this segfaults :( |
23:20 | |
timotimo | if someone could check that out, that'd be fantastic | ||
AFK | 23:25 |