02:58 ShimmerFairy joined 04:27 virtualsue joined 05:51 lizmat joined 06:12 virtualsue joined 06:35 xiaomiao joined 06:45 FROGGS joined 07:03 Ven joined 07:29 ShimmerFairy joined 07:33 lizmat joined 08:51 Ven joined 09:42 lizmat joined 09:51 zakharyas joined 10:13 Ven joined 11:43 Ven joined 12:04 lizmat joined 12:44 lizmat joined 13:03 zakharyas joined
hoelzro good moarning #moarvm 13:12
nwc10 good *, hoelzro
timotimo heyo you two 13:14
hoelzro o/ nwc10 & timotimo! 13:15
it turns out there's a bug in rakudo-m where if you create a Thread, it will never clean up the underlying ThreadContext. I tried to add MVM_tc_destroy(thread->body.tc) to MVM_thread_join, but that results in segfaults and other fun. Is there some other cleanup I need to be doing? 13:17
timotimo doesn't the interpreter have a list of all threads? 13:20
i think that's necessary for the gc to work properly
hm. i should get an overview of the things i've been doing (or rather trying to do) during spw 13:23
i tried to move forward with the lexical-to-local lowering and got baffled by things once more 13:24
i've made perl6-bench glr-compatible
what else? :\
hoelzro timotimo: does that thread still need a TC after the thread has been joined?
and should the thread be removed from that instance thread listing? 13:25
timotimo probably needs to be kept, as the thread contexts all have their own nursery and gen2
hoelzro re: what you've been up to, I just remember the lexical -> local stuff
ahhhh
that's probably why it's mad
timotimo maybe we want to have newly created threads claim previous TCs
13:29 lizmat joined 13:32 brrt joined
brrt good * 13:33
timotimo brrt * good 13:34
brrt hi timotimo
hoelzro o/ brrt 13:37
brrt \o hoelzro
are you at yapc::eu?
hoelzro timotimo: A joined thread can no longer allocate memory in its pool, right? 13:38
brrt: I am not (
=(
brrt shame
it's really nice up here
granada is awesome
perl community is really alive this year
nwc10 Klima!
[Coke] I'mma let you finish, but SPW2015 was clearly the best european workshop of all time.
nwc10 however, the big blue room is a bit warmer than the venue
brrt i was clearly not at SPW2015 13:39
timotimo [Coke]: because of the kitties, right?
brrt nwc10: where are you now? we haven't talked all conference, and i'm leaving tomorrow morning
[Coke] wishes he could have gone to all 3 conferences in a row. Ah well.
nwc10 brrt: second row in miyagawa's talk
[Coke] timotimo: Loved that cat, man.
brrt it was hard enough justifying one conference :-)
nwc10 I'll try to find you at coffee
brrt that's F1 right
aye
[Coke] brrt: exactly. :)
timotimo brrt: may i ask you about the slides again? 13:40
brrt yes. if you have somewhere for me to put them, i will be happy to upload them
timotimo you have a google account, don't you?
we can use something like reep.io/ as well 13:41
rtccopy.com/ or this 13:42
rtccopy.com/#g6ZrBarS
brrt timotimo: github.com/bdw/slides/blob/master/...-09-02.pdf 13:43
timotimo wow, github can display pdfs in-line 13:44
brrt nice
timotimo brrt: you're probably busy attending things rather than hacking on the jit, right? 13:52
brrt i'm actually working on the freeing-to-many-registers problem now 13:53
(sorry tux, if you're reading it)
timotimo cool :) 13:54
brrt we're trying to free rbx 13:56
....
wth
dalek arVM/even-moar-jit: 2bfd5dd | brrt++ | src/ (6 files):
Introduce 'immortally' created values

From the perspective of the register allocator, values residing in nonvolatile registers are 'immortal'. These registers should not be freed over overwritten.
This does not fix all the bugs, but some of them. Also implement the handlers for pre-and-post branch logic, but we do not yet call them.
14:04
arVM: 15eadcd | paultcochrane++ | src/spesh/candidate.c:
Revert func_ptr free from commit 688eecd

Unfortunately freeing the func_ptr wasn't the correct thing to do; the change actually caused a bad free of a variable. Sorry about that! This reverts the commit and thus removes a potentially bad free operation.
14:10
arVM: ac6ea4e | lizmat++ | src/spesh/candidate.c:
Merge pull request #253 from paultcochrane/pr/revert-free-func_ptr

Revert func_ptr free from commit 688eecd
14:26 Ven joined 14:39 rarara joined 15:00 kjs_ joined 15:25 brrt joined 15:31 colomon joined
dalek arVM/even-moar-jit: baa5b8a | brrt++ | src/jit/register.c:
Always take register when putting a value there

After all, the register is now in use by a live value
15:47
brrt battery is empty, that's all folks! 15:48
15:48 brrt joined 15:49 brrt joined 15:50 brrt joined 15:51 brrt joined 15:52 brrt joined 15:53 brrt joined 15:54 brrt joined 15:55 brrt joined 15:56 brrt joined 15:58 brrt joined 15:59 brrt joined 16:00 brrt joined 16:01 brrt joined 16:02 brrt joined 16:03 brrt joined 16:04 brrt joined 16:22 lizmat joined 16:34 kjs_ joined 16:54 vendethiel joined
hoelzro it seems that MVM_thread_cleanup_threads_list is never called to clean things up; when *should* it be called? 16:55
jnthn You generally can't clean up threads until 2 GC runs later. 17:07
'cus that's how long it takes for their nursery to be redundant.
There is logic in orchestrate.c that arranges merging of gen2 into a live thread. 17:08
That's about the point when a ThreadContext can go away
[Coke] jnthn: hio! 17:09
jnthn o/
timotimo cool, i didn't know about that 17:11
so on brrt's latest commit i can get a little ways into the first file in the nqp build
jnthn brrt++ # talk
timotimo but after it enters a jitted frame, it segfaults, and the stack gets a bit trashed apparently
jnthn read the slides
timotimo i imagine from the slides there was quite a bit more in the audio track than in the video track
jnthn is sad to not have been able to do his MoarVM talk at YAPC::EU this year 17:12
But, health first...
lizmat jnthn++ # good plan
jnthn I'll be gradually inserting myself back into hacking over the coming days, as energy levels allow (so, probably just a little bit at first) 17:13
17:15 kjs_ joined
timotimo yes, health very first, indeed 17:21
jnthn Aye 17:25
Though I suspect my first task ("screw it just merge glr already") will be an easy one. :) 17:26
17:28 TEttinger joined 17:37 ggoebel joined
[Coke] jnthn: yes, please do that. :) 17:41
17:41 FROGGS joined
FROGGS o/ 17:45
17:49 _itz_ joined 18:14 colomon joined
hoelzro jnthn: thanks for weighing in! so I have to wait for a thread's state to be MVM_thread_stage_destroyed for a run before I can clean it up? 18:18
ex. GC 1: state = destroyed; GC 2: nothing; GC 3: can clean up thread ?
18:27 lizmat joined
jnthn hoelzro: I think by destroyed it can go 18:34
hoelzro: There's a clearing_nursery before that iirc 18:35
There's an enum of all these states somewhere :)
hoelzro =)
jnthn: I tried putting a MVM_tc_destroy here: github.com/MoarVM/MoarVM/blob/mast...ate.c#L88, but that also segfaulted 18:36
I must be missing something else
18:36 colomon joined
hoelzro also, that "will be cleaned up (removed from the lists) shortly" - any idea where that happens? 18:38
jnthn orchestrate.c iirc 18:39
hoelzro .oO( iir.c ) 18:40
18:51 colomon joined
jnthn
.oO( ir.c )
18:56
18:59 dalek joined 19:01 colomon_ joined 19:48 brrt joined
brrt good evening or any other day time 19:48
19:56 lizmat joined 20:02 brrt joined
_itz_ brrt: excellent talk on jit and I would be interested in any links you have for eco issues 20:16
jnthn++ # much hard work and rest deserved 20:17
20:35 brrt joined
brrt thank you _itz_ 20:35
were you at yapc::eu or are you talking about the slides?
20:51 Peter_R joined
nwc10 good UGT, brrt 21:04
_itz_ brrt: I am at YAPC and saw the talk 21:55
22:00 brrt joined
brrt oh cool 22:01
did i meet you afterwards
goot UGT nwc10
did you stay long still?
(irc connection has been spotty in hotels, to say the least)
_itz_ no we didn't meet .. may try and talk tomorrow 22:03
brrt only early in the morning, because i'm leaving just after the first talk 22:07
shame. i'll very very very likely will be going to nine's talk
ok, my current theory is... what 22:09
my code is weird, and bad 22:10
and i feel bad
22:44 _itz joined 22:50 kjs_ joined 22:56 FROGGS joined 22:58 mj41 joined 23:03 lizmat joined 23:12 mj41_nb joined 23:14 mj41_nbx joined 23:56 colomon joined