github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
MasterDuke are new VMArrays created with any slots allocated? 10:10
MasterDuke or is set_size_internal always called to allocate some slots? 10:19
jnthn Some things poke an already-allocated buffer directly in 10:20
lizmat maybe nqp::list(1,2,3) does ? 10:44
jnthn If it does presize, it goes via set_size_internal 11:07
The only exceptions will be stuff like I/O where it gets, say, a buffer off the network and shoves it staright into the array body slot to avoid a copy.
MasterDuke nqp::list(1,2,3) does set_size_internal 11:34
and then npq::push's in a loop
is there any reason not to try and switch all VMArray use to FSA allocated storage? doing so would mean i could remove the if/else i currently have in set_size_internal and gc_free 12:16
jnthn MasterDuke: Yeah but the case I mentioned above. 12:18
MasterDuke well yeah, have those spots allocate via the FSA also 12:19
jnthn MasterDuke: I think libuv probably can be made to do it though (alloc is a callback)
We don't want to copy; that's worse than the check.
MasterDuke hm, didn't think about libuv. the other places should be pretty straightforward 12:20
jnthn Really it's a case of if the alloc callback is able to reach the thread context object 12:21
MasterDuke any reason github.com/MoarVM/MoarVM/blob/mast....c#L18-L23 can't take a tc? 12:24
nine MasterDuke: you'd have to get libuv to pass it to on_alloc 12:25
MasterDuke looks like i can get it from the handle github.com/MoarVM/MoarVM/blob/mast....c#L32-L33
nine yep, looks good 12:26
MasterDuke oh wait, that handle is a different type?
oh, it's a subclass, should be fine 12:29
[Coke] Where in MoarVM is "decodeconf" op implemented? 14:52
src/core/interp.c ? 14:53
MasterDuke MVM_string_decode_from_buf_config 14:57
src/strings/ops.c:1819
[Coke] ok, that's the function: where's the opcode that ties to it? 14:58
src/jit/graph.c seems to have that mapping?
MasterDuke src/core/interp.c:5408
[Coke] ah, so I was in the right spot, just didn't see the method call. Thanks. :) 14:59
MasterDuke np
[Coke] s/method/
MasterDuke first couple steps at getting all VMArrays to use FSA for storage and nqp builds and passes it's tests. rakudo builds, but core dumps during install. progress 16:20
timotimo nice 16:25