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