github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
Geth MoarVM/fix_decoder_on_exceptions: 922f0e5f27 | (Stefan Seifert)++ | 2 files
Fix bogus "Decoder may not be used concurrently" after exceptions

If stream decoding throws an exception (like on bad UTF-8) the deocder's in_use flag would stay set preventing any further use of the decoder. Since decoders are cached in rakudo, this would lead to great action-at-a-distance effects.
Fix by extending the MVM_tc_(set|release)_ex_release_mutex mechanism to support such flags in addition to fully blown mutexes. This way we can keep the light weight in_use flag for the cost of a single bit test and branch when throwing exceptions.
04:21
MoarVM: niner++ created pull request #1153:
Fix bogus "Decoder may not be used concurrently" after exceptions
04:22
Guest37021 aha, nine is working remotely :) 09:55
Geth MoarVM/fix_decoder_on_exceptions: ebf1c6af57 | (Stefan Seifert)++ | 2 files
Fix bogus "Decoder may not be used concurrently" after exceptions

If stream decoding throws an exception (like on bad UTF-8) the deocder's in_use flag would stay set preventing any further use of the decoder. This can lead to great action-at-a-distance effects.
Fix by extending the MVM_tc_(set|release)_ex_release_mutex mechanism to support such flags in addition to fully blown mutexes. This way we can keep the light weight in_use flag for the cost of a single bit test and branch when throwing exceptions.
10:24
pamplemousse o/ 11:49
brrt \o 11:59
pamplemousse Hi brrt
brrt hi pamplemousse 12:00
brrt how are you doing 12:00
just fyi, I'll be travelling in the next week, so my online time will be limited 12:01
(I hope to get some MoarVM hacking done nevertheless)
pamplemousse Alrighty. Have fun travelling!
I'm a bit stuck. Post should be incoming in the next hour or so on where I am so far, but I've been having a pretty hard time with figuring out how to get the modules working. 12:02
pamplemousse I'm having two main issues, the first is that while I can get the initial list of necessary modules, I think I'm missing the dependencies that the modules themselves may have. 12:04
The second issue is that I'm still having a hard time identifying how to point perl6 at the place I'm putting the modules. 12:05
brrt hmmm. It may be the case that the modules you load are precompiled
the second issue, I may be able to help with
pamplemousse I think I should be able to sort out the first issue. They definitely are precompiled, and each of them begin with a couple of strings which I think may be the names of files that they depend on. 12:07
brrt uhuh 12:08
pamplemousse If you have any pointers on the second issue, I would greatly appreciate them
brrt I'm checking now... :-)
pamplemousse: my theory is this... in rakudo (src/core/CompUnit) there's a role CompUnit::Repository 12:12
and it's implemented by a bunch of scripts
eh, other roles
like CompUnit::Repository::FileSystem, CompUnit::Reposity::NQP, etc 12:13
and there's CompUnit::RepositoryRegistry 12:14
and I *think* that you'd need to have a CompUnit::Repository::HardLinked (or something), initialized with the current file (the argument to 'bytecode'), and have it registered at runtime 12:15
pamplemousse Hmmm. 12:20
Currently, if I package up a user program that uses modules without those modules, and just try to run it to see what happens, it can't find the modules either. My gut feeling based on looking at the files you've pointed me at is that there's something I'm not accounting for happening in CompUnit::RepositoryRegistry, but I'm not sure 12:23
I'll keep poking around
brrt good luck 12:32