github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
04:12 harrow left 04:22 harrow joined 05:42 domidumont joined 05:47 domidumont left 06:17 domidumont joined 06:43 robertle left 08:08 sena_kun joined 08:09 MasterDuke left 08:27 zakharyas joined 08:33 chloekek joined 08:40 Kaiepi left 08:56 MasterDuke joined, chloekek left 08:58 zakharyas left 09:01 robertle joined 09:02 zakharyas joined
nwc10 jnthn: forgot to say - our cellar is somewahat chaoatic. Yesterday I discovered that some plonker had left an empty crate of beer bottles blocking the beer fridge. How silly. 10:15
jnthn Oh deer 10:23
*dear
hah
I read it as "a crate of empty beer bottles"
Apparently my brain auto-corrects for pessimism... 10:24
nwc10 acually, your brain corrected it to what I meant to type to be clear
the crate had all slots full with empty beer bottles
to be clear, the good news was that once removed, the beer fridge could be opened and was *not* itself emptya
and also, there is another crate which has some beer in it still, with which to restock the fridge 10:25
It is good that today is Friday, because I appear to be in need of a weekend
jnthn :) 10:26
Here we order groceries online, and they will take away empty beer bottles (at least, the redeemable ones) and credit the account for it with the next shopping
This is convenient
10:37 Kaiepi joined 10:46 Voldenet left 10:51 zakharyas left
Kaiepi when do you need to use MVMROOT? i have a feeling async sockets don't entirely use it properly after reading that slew of commits related to MVMROOT from a while ago, but i can't really say i know anything about how it's used besides how it takes MVMObject-based structs 12:10
timotimo i can explain 12:11
moarvm's GC relies on a set of roots to find every live object; one effect of not having an MVMROOT when it's needed is that an object can be freed erroneously while some C code is still working with it
it also uses marking to find all references both to find more live objects, and to have the pointers that need updating 12:12
so another effect of an MVMROOT being missing is that the pointer you're not rooting will point at the previous location where an object lived
so you'll have to MVMROOT all pointers that you'll be using in the future, and they have to be rooted at the moment a GC run could happen, which is everywhere something gets allocated or when a GC_SYNC_POINT is explicitly put into the code 12:13
12:23 lucasb joined
Kaiepi perfect, so what i had written before i thought to ask about it was right 12:23
i knew the pointers to gced could move after reading those commits, but not really the details as to why 12:25
thanks
timotimo YW 12:46
13:24 zakharyas joined 13:26 chloekek joined
Guest15407 hmm, ==95035== Conditional jump or move depends on uninitialised value(s) 15:00
==95035== at 0x50662D5: MVM_hll_map (hll.c:196)
15:01 chloekek left 15:15 domidumont left 15:59 robertle left 16:21 AlexDaniel` left 16:35 AlexDaniel` joined 16:48 vesper11 left, vesper11 joined 17:02 Kaiepi left 17:13 domidumont joined 17:17 domidumont left, sena_kun left 17:47 Ven`` joined 17:58 Ven`` left 18:08 Voldenet joined, Voldenet left, Voldenet joined 18:40 domidumont joined 18:54 Ven`` joined 19:01 domidumont left 19:03 zakharyas left 19:15 Kaiepi joined 20:19 MasterDuke75 joined 20:22 MasterDuke left 21:00 brrt joined
brrt \o 21:07
.tell pamplemousse I found something interesting (I think); it's possible to define the 'main' in a shared library 21:08
tellable6 brrt, I'll pass your message to pamplemousse
brrt so it's possible to create a, say, libmoarstarter.so, which we'd link to the ELF-ppacked file, and which would know to load the CU from memory 21:10
jnthn How, does that work in a cross-platform manner? 22:03
22:38 brrt left 23:24 Ven`` left