Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-03-28

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:10 woolfy left #moarvm
00:14 tgt joined #moarvm
01:14 tgt joined #moarvm
02:15 tgt joined #moarvm
03:16 tgt joined #moarvm
03:17 JimmyZ s
03:22 cognominal joined #moarvm
03:46 jnap joined #moarvm
04:03 colomon joined #moarvm
04:17 tgt joined #moarvm
04:30 colomon joined #moarvm
04:41 colomon joined #moarvm
05:17 tgt joined #moarvm
06:18 tgt joined #moarvm
06:49 jnap joined #moarvm
07:28 FROGGS joined #moarvm
07:49 jnap joined #moarvm
07:54 woolfy joined #moarvm
08:12 woolfy left #moarvm
08:50 jnap joined #moarvm
08:58 JimmyZ joined #moarvm
09:25 FROGGS[mobile] joined #moarvm
09:51 jnap joined #moarvm
10:45 colomon_ joined #moarvm
10:52 jnap joined #moarvm
11:53 jnap joined #moarvm
12:10 FROGGS joined #moarvm
12:13 ggoebel11118 joined #moarvm
12:25 brrt joined #moarvm
12:52 tadzik huh. Is x86 really more widely used than x86_64 these days?
12:52 tadzik brrt:
12:53 brrt x86_64 is a superset of x86 so yeah :-)
12:53 brrt that said
12:53 jnthn x86_64 is easier to JIT for I guess in so far as you've lots of registers :)
12:53 jnap joined #moarvm
12:54 brrt i'm not sure if jitting-for-x86 on a compiled-for-x86_64 moarvm is not opening a way for problems
12:54 brrt the 'easier' part was also high in my book jnthn
12:54 brrt but i was thinking more about 64 bit registers :-)
12:54 jnthn brrt: It may be an issue.
12:54 jnthn brrt: And yeah, since .i64 is used everywhere in the VM... :)
12:55 jnthn brrt: You'll certainly have an easier time of it.
12:55 brrt i'm totally and perfectly fine with x86_64
12:55 brrt i used to think i still had an x86 atom processor in use
12:55 brrt but that happens to run x86_64 just as well
12:55 tadzik ah, atoms. We meet again
12:55 tadzik oh, cool
12:55 brrt right
12:56 brrt by the way, i borrowed 'compilers' (modern dragon book) from the library
12:56 brrt quite a bit to work through, but i think i'll manage
12:56 jnthn :)
12:57 jnthn Modern Dragon. Breathes fire while surfing the internets using its iPhone...
12:57 brrt i think the code generation chapter is of most relevance to my projects
12:57 brrt its a good book :-)
12:58 jnthn oops, I forgot to lunch...
12:58 nwc10 you are the new ilmari?
12:58 brrt who is ilmari?
12:59 nwc10 somone in london.pm who consistently forgets to have lunch
12:59 jnthn I don't consistently do it. :)
12:59 nwc10 that is good to hear
13:00 jnthn Guess today is some mixture of got up late, depressed, and burried in some refactor of some $dayjob thing
13:00 jnthn Anyways...gonna go find food. bbiab.
13:09 tadzik oh, I borrowed that from work too :)
13:11 zakharyas joined #moarvm
13:53 jnap joined #moarvm
14:24 btyler joined #moarvm
15:28 moritz can https://github.com/MoarVM/MoarVM/issues/62 be closed?
15:29 moritz looks like it can
15:29 moritz I'm closing it now
15:29 moritz if that's wrong, please re-open
15:30 jnthn Weird, I thought I commented/closed that...
15:30 jnthn moritz++, anyway
15:30 moritz yes, you wrote 'fixes #62' in the commit, and it says "referenced by commit ...", but didn't close it
15:30 moritz iirc 'closes #62' would actually close it :-)
15:30 jnthn d'oh, yes :)
15:32 brrt i had no idea github read your commits to such detail
15:33 japhb brrt: Pretty common with systems that provide both VCS and bug tracker integration (I've seen in it several such systems)
15:34 brrt i've seen none such systems :-)
15:34 jnthn Yeah, it's useful when you use it correctly :)
15:34 brrt but now i do
16:35 FROGGS[mobile] joined #moarvm
17:45 retupmoca could I get someone with a commitbit to look at https://github.com/MoarVM/MoarVM/pull/86 ?
17:46 jnthn retupmoca: I'll get to it in a bit, just wrapping up $dayjob tasks for the day here.
17:47 retupmoca No problem, just making sure it doesn't get lost in the shuffle :)
17:58 benabik joined #moarvm
17:59 benabik joined #moarvm
19:18 rurban joined #moarvm
20:15 dalek MoarVM: b5ea924 | (Andrew Egeler)++ | src/strings/decode_stream.c:
20:15 dalek MoarVM: Fix decodestream_bytes_to_buf eating too much data
20:15 dalek MoarVM:
20:15 dalek MoarVM: When decodestream_bytes_to_buf needed less data than available in the
20:15 dalek MoarVM: buffer, it was incorrectly updating the pointer to the beginning of the
20:15 dalek MoarVM: buffer data. This lead to a loss of data when doing small socket reads,
20:15 dalek MoarVM: for example.
20:15 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b5ea924c89
20:15 dalek MoarVM: 9375249 | jonathan++ | src/strings/decode_stream.c:
20:15 dalek MoarVM: Merge pull request #86 from retupmoca/master
20:15 dalek MoarVM:
20:15 dalek MoarVM: Fix decodestream_bytes_to_buf eating too much data
20:15 jnthn retupmoca: If you have time to write a spectest, that'd be great.
20:15 jnthn retupmoca: Thanks for the patch.
20:19 retupmoca jnthn++
20:19 retupmoca I would write a spectest for this in roast/S32-io or somesuch?
20:19 retupmoca (I found the issue while playing with sockets, but this is actually a bug in strings?)
20:22 retupmoca or are there moarvm tests somewhere?
20:25 dalek MoarVM: d93a733 | moritz++ | src/core/interp.c:
20:25 dalek MoarVM: Revert "check for invalid code points (jvm port)"
20:25 dalek MoarVM:
20:25 dalek MoarVM: This reverts commit c5f3b5378bbff39ec76798f54ec0ccd2b2684656.
20:25 dalek MoarVM:
20:25 dalek MoarVM: We actually want to allow all codepoints, but joint, new understanding
20:25 dalek MoarVM: of what the Unicode consortium wrote
20:25 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/d93a73303f
20:25 jnthn retupmoca: Yes, there's a bunch of socket tests.
20:26 jnthn retupmoca: A spectest is the thing to add
20:30 retupmoca jnthn: ok, I'll do that - hopefully either tonight or tomorrow
20:31 retupmoca jnthn: I assume I should generally be writing a spectest when I write a patch?
20:32 moritz retupmoca: that's preferrable, because otherwise it'll regress eventually
20:32 moritz retupmoca: though we are aware that not all patches are equally testable
20:33 jnthn retupmoca: Yes, a spectest or an NQP test if that's more fitting
20:33 jnthn retupmoca: MoarVM kinda takes those two as its test suite by proxy.
20:34 moritz jnthn: are there plans to have a separate moarvm test suite eventually?
20:38 jnthn moritz: Eventually. :)
20:58 jnthn Time for tonight's round of parallel GC debuggering!
21:00 japhb \o/ # GC debuggering
21:01 japhb .oO( "Why did they rename the Buggers to Formics?" )
21:02 woolfy joined #moarvm
21:02 tadzik jnthn++ # it's dangerous to go alone, take this karma
21:03 jnthn \o/
21:03 jnthn Yeah, I dunno what this bug is gonna turn out to be...
21:05 japhb I predict the character count to fix it will be inversely proportional to the time taken to find it.
21:08 jnthn Samma
21:08 japhb huh?
21:09 jnthn uh
21:09 jnthn Same :)
21:09 japhb oh, gotcha.  Had a feeling, but wasn't sure.  :-)
21:40 tadzik it's usually like this, ain't it
21:41 tadzik I remember fixing bugs that took one character per 8 hours
21:41 tadzik (damned xslt)
21:50 * jnthn is gradually closing in on it, much thanks to conditional breakpoints and the awesome hardware-supported data breakpoints
21:54 jnthn aarrrghh
21:57 jnthn Seems we had 2 bits of code doing the same thing.
21:58 jnthn And running both.
21:58 jnthn And running one at a time that clears gen2 liveness bits ahead of the time we can if we've multiple threads.
21:59 jnthn I moved the call to the code yesterday, but wouldn't have imagine there was a second version of it elsewhere being called in a completely different place...
21:59 timotimo uh oh
22:00 jnthn We'll soon know if it's the bug I'm looking for
22:00 jnthn But it cleanly explains the problem I've been seeing
22:00 jnthn (with a 4k nursery everything takes forever)
22:01 jnthn (especially with gc orch logging on)
22:01 jnthn Yeah, it's into 9000+ collects
22:01 jnthn Never made it past 10,000 before
22:01 jnthn uh, past 8,000
22:01 jnthn Wonder how long this runs for... :)
22:03 jnthn More than 15,000 apparently :)
22:03 jnthn ooh, and it exited cleanly.
22:09 tgt joined #moarvm
22:13 japhb \o/  # Very nice indeed, jnthn
22:13 japhb Are you spectesting now?
22:14 jnthn The bad news is this wasn't the only problem, but it's a notable improvement.
22:15 jnthn japhb: Yes, doing to do so.
22:15 jnthn The other problem causes some kind of explosion in the validator, of all places.
22:16 japhb eww
22:19 jnthn Man, a debug build ain't the speediest thing to spectest with
22:20 jnthn ...he says, realizing that it's probably about the speed of an optimized Parrot running spectest
22:20 cognominal joined #moarvm
22:27 jnthn Passed the conc spectests that are enabled under the harness, anyways.
22:30 dalek MoarVM/moar-conc: 8486c7f | jnthn++ | src/core/threads.c:
22:30 dalek MoarVM/moar-conc: Missing MVMROOTs.
22:30 dalek MoarVM/moar-conc: review: https://github.com/MoarVM/MoarVM/commit/8486c7ff20
22:30 dalek MoarVM/moar-conc: 42cb24e | jnthn++ | src/gc/orchestrate.c:
22:30 dalek MoarVM/moar-conc: Don't duplicately process the main thread.
22:30 dalek MoarVM/moar-conc: review: https://github.com/MoarVM/MoarVM/commit/42cb24e1bf
22:30 dalek MoarVM/moar-conc: 3c6e8ad | jnthn++ | src/gc/ (3 files):
22:30 dalek MoarVM/moar-conc: Remove duplicate gen2 root cleanup in wrong place.
22:30 dalek MoarVM/moar-conc:
22:30 dalek MoarVM/moar-conc: Somehow, we had two functions to do this, called in different places.
22:30 dalek MoarVM/moar-conc: Eliminate the one and the call to it, and then moved the other call to
22:30 dalek MoarVM/moar-conc: a safe place (so we are certain we do the cleanup before we go taking
22:30 dalek MoarVM/moar-conc: away the live bits).
22:30 dalek MoarVM/moar-conc: review: https://github.com/MoarVM/MoarVM/commit/3c6e8ad5bd
22:36 jnap joined #moarvm
22:36 jnthn I may have a lead on the validator fail.
22:38 timotimo good luck eith that!
22:38 japhb You're having a good debugging day.  :-)
22:39 jnthn Well, this is partly using hours of debugging last night, where I thought at one point the two bugs might be one, and then it became clear they weren't.
22:41 japhb Still, the good thing about fixing this now is that people doing pure Perl 6 code will have a lot fewer mysterious issues.  (Which is why I was happy as a clam when nwc10++ started doing his GC abuse testing.)
22:43 woolfy left #moarvm
22:44 jnthn We're going to have some more of these to fix, I expect. But yeah, good to hunt the most immediate ones before it's merged.
22:47 jnthn yay, the fix I hoped would help seems to
22:47 * jnthn reduces to a smaller nursery
22:50 japhb Given that you already had it at 4K, how small can it go?
22:51 jnthn oh, the last one I just had it at was 32K
22:51 jnthn Which was enough to show up the bug.
22:51 jnthn 4K is stressing it harder
22:51 jnthn You can get down to around 512 bytes
22:52 jnthn Or you can do what nwc10++ did and force a GC run every allocation.
22:52 jnthn (He did more than just that, but that was a part of it.)
22:52 dalek MoarVM/moar-conc: 7d55b5a | jnthn++ | src/ (3 files):
22:52 dalek MoarVM/moar-conc: Make sure the frame usecapture points at is ref'd.
22:52 dalek MoarVM/moar-conc:
22:52 dalek MoarVM/moar-conc: We kinda got away with not doing this before, when the cur_usecapture
22:52 dalek MoarVM/moar-conc: could never be collected. Now they can be when a thread terminates, so
22:52 dalek MoarVM/moar-conc: protection is essential.
22:52 dalek MoarVM/moar-conc: review: https://github.com/MoarVM/MoarVM/commit/7d55b5a522
22:52 * japhb imagines using a floppy drive sector as swap for the nursery
22:53 jnthn 'cus that'd be fast! :)
22:53 jnthn Well, lock.t is happy with the 4k nursery
22:53 * jnthn tries thread.t
22:53 jnthn This'll take forever... :)
22:57 jnthn Survived.
23:05 * jnthn pours an ale
23:10 jnthn The spectests I've got clean so far on r-m pass with an optimized build too
23:11 jnthn There's some work to go on the time-based things, but I'm tempted to merge these branches so I can get feedback from daily roast, plus others, if things pass elsewhere.
23:11 jnthn There's not really a strong reason for me to do the rest in branches.
23:12 jnthn *crickets* :P
23:12 jnthn It'll give timo somthing to mention in the weekly news too :)
23:17 dalek Heuristic branch merge: pushed 39 commits to MoarVM by jnthn

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary