00:10 woolfy left 00:14 tgt joined 01:14 tgt joined 02:15 tgt joined 03:16 tgt joined
JimmyZ s 03:17
03:22 cognominal joined 03:46 jnap joined 04:03 colomon joined 04:17 tgt joined 04:30 colomon joined 04:41 colomon joined 05:17 tgt joined 06:18 tgt joined 06:49 jnap joined 07:28 FROGGS joined 07:49 jnap joined 07:54 woolfy joined 08:12 woolfy left 08:50 jnap joined 08:58 JimmyZ joined 09:25 FROGGS[mobile] joined 09:51 jnap joined 10:45 colomon_ joined 10:52 jnap joined 11:53 jnap joined 12:10 FROGGS joined 12:13 ggoebel11118 joined 12:25 brrt joined
tadzik huh. Is x86 really more widely used than x86_64 these days? 12:52
brrt:
brrt x86_64 is a superset of x86 so yeah :-) 12:53
that said
jnthn x86_64 is easier to JIT for I guess in so far as you've lots of registers :)
12:53 jnap joined
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
the 'easier' part was also high in my book jnthn
but i was thinking more about 64 bit registers :-)
jnthn brrt: It may be an issue.
brrt: And yeah, since .i64 is used everywhere in the VM... :)
brrt: You'll certainly have an easier time of it. 12:55
brrt i'm totally and perfectly fine with x86_64
i used to think i still had an x86 atom processor in use
but that happens to run x86_64 just as well
tadzik ah, atoms. We meet again
oh, cool
brrt right
by the way, i borrowed 'compilers' (modern dragon book) from the library 12:56
quite a bit to work through, but i think i'll manage
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
its a good book :-)
jnthn oops, I forgot to lunch... 12:58
nwc10 you are the new ilmari?
brrt who is ilmari?
nwc10 somone in london.pm who consistently forgets to have lunch 12:59
jnthn I don't consistently do it. :)
nwc10 that is good to hear
jnthn Guess today is some mixture of got up late, depressed, and burried in some refactor of some $dayjob thing 13:00
Anyways...gonna go find food. bbiab.
tadzik oh, I borrowed that from work too :) 13:09
13:11 zakharyas joined 13:53 jnap joined 14:24 btyler joined
moritz can github.com/MoarVM/MoarVM/issues/62 be closed? 15:28
looks like it can 15:29
I'm closing it now
if that's wrong, please re-open
jnthn Weird, I thought I commented/closed that... 15:30
moritz++, anyway
moritz yes, you wrote 'fixes #62' in the commit, and it says "referenced by commit ...", but didn't close it
iirc 'closes #62' would actually close it :-)
jnthn d'oh, yes :)
brrt i had no idea github read your commits to such detail 15:32
japhb brrt: Pretty common with systems that provide both VCS and bug tracker integration (I've seen in it several such systems) 15:33
brrt i've seen none such systems :-) 15:34
jnthn Yeah, it's useful when you use it correctly :)
brrt but now i do
16:35 FROGGS[mobile] joined
retupmoca could I get someone with a commitbit to look at github.com/MoarVM/MoarVM/pull/86 ? 17:45
jnthn retupmoca: I'll get to it in a bit, just wrapping up $dayjob tasks for the day here. 17:46
retupmoca No problem, just making sure it doesn't get lost in the shuffle :) 17:47
17:58 benabik joined 17:59 benabik joined 19:18 rurban joined
dalek arVM: b5ea924 | (Andrew Egeler)++ | src/strings/decode_stream.c:
Fix decodestream_bytes_to_buf eating too much data

When decodestream_bytes_to_buf needed less data than available in the buffer, it was incorrectly updating the pointer to the beginning of the buffer data. This lead to a loss of data when doing small socket reads, for example.
20:15
arVM: 9375249 | jonathan++ | src/strings/decode_stream.c:
Merge pull request #86 from retupmoca/master

Fix decodestream_bytes_to_buf eating too much data d93a733 | moritz++ | src/core/interp.c: Revert "check for invalid code points (jvm port)"
This reverts commit c5f3b5378bbff39ec76798f54ec0ccd2b2684656.
We actually want to allow all codepoints, but joint, new understanding of what the Unicode consortium wrote
jnthn retupmoca: If you have time to write a spectest, that'd be great.
retupmoca: Thanks for the patch.
retupmoca jnthn++ 20:19
I would write a spectest for this in roast/S32-io or somesuch?
(I found the issue while playing with sockets, but this is actually a bug in strings?)
or are there moarvm tests somewhere? 20:22
jnthn retupmoca: Yes, there's a bunch of socket tests.
retupmoca: A spectest is the thing to add 20:26
retupmoca jnthn: ok, I'll do that - hopefully either tonight or tomorrow 20:30
jnthn: I assume I should generally be writing a spectest when I write a patch? 20:31
moritz retupmoca: that's preferrable, because otherwise it'll regress eventually 20:32
retupmoca: though we are aware that not all patches are equally testable
jnthn retupmoca: Yes, a spectest or an NQP test if that's more fitting 20:33
retupmoca: MoarVM kinda takes those two as its test suite by proxy.
moritz jnthn: are there plans to have a separate moarvm test suite eventually? 20:34
jnthn moritz: Eventually. :) 20:38
Time for tonight's round of parallel GC debuggering! 20:58
japhb \o/ # GC debuggering 21:00
.oO( "Why did they rename the Buggers to Formics?" )
21:01
21:02 woolfy joined
tadzik jnthn++ # it's dangerous to go alone, take this karma 21:02
jnthn \o/ 21:03
Yeah, I dunno what this bug is gonna turn out to be...
japhb I predict the character count to fix it will be inversely proportional to the time taken to find it. 21:05
jnthn Samma 21:08
japhb huh?
jnthn uh 21:09
Same :)
japhb oh, gotcha. Had a feeling, but wasn't sure. :-)
tadzik it's usually like this, ain't it 21:40
I remember fixing bugs that took one character per 8 hours 21:41
(damned xslt)
jnthn is gradually closing in on it, much thanks to conditional breakpoints and the awesome hardware-supported data breakpoints 21:50
aarrrghh 21:54
Seems we had 2 bits of code doing the same thing. 21:57
And running both. 21:58
And running one at a time that clears gen2 liveness bits ahead of the time we can if we've multiple threads.
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
jnthn We'll soon know if it's the bug I'm looking for 22:00
But it cleanly explains the problem I've been seeing
(with a 4k nursery everything takes forever)
(especially with gc orch logging on) 22:01
Yeah, it's into 9000+ collects
Never made it past 10,000 before
uh, past 8,000
Wonder how long this runs for... :)
More than 15,000 apparently :) 22:03
ooh, and it exited cleanly.
22:09 tgt joined
japhb \o/ # Very nice indeed, jnthn 22:13
Are you spectesting now?
jnthn The bad news is this wasn't the only problem, but it's a notable improvement. 22:14
japhb: Yes, doing to do so. 22:15
The other problem causes some kind of explosion in the validator, of all places.
japhb eww 22:16
jnthn Man, a debug build ain't the speediest thing to spectest with 22:19
...he says, realizing that it's probably about the speed of an optimized Parrot running spectest 22:20
22:20 cognominal joined
jnthn Passed the conc spectests that are enabled under the harness, anyways. 22:27
dalek arVM/moar-conc: 8486c7f | jnthn++ | src/core/threads.c:
Missing MVMROOTs.
22:30
arVM/moar-conc: 42cb24e | jnthn++ | src/gc/orchestrate.c:
Don't duplicately process the main thread.
arVM/moar-conc: 3c6e8ad | jnthn++ | src/gc/ (3 files):
Remove duplicate gen2 root cleanup in wrong place.

Somehow, we had two functions to do this, called in different places. Eliminate the one and the call to it, and then moved the other call to a safe place (so we are certain we do the cleanup before we go taking away the live bits).
22:36 jnap joined
jnthn I may have a lead on the validator fail. 22:36
timotimo good luck eith that! 22:38
japhb You're having a good debugging day. :-)
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:39
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:41
22:43 woolfy left
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:44
yay, the fix I hoped would help seems to 22:47
jnthn reduces to a smaller nursery
japhb Given that you already had it at 4K, how small can it go? 22:50
jnthn oh, the last one I just had it at was 32K 22:51
Which was enough to show up the bug.
4K is stressing it harder
You can get down to around 512 bytes
Or you can do what nwc10++ did and force a GC run every allocation. 22:52
(He did more than just that, but that was a part of it.)
dalek arVM/moar-conc: 7d55b5a | jnthn++ | src/ (3 files):
Make sure the frame usecapture points at is ref'd.

We kinda got away with not doing this before, when the cur_usecapture could never be collected. Now they can be when a thread terminates, so protection is essential.
japhb imagines using a floppy drive sector as swap for the nursery
jnthn 'cus that'd be fast! :) 22:53
Well, lock.t is happy with the 4k nursery
jnthn tries thread.t
This'll take forever... :)
Survived. 22:57
jnthn pours an ale 23:05
The spectests I've got clean so far on r-m pass with an optimized build too 23:10
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
There's not really a strong reason for me to do the rest in branches.
*crickets* :P 23:12
It'll give timo somthing to mention in the weekly news too :)
dalek Heuristic branch merge: pushed 39 commits to MoarVM by jnthn 23:17