Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
00:00 reportable6 left 00:03 reportable6 joined
MasterDuke that's...unexpected 01:42
and my windows vm doesn't want to start up, yay
oh, coincidentally i have a virtualbox and virtualbox kernel module update just now. maybe i'll restart in a bit and see if that fixes anything 01:44
ugexe i think i found one clue in that node is explicitly prefixing paths with \\?\ 03:06
MasterDuke oh, so it does have some explicit handling of windows? that's sort of annoying that we can't just punt everything to libuv 03:08
ugexe yeah, i guess libuv just removed the max_path limitation but didn't provide automatically handling 03:13
github.com/nodejs/node/blob/0597f1...#L622-L651 03:18
MasterDuke ugh 03:19
ugexe yeah
[Coke] sneaky 03:22
MasterDuke where do we want to do that? moarvm/nqp/rakudo?
ugexe well the old code kind of handled that stuff 03:24
github.com/MoarVM/MoarVM/pull/1745...96eL96-L97
and we know that the old code did create the directory, so I suspect it is doing the right thing with \\?. Maybe its worth copying the logic to add that prefix. As for why it errors in other ways, I suspect that similar prefix is needed for other parts of the logic like calls to uv_fs_lstat and whatnot for them to detect the file 03:25
as for where the toNamespacedPath would ideally live... if you want moarvm to be able to work inside long paths on windows (like someone installs it to a long path) then that would probably be ideal. but looking at the nodejs function it calls that win32.resolve(...) which is rakudo IO::Path logic. so i dunno lol 03:27
i think just adding a function to prefix paths with \\? if its not a relative path could be the easiest way though 03:28
MasterDuke hm. i thought i could get rid of most of the `#ifdef _WIN32` stuff, but maybe i should just do the minimal change of only changing the actual function that does the work from non-libuv to libuv 03:29
well, don't think i have to focus to try any changes tonight, but thanks for doing the research, i'll give the PR a workover later 03:30
ugexe you might be able to contain all the #ifdef win32 stuff in a single function that is a no-op outside of windows 03:32
github.com/libuv/libuv/blob/7fd7e8...2705-L2721 - this looks to be how libuv does it in the one spot it needs to 03:49
worth grepping for LONG_PATH_PREFIX in that same file 03:51
Geth MoarVM: b2fc656826 | (Daniel Green)++ | CREDITS
Add myself to the credits
04:44
06:00 reportable6 left 06:01 reportable6 joined 06:49 squashable6 left 06:52 squashable6 joined 09:10 sena_kun joined 09:50 sena_kun left
Nemokosch is there a reason why github.com/MoarVM/MoarVM/pull/1724 (and the strongly related github.com/Raku/nqp/pull/781/files) can't be merged? 10:08
lizmat I wouldn't know, pinged jnthn for a review 10:14
10:14 sena_kun joined 10:18 sena_kun left 10:55 sena_kun joined 12:00 reportable6 left 12:01 reportable6 joined 12:43 jdv left 12:44 jdv joined 12:46 Woodi_ joined 12:56 epony left, linkable6 left, samcv left, nativecallable6 left, tellable6 left, benchable6 left, sourceable6 left, bloatable6 left, unicodable6 left, statisfiable6 left, bartolin_ left, japhb left, jjatria left, harrow left, Woodi left, nebuchadnezzar left 13:01 epony joined, linkable6 joined, samcv joined, nativecallable6 joined, tellable6 joined, benchable6 joined, sourceable6 joined, bloatable6 joined, unicodable6 joined, statisfiable6 joined, bartolin_ joined, japhb joined, jjatria joined, harrow joined, nebuchadnezzar joined 13:04 epony left 13:05 epony joined 13:20 epony left 13:30 nebuchad` joined 13:31 nebuchadnezzar left 13:53 epony joined 14:43 Altai-man joined 14:44 sena_kun left 15:52 epony left 15:53 epony joined 18:00 reportable6 left 18:02 reportable6 joined 18:10 Altai-man left 18:35 linkable6 left 18:38 linkable6 joined
MasterDuke timo1, nine: wow, there's something wrong with the profiler and uints. `raku --profile=int_loop.html -e 'my int $sum = 0; for ^1_000_000 -> int $i { $sum += $i }; say now - INIT now; say $sum;'` completes just fine and creates an ~500k profile. changing the two `int`s to `uint`s causes a segfault. if i reduce the loop iterations down to 10_000 it 18:56
completes, but creates a 1.8mb profile
19:02 harrow left
MasterDuke ah, but i think it's a simple fix 19:02
lizmat MasterDuke: do you see a reason not to merge github.com/MoarVM/MoarVM/pull/1724 >? 19:05
MasterDuke not really. nine approved it, it looks relatively simple. we can always revert if need be 19:07
lizmat ok, then I'll merge it
Geth MoarVM: 6adfc376cb | (Ben Davies)++ (committed using GitHub Web editor) | 3 files
Fix nqp::objprimunsigned handling of unsigned or sized integers (#1724)

This would compare the boxed_primitive flag against MVM_STORAGE_SPEC_BP_INT before returning the is_unsigned flag, but this excludes the other sizes of int, as well as uint altogether. Give this the same check as nqp::objprimbits; encourage stringy types to default to zero themselves.
19:08 linkable6 left 19:10 linkable6 joined 19:17 sena_kun joined 19:33 harrow joined 21:23 vrurg left 21:24 vrurg joined
MasterDuke nine: we don't need a `getlex_nu`? 21:37
23:00 kjp left 23:04 kjp joined 23:14 sena_kun left