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. |