github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:06
AlexDaniel left
00:08
AlexDaniel joined,
p6bannerbot sets mode: +v AlexDaniel
00:10
MasterDuke_ joined,
p6bannerbot sets mode: +v MasterDuke_
00:13
MasterDuke left
00:14
MasterDuke_ is now known as MasterDuke,
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
00:15
lizmat left
|
|||
Geth | MoarVM: jstuder-gh++ created pull request #959: More exprjit templates (09/05/18) |
03:02 | |
04:22
MasterDuke left
05:27
domidumont joined
05:28
p6bannerbot sets mode: +v domidumont
06:20
patrickb joined,
p6bannerbot sets mode: +v patrickb,
domidumont left,
brrt joined
06:21
p6bannerbot sets mode: +v brrt
07:25
domidumont joined
07:26
p6bannerbot sets mode: +v domidumont
07:47
lizmat joined
07:48
p6bannerbot sets mode: +v lizmat
|
|||
brrt | \o | 07:56 | |
08:10
zakharyas joined
08:11
p6bannerbot sets mode: +v zakharyas
08:30
robertle joined
08:31
p6bannerbot sets mode: +v robertle
|
|||
brrt | apparently, if you're waiting on a signal, libuv lets another thread take your locks... | 08:59 | |
09:07
zakharyas left,
zakharyas joined
09:08
p6bannerbot sets mode: +v zakharyas
|
|||
Geth | MoarVM: 722f093997 | (Bart Wiegmans)++ | src/jit/x64/tiles.dasc [JIT] Add down-cast operations to cast_unsigned_load_addr Had added them to cast_unsigned, but not in the loading version. |
09:13 | |
09:15
yoleaux left
09:26
brrt left
09:41
brrt joined
09:42
p6bannerbot sets mode: +v brrt
10:04
zakharyas left
10:05
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
10:06
zakharyas left
10:08
zakharyas joined
10:09
p6bannerbot sets mode: +v zakharyas
|
|||
Geth | MoarVM/master: 9 commits pushed by (Jeremy Studer)++, (Bart Wiegmans)++
|
10:21 | |
brrt | bumpmaster, bump maybe? | 10:24 | |
lizmat | brrt: will do | 10:28 | |
brrt | (passes spectest for me) | 10:29 | |
thankyou lizmat | |||
lizmat | looks like Zoffix beat me to it :-) | 10:37 | |
brrt | :-) | ||
timotimo | since we already have the r script that can automate bumps for us, why don't we actually teach a bot to bump for us? maybe with a whitelist of users that are allowed to execute it. | ||
the r script also runs test, as i understand it. | |||
brrt | that's actually a pretty good idea | 10:38 | |
I think I may be able to implement an unshift operation for ConcBlockingQueue | |||
timotimo | oh, putting elements at the front, eh? | ||
brrt | yes... | ||
hmmm | |||
timotimo | sounds like a terrible footgun. would it be concurrency-safe, too? i'm not sure how CBQ internally implements locking or whatever | 10:39 | |
brrt | yes, it would be concurrency safe, otherwise i wouldn't say it was possible :-) | ||
timotimo | right, of course | ||
brrt | it's really useful for head-of-line jumping? | ||
in my case, I want to put the 'shutdown spesh thread' signal to move to the front of the queueu | 10:40 | ||
timotimo | right, though it's racy in the way that you won't be able to tell where in the queue you've landed | ||
lizmat makes mental note to look into the "r" script | |||
timotimo | lizmat: that's zoffix' tool for internals development, it's neat. | ||
brrt | well, for any N threads that applied unshfit on queue Q, at least one of them would find its item at the front, and all of them would find them before any concurrent pushed item | 10:41 | |
the only trick that I think is a bit tricky, is updating the tail | 10:42 | ||
there's two locks and a condition variable | |||
a head lock and a tail lock | |||
the shift/poll/peek operations all take a head lock | 10:43 | ||
timotimo | and resizing takes both, or something? | ||
brrt | the push operation takes a tail lock, and then optionally a head lock, when it finds the queue was empty | ||
it's a linked list internally | |||
single-linked | |||
timotimo | ah, OK | ||
i could have known that just from the presence of a head and tail lock | |||
hm. would you call a linked list with a head and tail pointer a degenerate case of a skip list? :) | 10:44 | ||
brrt | maybe, but it's not a good idea to assume that your conversation partners 'could have known' things :-) | ||
I'm not sure, actually, because I'm not sure what is meant by a skip list | |||
timotimo | if i liked coffee, this wouldn't have been so hard :P | ||
brrt | anyway. I can implement unshift by taking the head lock first, and updating the head... but if I try to update the tail, I might find myself deadlocking if I lock the tail only then | 10:46 | |
timotimo | right | 10:47 | |
brrt | so. unshift needs to lock tail before locking head, just as push does | ||
10:55
zakharyas left
11:10
yoleaux joined
11:11
p6bannerbot sets mode: +v yoleaux
11:12
Zoffix joined,
p6bannerbot sets mode: +v Zoffix
|
|||
Zoffix | lizmat: it's not "r" script; it's "z" script :) | 11:12 | |
huggable: zscript | |||
huggable | Zoffix, Helper script for Rakudo Perl 6 core development: github.com/zoffixznet/z | ||
timotimo | damn, sorry about that :| | ||
Zoffix | And to run bumps you just run `z bump` command. It pulls, makes commits, tests, and if tests are clean pushes, if not, asks you if you want to push | ||
And it has a bunch of other commands, like for rebuilding nqp or moar or rakudo, etc | 11:13 | ||
11:13
Zoffix left
|
|||
AlexDaniel | well, heh, I've been doing `z f && z bump m && z bump n && z bump push` all that time :D | 11:16 | |
which was effectively `z bump` to type because Ctrl-r | 11:17 | ||
but still :) | |||
Geth | MoarVM/fork-safety: 95d851ffc3 | (Bart Wiegmans)++ | 5 files [Spesh] Tear down spesh worker in full_cleanup If the spesh worker is still active the GC can try to free a lock that is being held, which leads to an abort in libuv. Stopping the thread makes full-cleanup work (although it still leaks). Thread is stopped by signalling with VMNull. Ideally we'd unshift this to the front of the queue, but that is more complicated. |
11:38 | |
MoarVM/fork-safety: 33c71bc3ef | (Bart Wiegmans)++ | 3 files [ConcBlockingQueue] Unmoving body The locks structure was already malloc'd, and I extended this to include the entire body. This prevents the GC from moving the body while we are blocked on acquiring a lock, simplifying the code, and has negligible cost. |
|||
MoarVM/fork-safety: 2dd82ec5c5 | (Bart Wiegmans)++ | 3 files [IO] Stop event loop thread Stop loop with uv_stop(uv_loop) and join the thread |
|||
brrt | ^ rebase | 11:47 | |
11:51
ZzZombo left
12:03
brrt left
12:12
ZzZombo joined,
p6bannerbot sets mode: +v ZzZombo
12:19
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
|
|||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/09/11/...of-damian/ | 12:19 | |
12:45
brrt joined
12:46
p6bannerbot sets mode: +v brrt
|
|||
brrt | lizmat++ | 13:02 | |
13:04
zakharyas left
13:28
zakharyas joined
13:29
p6bannerbot sets mode: +v zakharyas
13:40
brrt left
14:53
undersightable6 left,
undersightable6 joined
14:54
p6bannerbot sets mode: +v undersightable6
15:12
lizmat left
15:13
lizmat joined
15:14
p6bannerbot sets mode: +v lizmat
15:25
Voldenet joined,
Voldenet left,
Voldenet joined,
p6bannerbot sets mode: +v Voldenet
15:26
domidumont left,
p6bannerbot sets mode: +v Voldenet
15:30
patrickb left
15:53
Voldenet left,
Voldenet joined,
Voldenet left,
Voldenet joined,
p6bannerbot sets mode: +v Voldenet
15:54
p6bannerbot sets mode: +v Voldenet
16:02
brrt joined
16:03
p6bannerbot sets mode: +v brrt
|
|||
Geth | MoarVM/fork-safety: 6f804c0708 | (Bart Wiegmans)++ | 2 files [ConcBlockingQueue] Implement unshift Enable queue users to 'jump the line' and make sure that their item is delivered to the front of the queue. This has less concurrency than the push/shift pair, because it needs to lock both the head and tail locks. It should rarely be useful. The motivating example in which it is, is shutting down the spesh worker thread, because it means we do not have to wait until the spesh thread has processed (now useless) work. |
16:05 | |
17:43
colomon left
17:48
brrt left
17:50
zakharyas left
19:00
ggoebel_ left
19:14
ggoebel_ joined
19:15
p6bannerbot sets mode: +v ggoebel_
20:12
ggoebel_ left
20:27
ggoebel_ joined
20:28
p6bannerbot sets mode: +v ggoebel_
23:11
lizmat left
|