JimmyZ timotimo: I didn't... 01:51
timotimo that's okay 02:34
02:34 FROGGS_ joined 03:08 eternaleye joined 05:12 lizmat joined 08:35 brrt joined 08:54 woolfy left
brrt jnthn - if present - I'd really like to see your plans / code on bytecode specialisation 09:02
it owuld be much awesome if we / i could get a running start on the JIT compiler
would 09:03
10:36 colomon joined 11:46 colomon joined 12:49 colomon joined 13:54 zakharyas joined
dalek arVM: cd19a1e | jimmy++ | src/6model/reprs/ (4 files):
Clean up more static allocate functions in REPRs
14:17
15:37 lizmat joined 15:48 brrt joined 15:54 lizmat joined 16:07 lizmat_ joined 16:08 woolfy joined 16:33 lizmat joined 17:56 woolfy left 18:36 colomon joined 20:24 benabik joined
jnthn .tell brrt I'm on target to have the initial code available on Tuesday 20:32
bah, no message bot here 20:33
20:50 dalek joined 20:56 benabik joined 21:03 colomon joined 22:40 colomon joined 23:00 lizmat joined
jnthn If anybody here is got at carefully reading code and placing locks, lemme know. 23:02
timotimo oh shit :) 23:04
jnthn Well, I've a concrete task, but it's one where if it's screwed up we'll get deadlocks. 23:05
timotimo this is inside moarvm, aye?
jnthn yeah
There's some palces the VM ain't threadsafe yet
IO is one of them.
I've just sorta done it (hurriedly) for syncstream, but it really needs a careful analysis.
Like, what if the decoders throw, etc. 23:06
We may need a "release stack"
Just like temproots are tossed in the event of an exception.
dalek arVM: fe0962f | jnthn++ | src/6model/reprs/MVMOSHandle. (2 files):
Give MVMOSHandle a mutex slot.

We need to protect the various IO handles from multiple threads doing input/output operations.
23:12
MoarVM: 1261936 | jnthn++ | src/io/syncstream.c:
MoarVM: First pass at locking for syncstream.
MoarVM:
MoarVM: Deals with the immediate issues when multiple threads 'say' at once,
MoarVM: but we really need to take the time to do a systematic pass through IO
MoarVM: and the things it calls (like decode stream) and make sure we never
timotimo oh yikes
jnthn Yeah, it's non-trivial, which is why I was asking for volunteers experienced in the dark arts :) 23:13
I'm fine with doing it, I just try to hand out isolated/explainable tasks :)
timotimo yes, that's very sensible 23:14
timotimo is unfortunately not a master in the dark arts of lock placement
jnthn It's kinda learned the hard way 23:16
And this being C doesn't help.
In the OO world you can get a lot of sanity by doing good OO design and strongly encapsualting stuff under lock 23:17
If you do OO design right.
In the C# world, depressingly, the MSDN advises you to assume OO designs are crap generally and so advise to avoid a perfectly good pattern in a well-designed system... 23:18
23:18 woolfy joined
timotimo ouch 23:25
jnthn It doesn't quite word it like that. It lists it as a guideline without explaining why. 23:27
Got quite a bit of $dayjob tasks tomorrow. But Tuesday is for Perl 6. :) 23:28
Confident I'll get the specialization code into shape enough that I'm happy to land it. 23:29
timotimo: What's state of NQP lex->loc and block inlines? 23:30
jnthn may want to join in with that in the next week or two...
Actually, gonna sleep now...but will backlog tomorrow :) 23:31
'night