JimmyZ jnthn: ping 08:56
jnthn JimmyZ: pong 09:03
JimmyZ jnthn: I had a patch, I'm not sure whethr it's useful or not: gist.github.com/zhuomingliang/9742792 09:07
jnthn JimmyZ: Does it produce a measurable/profilable improvement? 09:10
But yeah, in theory it's an improvement. 09:11
JimmyZ jnthn: I think it's an optimization, but I don't know how to measure it 09:12
jnthn Well, it's not going to do a lot, 'cus iirc it only runs in a full collection, not a normal one.
And that is configured by default to be 1 in 25 collections. 09:13
Then gen2 roots also tend to not be terribly long.
So it's probably hard to measure. 09:14
nwc10 you might be able to measure it with cachegrind.
jnthn Good point :) 09:15
JimmyZ anyway, I think it is acceptable :P
jnthn It's not a particular reduction in clarity, so I don't really have a feeling against it. 09:16
But at the same time, it's hardly optimizing a hot path.
dalek arVM: d9db2e3 | jimmy++ | src/gc/roots.c:
minor optimization
09:25
jnthn Could have said *what* it was a minor optimization of in the commit message... :/ 09:26
Crappy commit messages make it a pain in the arse to assemble the changer log
*changelog
Mine are typically good enough I just take the commit message as the changelog entry.
JimmyZ Oh 09:28
I will take care of it next.
jnthn Thanks.
moritz does anybody want to debug a MoarVM segfault? 16:34
in the nqp match-prune branch (which I just merged into master) I got segfaults when I pruned too many matches 16:35
jnthn The one JimmyZ's latest patch introduced?
moritz no, it segfaulted even a week ago
jnthn If your'e on latest MoarVM it's likely that
Oh
Well, most likely you've got a null somewhere.
And are trying to dereference it. 16:36
moritz aye
but should that segfault?
jnthn Not in the long run, but for now that's fatal.
moritz ok, so nothing really unexpected 16:37
jnthn No. Best best is to see what another backend things of it. 16:38
*thnks 16:39
dalek arVM: 0629b9a | jnthn++ | src/gc/roots.c:
Fix gen2roots compaction optimization bug.

The optimization found the first non-survivor, but then set i = 0 and so started looking from the start of the list again.
16:48
arVM: 36465b3 | gerd++ | / (5 files):
Add flag 'has-sha' to Configure.

Enables use of a system sha-1 library. Also tweaks the 3rdparty code we ship to have a matching API.
16:49
FROGGS jnthn: is that related to the two bugs I golfed down?
jnthn FROGGS: No, that is related to the JimmyZ patch from earlier today. 16:49
FROGGS ahh, k :o) 16:50
FROGGS hey, is not_gerd++ back? 16:50
jnthn wonders if he'd not be better off rejecting "can't prove an improvement" optimization patches out of hand...
FROGGS: No, that is is gerd :)
(A gerd who mailed me a patch.) 16:51
FROGGS but that mail address looks familiar :o)
jnthn Maybe 'cus he did other patches recently to help towards getting Moar distro-friendly? :) 16:52
FROGGS hmmmm, perhaps 16:53
jnthn I'll look at your bug soon, but feeling hungry, so probably I should make me some dinner first :) 17:01
FROGGS food is always choice #1 :o)
I am skimming through RT, perhaps there is something I can fix
dalek arVM: 572c043 | jnthn++ | src/gc/roots.c:
Missing num_roots check in roots optimization.
19:45
dalek arVM/moar-conc: 88a2f0a | jnthn++ | src/gc/orchestrate.c:
GC orchestration cleanups and extra logging.

No functional changes, but logs the decisions it goes through in more detail to aid bug hunting, scatters some extra comments to explain things, and removes some dead code.
23:13