dalek arVM: 6b1e755 | jnthn++ | src/profiler/ (2 files):
Ensure profiling data is valid at profile end.

Stopping profiling with frames on the call stack left the the exit times for those nodes with bogus values.
14:27
arVM: a43af22 | (Pawel Murias)++ | src/core/interp.c:
make popcompsc return a value instead of segfaulting
14:28
arVM: c4d6637 | jnthn++ | src/core/interp.c:
Merge pull request #276 from pmurias/fix-popcompsc-returnvalue

make popcompsc return a value instead of segfaulting
dalek arVM: 5075f5b | jnthn++ | src/6model/reprs/MVMIter.c:
Make context iterator include values.

Before it just had keys, but skipped the values, menaing that things like CORE::.values in Rakudo just gave a load of (Mu).
16:51
timotimo what is this about "takeclosure" being a no-op now? 16:53
jnthn timotimo: the nqp::takeclosure op 16:57
Not the MoarVM one
It's been that way for a long, long while now
jnthn Back to when we killed that prior_invocation thing 16:57
timotimo oh, ok 16:58
hm, we take all closures as soon as we enter the frame they could be used in, right?
so sometimes we take closures that end up not getting used?
jnthn timotimo: Sometimes, but I think that could happen before anyway 16:59
timotimo: And given we already know inter-gen roots are one of the hurtingest things in our GC, and prior_invocation was a source of such things, we probably better off the current way 17:00
timotimo of course
the comment about taking closures that don't get used was a bit orthogonal
it was more of a "maybe i could do something about this in spesh!" thing
jnthn ah, yes :)
Though digging deeper into the flattening and lowering stuff in Perl6::Optimizer is likely to also yield a big win :) 17:01
For less pain.
timotimo i've already had a fair amount of pain in that area :S
FROGGS src/6model/6model.h:608:26: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default] 17:43
src/core/interp.c:4703:44: note: in expansion of macro ‘STABLE’
MVMContainerSpec *cs = STABLE(obj)->container_spec;
lizmat jnthn timotimo re Optimizer.nqp: feels to me we need to have some kind of XPath like DSL for walking the AST's 18:26
jnthn lizmat: Most opts don't really look more than a node or so deep 18:29
lizmat well, the for -> while opt looks like its looking deeper
and it's broken atm
jnthn Yeah, that's one of the exceptions
Though I'm rather tempted to fix it by adding a desugar 18:30
lizmat but one of the most worthwhile ones
jnthn That's simple to match on
lizmat fixing it an *any* way would be good :-)
and an example for further fixes, possibly ?
jnthn In the longer run, the compiler will produce QTrees that will later make QAST, and we'll work against the QTrees, and things will get easier. But that's more for 6.devali than 6.christmas :)
Or whatever event we find for the d :) 18:31
FROGGS ahh, so 6.d was intentional :o) 18:33
jnthn FROGGS: btw, that warning can probably be shut up by sticking a const somehwere on the line it whines about :) 18:35
FROGGS somewhere you say? :o) 18:36
jnthn Try it in all the syntactic slots until it compiles quietly :P
nwc10 I checked - Divali is about 10 months after Christmas
that's not a great choice of D, at least for this cycle round the alphabet
jnthn nwc10: Depends what 6.d will be, really 18:37
nwc10 mmm, yes. if it's a spec, then 10 months might well be sane
jnthn If it *is* going to be the language version with macros/slangs at its centerpiece then I struggle to see that taking much less than 10 months that have an impl that proves it. 18:38
s/that have/to have/
jnthn waits hungrily for noms to show up 18:40
nwc10 external delivery? Or internal trade for previous cooking?
jnthn Delivery. :) 18:46
yays, it's arrives :) bbl 18:53
masak .oO( "it's-a me! delivery Maaar-io!" ) 18:56