dalek arVM/moar-conc: d50b471 | jnthn++ | / (12 files):
Implement reentrant mutexes.

We can't rely on libuv ones to be reentrant, so we need to build the recursion support ourselves.
01:44
TimToady \o/
timotimo yays
jnthn We may want to be smarter on this in the future. Digging into the struct we have on Windows, the one there does appear to be reentrant. 01:46
I know that it can't be relied to be, 'cus we had a Moar bug before due to a bad assumption on that. 01:47
JimmyZ timotimo: are you going to addd Semaphore repr to MoarVM too? 03:43
JimmyZ hmm, when update body->u.bigint a new value, the old one seems to not be freed 04:52
or it does not used the old allocated memory 04:53
jnthn:^^ 04:54
dalek arVM/moar-conc: 12682ab | jimmy++ | / (6 files):
Add Repr Semaphore
05:22
arVM/moar-conc: 7471aa1 | jimmy++ | src/6model/reprs/Semaphore.c:
Fixed copy-pasto
06:23
timotimo thank you JimmyZ for the moar semaphore 09:44
jnthn JimmyZ: The contract is that you only call set_int once ever on a given object. 10:38
JimmyZ: There's no op that breaks that contract. You can if you're in C, but you can do anything if you're in C, so... :) 10:39
JimmyZ jnthn: Do you see the message about bigint? 11:13
jnthn JimmyZ: Yes, I replied to it in the last 2 messages here.
JimmyZ: set_int is one-shot. You never call it a second time, so there's never an update, afaict. 11:14
JimmyZ and copy_to and bigint_add etc?
jnthn copy_to is only ever called as part of a clone, where the target is a fresh object. 11:15
And operations like addition always produce a new object to store the result
Perl 6's Int is immutable, and everything is implemented around that. 11:16
JimmyZ ok, thanks. I thought it's mutable, like my $a = 3; my $b = $a + 3; $a = 10; 11:28
jnthn No 11:29
dalek arVM/moar-conc: 27ea01a | jnthn++ | lib/MAST/Ops.nqp:
Updated MAST::Ops library.

Forgotten in an earlier commit.
11:44
arVM/moar-conc: 8571676 | jnthn++ | src/6model/reprs/Semaphore. (2 files):
Comment tweaks.
arVM/moar-conc: c9ba748 | jnthn++ | / (6 files):
Add semaphore related ops.
jnthn esr.ibiblio.org/?p=5095#more-5095 # evil!! 11:47
JimmyZ kinda ... 11:51
timotimo not usable in a #if, though :( 11:52
jnthn Oh :/ 11:54
FROGGS_ in the comments seems to be a nicer version (static inline) 11:56
JimmyZ wouldn't mind to make MVM_semaphore_* static inline 11:57
jnthn Don't make things called from ops static inline, or we'll have fun when trying to build JIT... 11:58
JimmyZ ah
hoelzro moar-conc? what's that for? 14:23
hoelzro .oO( moar-conch ) 14:24
jnthn hoelzro: S17 support for Moar 14:26
hoelzro ooooooo 14:26
jnthn hoelzro: Adding abstraction layer for things that are JVM-specific as needed. 14:26
hoelzro wonderful =) 14:27