01:18 vendethiel joined 01:24 agentzh_ joined 01:26 colomon joined 01:32 agentzh_ joined 01:49 vendethiel joined 03:03 vendethiel joined 03:35 vendethiel joined 05:15 vendethiel joined 05:38 vendethiel joined 06:26 vendethiel joined 06:45 FROGGS joined 07:03 brrt joined 07:31 zakharyas joined
vendethiel github.com/MoarVM/MoarVM/blob/mast...me.c#L1052 seem to be missing an "are" 08:56
jnthn inside of an inline, it's too dark to grammar... 09:11
09:12 harrow joined
masak an inline is man's best friend 09:15
jnthn The workers must take control of the means to inline! 09:30
dalek arVM: 1e07fd4 | jnthn++ | src/core/frame.c:
Fix a grammaro; vendethiel++.
09:38
vendethiel that's a pretty hairy part of the code :p 09:39
(that means I don't get it)
jnthn Indeed it is 09:41
It's basically saying "what would happen if we de-optimized and then I did the lookup", but avoiding having to deopt. :)
Åhnejs...I'm running out of coffee... 09:48
nwc10 "Åhnejs"? 09:49
tadzik sounds like ancient egyptian web framework 09:50
jnthn nwc10: A Swedish approximation of "oh noez" :) 09:51
nwc10 ah, so relatively polite?
jnthn yes :) 09:52
There was actually enough for me to make today's cup
nwc10 aha right. so this is one of those irregular verbs, in that "___ I've run out of coffee" would be a very different word? 09:53
vendethiel MVM_USED_BY_JIT means the compiler shouldn't try to optimize the function? (optimize("g", off)) 09:59
jnthn vendethiel: More "not change calling conventions" 10:00
I think we disabled a very specific kind of opt
vendethiel g Enable global optimizations. 10:03
from msdn
jnthn Yeah, that's the one that fiddles wiht ccs iirc 10:04
vendethiel I gather invoke_v, invoke_i, invoke_n and invoke_s are optimizations, much like nqp's list_s, list_i etc? 10:07
jnthn No, they vary on the result register type 10:08
nqp's list_s and list_i aren't opts either
They get you a different data structure
(array of native str/int rather than an object array that needs boxing) 10:09
vendethiel well, isn't having an array of native str/int rather than a boxed object something that was made for optimization?
jnthn Well, maybe, but not in the compiler sense, more the programmer one 10:11
From Moar/NQP's point of view this is just another language feature to support.
(expressed as my int @x in Perl 6) 10:12
vendethiel "STABLE" for serialization table? the parametric extensions doc talks about "STable", are they the same? 10:14
(because I think STABLE was here much before parametric extensions) 10:15
jnthn STABLE = Shared Table 10:16
The stuff a type (defined as a pairing of REPR/HOW) has in common
vendethiel guess I better look at how REPR exists in the big scheme of things 10:17
or rather, in the big 6model
jnthn Stage parse : Internal error: zeroed target thread ID in work pass 11:25
yowser
lizmat yowser... something I did ? 11:27
jnthn No
I made a tiny change in CORE.setting locally and it triggered it
Some GC buglet that we only occasionally trip up on 11:28
But now I actually can reproduce it, I'll try and figure it out
I think you ran into it a while ago in a similar situation
lizmat: yes, rt.perl.org/Ticket/Display.html?id=124196 11:31
Probably another symptom of the same kinda thing 11:32
Darn, it doesn't crash under the debugger
lizmat yes, it's fickly
jnthn turns off using the debug heap 11:33
A debug build experiences it at least 11:34
nwc10 ASAN hasn't spotted this ever 11:36
moritz jnthn: I still managed to make it segfault 11:40
jnthn: but only with echo "foo" | telnet localhost 3333 11:41
jnthn: might be a timing issue about closing connections before reading the response
jnthn Maybe...dunno
I had a Perl 6 script hammering it with requests until it fell over
moritz I have a bt for you
jnthn: perlpunks.de/paste/show/5555db90.4a64.38a 11:42
jnthn eek, in libuv?
odd
hm 11:44
MVM_gc_worklist_add(tc, worklist, &new_addr_st->paramet.ric.parameterizer);
There's the zeroed item it tries to add
That will hopefully not be too annoying to hunt down 11:45
well, hm
oh, I wonder... 11:48
dalek arVM: cb0d552 | jnthn++ | src/6model/parametric.c:
Fix a GC marking bug in parametric type setup.

This could cause very occasional crashes, including in CORE.setting compilation.
11:53
jnthn ...from the "what on earth are the odds of that!" department...
nwc10 jnthn: www.youtube.com/watch?v=BgIuUyAUxaw -- million to one but still they come 11:54
jnthn apparently :) 11:59
And thankfully on my machine so I could hunt it down :)
ok, errand and lunch...bbiab 12:01
dalek Heuristic branch merge: pushed 287 commits to MoarVM/cpp2 by hoelzro 12:34
14:03 FROGGS[mobile] joined
dalek arVM: 6604cb7 | jnthn++ | src/core/exceptions.c:
Implement exception object creation from category.

A long-standing TODO that could lead to some unhelpful errors.
14:07
vendethiel jnthn: is that last commit implementing the categories described here? github.com/MoarVM/MoarVM/blob/mast...s.markdown 14:11
jnthn vendethiel: Yeah; we can throw without actually creating an exception object for control exceptions in NQP, but it exploded it you did actually need said exception object 14:12
vendethiel that means performance improvements for control-flow (next/redo etc) exceptions?
jnthn That's the motivation for having it the way it is, yes 14:13
vendethiel those documents are informative :) 14:14
jnthn Turns out fixing that todo told me the thing I suspected was the cuase of the actual bug I'm hunting is, in fact, not the case... 14:15
vendethiel
.oO( todo-at-a-distance )
14:16
15:49 vendethiel joined 16:12 colomon_ joined 16:14 vendethiel joined 16:19 colomon_ joined 16:29 colomon_ joined 18:25 vendethiel joined 19:29 brrt joined 19:38 brrt joined 19:46 vendethiel joined 19:49 brrt joined
dalek arVM: 1a36596 | jnthn++ | src/6model/sc.c:
Check owning object wasn't disclaimed.

Some objects are serialized as part of an enclosing object (more for historical reasons than good ones at this point, alas). Check we did not clear an SC when doing repossession.
20:33
21:55 dalek joined 22:00 colomon joined 22:08 vendethiel joined 22:42 vendethiel joined 23:16 vendethiel joined