github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 16 May 2018.
00:10 Kaiepi joined 00:31 shareable6 joined 01:13 zakharyas joined 01:57 ilbot3 joined
moderator github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
samcv weirdly we use a MVMint32 for the cached_hash but uthash uses `unsigned` all throughout 02:11
which is not that great 02:12
i'm going to make a new type. MVMhashv so we can make sure it's all the same. not good if we use MVMint32, unsigned and MVMuint32 in different places 02:17
Geth MoarVM: 9b3cde7131 | (Samantha McVey)++ | 4 files
Add a new MVMhashv type for representing the hash value

This commit adds a new MVMhashv type which is currently set to a uint32_t. Previously uthash.h used `unsigned` while MVMString->body.cached_hash_code used MVMint32 and in MVM_string_compute_hash_code we use MVMuint32.
This also allows us to more easily change to a 64 bit hash value later.
02:52
samcv yay :) that feels much better now
with ^^ changes it actually works if I switch it to 64bit int which is pretty nice 03:02
keeping at uint32 atm
Geth MoarVM: 9bfd74519f | (Samantha McVey)++ | 4 files
Move uthash.h from 3rdparty to src/strings

3rdparty is really only for libraries that could potentially be replaced by a user's local library instead of MoarVM's included library.
uthash.h is heavily modified and it is impossible for someone to use the upstream version as our version contains custom handling for the MVMString type. Move the file's location so it is clear that it is a version that cannot be replaced.
03:21
MoarVM: 1fbc0996d0 | (Samantha McVey)++ | 2 files
Make sure cached_hash_code is never 0 to prevent hashing needlessly

Because we check if MVMString->body.cached_hash_code == 0 to tell if we have not yet computed the hash code, ensure that hashv is never 0.
To do this we add the length of the string to hashv if and only if hashv == 0. Since both the hashv and MVMStringIndex are both uint32, ... (6 more lines)
03:37 travis-ci joined
travis-ci MoarVM build failed. Samantha McVey 'Make sure cached_hash_code is never 0 to prevent hashing needlessly 03:37
travis-ci.org/MoarVM/MoarVM/builds/380017112 github.com/MoarVM/MoarVM/compare/9...bc0996d0fc
03:38 travis-ci left
samcv nnnnnnnoooooooo 03:38
Geth MoarVM: 6bb647d74c | (Samantha McVey)++ | src/strings/ops.c
Make sure code and declarations are not mixed to make compilers happy
03:48
04:04 travis-ci joined
travis-ci MoarVM build passed. Samantha McVey 'Make sure code and declarations are not mixed to make compilers happy' 04:04
travis-ci.org/MoarVM/MoarVM/builds/380021797 github.com/MoarVM/MoarVM/compare/1...b647d74cf7
04:04 travis-ci left 04:15 zakharyas joined 04:20 squashable6 joined 06:23 domidumont joined 06:31 domidumont joined 06:34 robertle joined 06:55 Ven`` joined 07:01 shareable6 joined 07:17 Ven`` joined
lizmat .tell samcv somehow the pictured don't appear on pl6anet.org 08:04
yoleaux lizmat: I'll pass your message to samcv.
08:20 Ven`` joined 08:31 Ven`` joined 08:50 shareable6 joined 09:29 FROGGS joined 11:03 Ven`` joined 13:02 lizmat joined 13:15 lizmat_ joined
MasterDuke i assume the slightly different logic in ctxouter and ctxcaller is intentional? ctxcaller checks that the return value from MVM_frame_context_wrapper(tc, frame) is not null, but ctxouter just uses it without checking. github.com/MoarVM/MoarVM/blob/mast...3301-L3325 13:33
13:40 Ven`` joined 14:04 Ven`` joined 14:15 Ven`` joined 14:37 colomon joined 14:41 brrt joined
brrt good * 14:56
nwc10 good *, brrt 14:57
brrt I have a decent theory for why the jit-stack-walker branch breaks on windows, even after I've removed the actual stack walker
it is because we miscompile a label, which usually happens because dynasm thinks we need one byte for it but in actuallity we need more
and that happens because dynasm underestimates how much bytes we'll emit inbetween, and *that* happens because there is some extra byte inserted (probably REX, or maybe something else) 14:58
i've seen this before, but i thought i had cleaned it up
MasterDuke brrt: btw, there's no explicit looping op for templates, right? 15:00
brrt nope 15:04
I've thought about it though
what do you want to use it for?
MasterDuke i was just looking at ctx(caller|outer), etc 15:05
brrt i don't think these need loops?
i didn't think they did anyway
MasterDuke ah, right. it's ctx(outer|caller)skipthunks 15:06
brrt ಠ_ಠ 15:10
why do we have such ops
😒 15:11
... anwyay, got it 15:12
MasterDuke brrt: completely unrelated, but github.com/MoarVM/MoarVM/issues/862 15:20
15:25 shareable6 joined
brrt MasterDuke: thanks... moar version information pls? 15:34
MasterDuke brrt: 2018.04.1-119-g6bb647d74
brrt: i'm trying to bisect it, but i get `This program cannot be bisected: 139 at ../../MoarVM/tools/jit-bisect.pl line 179.` 15:36
oh, because it still segfaults even with MVM_EXPR_JIT_DISABLE=1 ? 15:37
brrt MasterDuke: try jit-bisect.pl --spesh 15:47
i mean, version information on your libcurl
and where i can get that library
MasterDuke same 15:48
i think i have libcurl-openssl-1.0
hm, no, probably using libcurl-gnutls 7.60.0-1 15:49
brrt hmmm
ok
anyway
i'll try it out
MasterDuke i sometime get `MoarVM panic: Internal error: zeroed target thread ID in work pass` 15:51
issue updated 15:56
brrt thx 15:57
16:04 AlexDaniel joined 16:51 Guest31 joined 17:05 domidumont joined 18:34 FROGGS joined 18:41 lizmat joined 19:14 brrt joined 19:27 shareable6 joined 21:16 yoleaux joined, nativecallable6 joined, unicodable6 joined, statisfiable6 joined, reportable6 joined, squashable6 joined
Geth MoarVM: jstuder-gh++ created pull request #863:
Reorder a few ops in interp.c to match oplist
21:49
22:13 committable6 joined, undersightable6 joined 23:09 MasterDuke joined