github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
Geth MoarVM: Kaiepi++ created pull request #1137:
Implement NativeCall wide string support
08:45
brrt \o 11:04
nwc10 o/ 11:06
Kaiepi to decode a wchar_t array to an MVMString on windows, is this all i need to do? they're just utf16 strings fpaste.scsys.co.uk/585289 12:57
jnthn Kaiepi: It's not a very efficient way, and the & with WCHAR_MAX looks a little strange to me 12:58
Oh, and... 12:59
If it's utf16 you need to handle surrogate paris
But if that's what it is then just use the exising UTF-16 decoder? 13:00
Kaiepi wchar_t is an unsigned short on windows, so i can't use it
brb
back 13:17
Kaiepi i mean i could use the existing utf16 decoder if i split the shorts into chars but that seems less efficient than it should be 13:18
how would you handle this jnthn? 13:22
would copying the code from MVM_string_utf16_decode_main but making it work with shorts instead of chars work better? 13:24
jnthn But the UTF16 decoder surely works with 2-byte things (e.g. short)? 13:25
timotimo does it require more than just a cast to go from char to short or vice versa?
jnthn So just...what timotimo said
Kaiepi you can cast from unsigned short * to char * like that? 13:26
jnthn Sure, it's C ;)
Kaiepi that's convenient 13:28
timotimo surely if you had written code to "convert" from unsigned short* to char* the c compiler would have turned that into a call to memcpy 13:34
pamplemousse \o 13:57
patrickb o/ 14:01
nwc10 \o 14:10
dogbert17 is hoping for some cool merges now that the MoarVM release is done 14:16
pamplemousse I was wondering if someone could point me to where I could find definitions for the internal errors thrown by MoarVM. I'm hitting an error "Cannot invoke object (REPR: Null; VMNull)" and am not sure what that means 14:41
timotimo something's trying to do an invoke_o op on a high-level null 14:42
high-level nulls are what we introduced so that operations give meaningful errors instead of segfaulting due to null pointer dereference
pamplemousse By it being passed a high-level null, does that mean it's not being passed something it should be? 14:46
timotimo right 14:47
many operations can return a VMNull, you'd want to find out where it comes from
you should be able to breakpoint where it does MVM_exception_throw_adhoc for that error, then continue with MVM_dump_bytecode(tc) and MVM_dump_backtrace(tc) and such 14:48
though with a debugger able to step backwards it'd surely be easier to figure out; you can try out rr for that purpose
pamplemousse Thank you! I found the issue 14:58
Geth MoarVM: 9f679f3234 | (Daniel Green)++ | 2 files
Jit and add a template for smrt_intify
17:36
MoarVM: 5d8095b8d9 | (Daniel Green)++ | src/spesh/optimize.c
Spesh optimize smrt_intify like smrt_(num|str)ify
MoarVM: 06dd9c0d59 | MasterDuke17++ (committed using GitHub Web editor) | 3 files
Merge pull request #1133 from MasterDuke17/jit_and_spesh_optimize_smrt_intify

Jit and spesh optimize smrt_intify
MoarVM: e5321a3662 | (Daniel Green)++ | 5 files
Jit captureposarg_n

Also change MVM_args_get_pos_num into MVM_args_get_required_pos_num and MVM_args_get_optional_pos_num to match the implementations for the other types.
17:37
MoarVM: defe0a959b | MasterDuke17++ (committed using GitHub Web editor) | 5 files
Merge pull request #1136 from MasterDuke17/jit_captureposarg_n

Jit captureposarg_n
brrt` good * 20:24
jnthn o/ 22:01
brrt \o 22:07
timotimo o/ 22:12
i have angered my btrfs root filesystem
the irc channel has been hugely supportive, though
MasterDuke any idea why a profile would show github.com/rakudo/rakudo/blob/mast...er.pm6#L20 as being entirely non-jitted? but the spesh log only has 3 'bailed completely', and none are in that method 22:37