01:35 colomon joined 02:04 chipdude joined 03:58 lue joined 04:11 jnap joined
[Coke] moar at 63.36% of jvm 04:51
05:26 jnap joined 06:26 jnap joined 08:28 jnap joined 08:37 odc joined 09:29 jnap joined
masak [Coke]: is that Rakudo on Moar? 09:52
10:29 jnap joined 11:30 jnap joined 12:31 jnap joined
jnthn masak: Yes, it will be. :) 12:31
timotimo i'm interested in trying to compile moarvm with emscripten to ASM.js :P 12:40
jnthn Good luck :P 12:41
timotimo %)
jnthn I suspect compiling Moar ain't too bad but not sure how libuv will work out with that :)
timotimo oh. right. 12:42
the last time i tried to do emscripten i failed horribly for some entirely different reason
i'll give it some more time before i do the attempt 12:43
diakopter :D
timotimo jnthn: an idea why stage mast is only a tiny bit faster than stage parse? 13:03
1 1 3 4 5 7 8 9
now *that* is what i call sorted!
jnthn timotimo: Didn't dig into it yet 13:05
timotimo: oooh! That looks good.
timotimo i've written a version to use _i variants of *pos now 13:06
if it works, i'll commit
jnthn uh, you did switch to using a list_i everywhere, I assume? 13:07
timotimo yes
jnthn ok
anyway, looks like we get sort :)
timotimo i've changed the clone to a for loop, too
i'm thinking unboxing once at the beginning and boxing once at the end should be better than doing n log n boxings + unboxings or something like that
jnthn Well, I want to review the whole way we do sort at some point, 'cus I think we've got some potential other gains to be had there... 13:08
timotimo sounds good to me 13:15
it emits some warnings, but passes the sort test. 13:28
and i've committed it 13:30
jnthn \o/
timotimo \o/ 13:31
another LHF for me? :)
please don't say continuation passing transform :P
jnthn :P
No, though I am looking into the weird match issue at the moment...
13:32 jnap joined
jnthn I think I might have mentioned one yesterday, but forget what it was... 13:32
Oh...one possible thing to do is port the arity_fail stuff in the binder
(It's error message generation)
timotimo can moarvm get something like the getattr/setattr thing where we precalculate the "hint" at compile-time if we can? 13:33
jnthn Yeah
timotimo i bet stage mast can benefit a bit from that
i'll have a look at the binder thing
not actually sure where that lives :| 13:37
nwc10 timotimo: you didn't comment, so not sure if you saw it in scrollback. The author of the Perl 5 sort code thinks it probable that it is slightly more efficient than timsort
but it's not called tim :-(
timotimo right
it seemed pretty daunting to implement anyway
i'll stay with the mergesort variant for now.
13:37 benabik joined
jnthn timotimo: BOOTSTRAP.nqp 13:38
nwc10 that feels sane to me - do something that is good enough, but a lot easier to debug
timotimo ah, i was looking at nqp
and in the vm/moar/ folder
jnthn: is there a stub in the binder for that error already? i didn't see it on my first glance, but i also don't know what exactly to look for :P 13:43
a failing piece of code that triggers the poor error would be fantastic 13:44
FROGGS timotimo: src/Perl6/Metamodel/BOOTSTRAP.nqp:121: nqp::die('arity_fail NYI'); 13:47
timotimo thank you :)
er, that looks to simple to be what i think it is :P 13:48
FROGGS I just wonder why it is not fudged for moar 13:50
[Coke] nothing's fudged yet.
FROGGS [Coke]: I am talking about rakudo's source, not tests 13:51
[Coke] oh.
FROGGS so the question is, where to steal from?
jnthn Either the JVM or Parrot impl 13:52
FROGGS ahh 13:54
src/vm/parrot/guts/bind.c:195:Rakudo_binding_arity_fail(
found itz
-z
timotimo i've already found that part :)
that was easier now that i saw it's a separate sub
nwc10 jnthn: is the answer "dunno, take a look?" to "what would it take to get that assertion fail on setting compilation on not-Win32 fixed?" 13:55
FROGGS nwc10: I captured a bt today: gist.github.com/FROGGS/cbdcd4054a4...llbacks-sh 13:56
jnthn nwc10: Is it the uv one?
nwc10 yes, IIRC 13:57
but I'm a bit confused - sometimes there is an assertion failure (I thought), sometimes a SEGV because ...handle is a bad pointer.
the latter being because one thread frees something before another thread is done with it
nwc10 somewhat destressing
at the babysitting service
now have 10 copies of Robot Turtles (after visting post.at/BMZ and paying tax) 13:58
FROGGS I've got one, and it is awesome :o)
nwc10 my birth certificate has arrived and is being translated
jnthn nwc10: I think that the issue is that something we expect to happen sync is happening async...
nwc10 and there's something else but I forgot what that is somewhat under control
I do have to figure out contact details for the other 9 people, and how to get 2 to Salzburg 13:59
well, about 5 of the 9 others
jnthn Busy times :) 14:01
timotimo has a preliminary implementation of arity_fail 14:02
nwc10 other small things are under control - eg coffee beans exist to refil the coffee machine
timotimo Missing or wrong version of dependency 'src/gen/m-BOOTSTRAP.nqp' 14:05
er what?
jnthn wat
timotimo makes m-clean m-install :\
nwc10 jnthn: NQP HEAD builds with all my torture code
starting on Rakudo
timotimo F YEAH! :) 14:06
jnthn \o/
nwc10: 3122e830b is the commit that fixed things on Windows, I think.
nwc10: That then got backend out to only do those things on Windows. 14:07
Trouble is, the header file claims it's implemented on Windows and Unix, and yet the unix implementation is assert(0 && "implement me"); 14:10
timotimo wow, good job 14:11
jnthn It's that way in latest too.
timotimo Not enough positional parameters passed; got 2 but expected 3 14:15
\o/
FROGGS is that what you wanted?
timotimo it is
jnthn Yes, if you're impletmning arity_fial :)
FROGGS \o/ then
timotimo arity_fijal? what is the pypy dude doing here? :) 14:16
jnthn :P
14:16 jnap joined 14:44 benabik joined
timotimo i'm getting the bootstrap version problem more often now o_O 14:44
dalek arVM/try-fix-io: 66622a1 | jonathan++ | src/io/fileops.c:
Another try at fixing pipe writes.

Removes Win32-specific things, and takes another approach that makes things work fine still on Windows. Needs testing elsewhere.
14:53
jnthn FROGGS, nwc10: The above may help with the exit segfaults etc. 14:55
Feel free to give it a try and see if it's any improvement.
diakopter hi moat denoaems 15:31
her moar denizens
er moar denizens 15:32
masak kinda liked "moat daemons" :P 15:56
16:01 jnap joined
nwc10 ./perl6-m --target=mbc --output=lib/Test.moarvm lib/Test.pm 16:07
Unhandled exception: While looking for 'ModuleLoader.moarvm': no such file or directory
at <unknown>:1 (/home/nicholas/Perl/rakudo-moar/perl6.moarvm:frame_name_16:6)
which seems to be blib/Perl6/ModuleLoader.moarvm 16:08
but not found
jnthn Oddness... 16:09
nwc10 yes 16:10
jnthn I've never had that one happen here. I have heard it reported...
But was under the impression it boiled down to some oddity with something being out of date...
nwc10 strace shows it looking for ./ModuleLoader.moarvm and then twice for ModuleLoader.moarvm
jnthn Odd...should be looking for it under libpath iirc 16:11
nwc10 OK, clean, rebase and try again...
jnthn What does your perl6-m look like?
nwc10 setting did compile with all the current torture
um, it just got wiped.
sorry, will answer that if I can recreate
jnthn I just found and fixed a nasty segfault. 16:12
May have been to blame for various test fails.
dalek arVM: 7cd9221 | jonathan++ | src/6model/reprs/P6opaque.c:
Fix multiple thinkos in P6opaque.

These could cause box allocation with incorrent STable, or problems when doing attribute auto-viv on mixed-into objects.
16:13
jnthn Fixes t\spec\integration\rule-in-class-Str.t at least.
But I can see that fix helpling a lot more generally too 16:14
For anybody wanting another thing to investigate: working out why S16-io/basic-open.t hangs may in turn open up various other IO tests 16:22
FROGGS jnthn: that try-fix-io branch made my test hand that segfaulted before... 16:37
or do I have to rebuild nqp/rakudo too? 16:38
jnthn FROGGS: No, should just be a MoarVM change. 16:39
:/
OK, then apparently that's not the way to fix it then. :/
FROGGS :(
I'll play with it in a bit
jnthn libuv basically doesn't provide a way to do a synchronous pipe write.
Well, not a portable one. 16:40
nwc10 synchronous? ENOTTRENDY :-( 16:41
jnthn yeah :/ 16:42
Trouble is, it's the "odd one out"...
For file handles and TTYs it seems you can force sync
(and we do)
16:46 colomon joined
dalek arVM: db68b8f | jonathan++ | src/core/interp.c:
Add missing type-object checks.

Turns various ways to segfault into an appropriate exception.
16:49
jnthn bbl 16:55
[Coke] I may manually run the moar run again after the slow java run to pick up a few more commits. 17:22
(and then pretend it was the only run)
FROGGS hehe
[Coke]++ 17:23
17:23 jnap joined
[Coke] today's moar run up to S05. I'll shove a copy on feather when it finishes. 17:23
looks like it's running with 7f8a180 17:24
Error while compiling op p6getouterctx: No registered operation handler for 'p6getouterctx' - seeing a bit of that. 17:32
timotimo did you make sure to build all things on master (or on moar-support)? 17:35
[Coke] timotimo: github.com/coke/perl6-roast-data/b...do.moar.sh 17:37
(yup)
timotimo strange 17:38
i thought i saw something mentioning that op, but apparently not. 17:39
[Coke] Might be a few builds behind. 17:40
timotimo i'll run a full spectest run now, too :3
[Coke] it was master -at the time the run started-, and I'm not sure rakudo is updating it's dep on nqp or nqp is updating it's dep on moar.
timotimo good point.
benabik [Coke]: Might I suggest `git clone -b moat-support $URL rakudo.moar` instead of separate clone and checkout operations? Saves some I/O time. 17:41
*moar-support, obv
[Coke] benabik: sure, though time is swamped by "run jvm tests". 17:42
timotimo if you rm-rf it all the time anyway, why not --shallow=1 or what that argument was?
benabik [Coke]: Fair enough.
[Coke] I'm eventually going to do it as japh did in bench, where I have -a- local copy of rakudo and then clone the local copy for builds.
timotimo right 17:43
shallow cloning helps most in nqp, because of the huge stage0 files
and with half blocks you can use background and foreground to have two colors above each other for every character in your terminal 17:45
and these colors will be in mostly square blocks, rather than horribly stretched rectangles
[Coke] timotimo: ? 17:48
timotimo ww 17:49
i wonder how much work it would be to make the junction autothreader be called properly after the binder decides it needs to happen
S03 \o/ 17:52
358 tests more than planned were run 17:54
huh.
benabik Bad fudging? 17:55
timotimo there's loops in there that may be wrong 17:56
weird, there is no plan in that file
i'm confuse.
S05 \o/ 18:05
S06 ... 18:12
FROGGS timotimo: it is unsafe, but there is no need for a plan
timotimo how does it measure "more than planned" then?
ah, because it skipped the "done"?
FROGGS if it dies before it can print it, yes 18:13
timotimo that explains it
FROGGS it will print the tests run due to an END block in Test.pm
[Coke] feather.perl6.nl/~coke/moar.out - first pass today.
20866 passing. 18:14
jvm yesterday passed 28453
timotimo wow, that's pretty cool!
p: say (20866 / 284.53) 18:15
camelia rakudo-parrot dc1544: OUTPUTĀ«73.334973ā¤Ā»
tadzik nice!
timotimo S11 18:16
[Coke] biggest failure still in S05; S32 seems to be much healthier.
timotimo the S05 fails may be what jnthn fixed when he made froggs strange test case work (gather/take f-ups) 18:17
[Coke] I'll rerun in a few hours when parrot & jvm are done.
timotimo oh, it's mostly properties 18:18
i don't know about that.
[Coke] 211 segfaults; 8 killed by memory/timeouts 18:20
timotimo S16 already
we may have to increase the time limit a tiny bit 18:31
the rat tests pass when run without an ulimit.
and i think if you put a "don't dump a core" ulimit in there as well, it'll all be faster
[Coke] it's the same limit parrot has. :P
timotimo hm
i wonder what the cause of those .^ errors may be 18:32
AFK
[Coke] ulimit -c 0, looks like.
timotimo should be, yes 18:33
[Coke] oh, I lied, parrot isn't ulimited, looks like. *boggle* 18:34
timotimo Leading 0 does not indicate octal in Perl 6; please use 0o3 if you mean thattee: write error 18:53
sh full_spectest_moar.sh 3099,23s user 71,67s system 94% cpu 56:05,38 total
... wat
"total", 20967, 7317, 402, 975, 29162, 28494 18:54
so barely any change from your previous run
like 1%
19:39 jnap joined
nwc10 finds a bug in the torture code. = should have been -- 20:08
er, ==
nwc10 re-tortures, properly
timotimo oops 20:14
FROGGS to your defence, = looks almost the same as --
==, even 20:15
timotimo :) 20:16
it seems like the hottest function in all of compiling the core setting is at_pos 20:20
japhb_ That ... really doesn't surprise me. :-) 20:23
nwc10, I haven't been backlogging here for a while -- what is your torture code? What kind of torture does it perform?
timotimo yeah
maybe there's more opportunity to use atpos_i and friends 20:24
nwc10 usign mmap to make fromspace unreadable 20:25
and trying to force a lot of GC runs and move things around a lot
to increase the chances of a GC run happening and exposing a pointer to fromspace
20:40 jnap joined
japhb_ nwc10, So how is the current torture run going? Still producing new bugs? 21:10
dalek arVM/try-fix-io: 67d6ba5 | (Tobias Leich)++ | src/io/fileops.c:
make streams blocking on unixes too, and unref write req

In theory we are unreferencing the write request twice after a successful write, but only doing so makes the uv__delete assertion go away.
22:25
FROGGS please please test that
22:34 colomon joined
FROGGS dev/rakudo-moar$ perl6-m -e 'say nqp::backendconfig<config>' 22:35
--prefix=../nqp/install --optimize=3
---------------------^
do you guys see that?
timotimo --prefix=../../install 22:38
FROGGS no, not the prefix, the --optimize=3 22:39
timotimo don't have that
FROGGS that is MoarVM's config string... I am now able to compile rakudo with MoarVM @ -O3 22:40
timotimo oh!
FROGGS and I don't have segfaults anymore
timotimo YEAH! :D
how much faster is it?
FROGGS about 5s for stage parse
but the timings are not measured correctly, mind 22:41
timotimo aaw, in the first split second i thought your stage parse now only takes 5s ;)
FROGGS nah
it will take a few months to get there :o)
I really hope that fixes the uv__delete assertions for all of us... including they guys++ with a fruit on their lid 22:44
diakopter SO FRUIT 22:48
jnthn back
japhb_ Welcome back! 22:49
FROGGS jnthn: can you test my patch on your box?
maybe we need to tweak it for windows
jnthn FROGGS: In try-fix-io? 22:50
FROGGS yes
jnthn Trying it.
22:54 woolfy joined
[Coke] that sounds like a HP spell. 23:01
jnthn FROGGS: I have a debug build that seemed to do OK 23:02
I should try an opt one I guess.
FROGGS so far so good
jnthn Well, the NQP build done with that branch optimized passes tests. Well into the Rakudo one now. 23:15
FROGGS: This helps on Linux and gets rid of the assertion fails? 23:16
FROGGS jnthn: at least for me, yes
I have an -O3 optimized Moar build or rakudo, and I've not seen any of the assertions 23:17
jnthn :D
FROGGS and before my patch I had them at least in 20% of the cases
jnthn FROGGS: Yeah, it seems good. 23:21
Feel free to merge
dalek arVM: 66622a1 | jonathan++ | src/io/fileops.c:
Another try at fixing pipe writes.

Removes Win32-specific things, and takes another approach that makes things work fine still on Windows. Needs testing elsewhere.
23:25
arVM: 67d6ba5 | (Tobias Leich)++ | src/io/fileops.c:
make streams blocking on unixes too, and unref write req

In theory we are unreferencing the write request twice after a successful write, but only doing so makes the uv__delete assertion go away.