github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:13
sena_kun left
00:14
lucasb left
02:06
discord63 joined
02:09
discord6 left,
discord63 is now known as discord6
02:43
Garland_g[m] left,
Garland_g[m] joined
08:00
domidumont joined
10:12
sena_kun joined
|
|||
timotimo | i hate looking at update_ops.p6 | 10:39 | |
:) | |||
nine | Same here | 10:44 | |
timotimo | fish: “pahole -C MVMOpInfo -P -R -S ~/…” terminated by signal SIGSEGV (Address boundary error) | 11:51 | |
lmao, what | |||
12:14
Geth_ joined
|
|||
timotimo sent patch | 12:18 | ||
12:39
Geth left
12:40
Geth joined
|
|||
timotimo | i just uploaded some commits to moarvm; one removes the mark field from MVMOpInfo, another uses bitfields instead of full bytes for the flags we have | 12:55 | |
tbf, the marks could have lived in the 6 byte hole that is left because of the char *name pointer | |||
in the last commit i point out that perhaps name wants to be stored somewhere else, but then we'll have to have API to get the name of an instruction, which is more work than ins->info->name ... | 12:56 | ||
typing work, mostly | |||
jnthn: how do you feel about keeping the name of an op directly inside MVMOpInfo as a char pointer? i'd like to move it out to a different datastructure because it costs 14 bytes of storage; the 8 bytes for the pointer and 6 extra bytes of padding | 12:57 | ||
jnthn | Hm, I guess if there's some nice function/macro to get the name, we can | 14:34 | |
15:56
Geth left
15:58
Geth joined
16:54
Geth left
16:55
Geth joined
17:31
MasterDuke joined,
MasterDuke left,
MasterDuke joined
17:44
domidumont left
|
|||
kawaii | hi! I plan on bumping rakudo and nqp to 2019.05 tomorrow, is someone here able to bump moar to the same please? :) | 17:46 | |
MasterDuke | samcv: ^^^ | 17:53 | |
samcv | kawaii, what time zone are you | 17:58 | |
kawaii | samcv: I'm in GMT+0, in the UK | ||
samcv | kawaii, uk is +1. i'm +2. unless some places don't get summer time | 17:59 | |
but yes that works for me | |||
timotimo | if there's a release tomorrow, why did i just push changes to master %) | 18:05 | |
kawaii | samcv: oh, you're right :) | 18:08 | |
forgot we have summer in the UK | |||
timotimo | hey samcv, do you know why the coverage report up on moarvm.github.io/coverage is from 2018-07? | 18:11 | |
i mean, it's the first time since before that that i needed it | 18:12 | ||
samcv | oh | 18:13 | |
ah yeah | |||
err. i guess it should upload maybe. let me see | |||
timotimo | it's not super high priority if you've got other stuff to do RN | ||
samcv | hmm | ||
this shows last 5 hours ago github.com/MoarVM/coverage | |||
so that's weird | 18:14 | ||
timotimo | hm, it only updated index.html? | ||
samcv | i'll check the travis logs | 18:15 | |
cp -Rf '/home/travis/staging/*' . | 18:17 | ||
cp: cannot stat ‘/home/travis/staging/*’: No such file or directory | |||
they must have changed the permissions or something | 18:18 | ||
err actually continuing to go up the log | |||
timotimo | anyway, i've started a spectest and if i had messed up something about the MVMOpInfo data, it'd have blown up spectacularly by now, surely | 18:22 | |
samcv | timotimo, the lvm options changed | 18:27 | |
timotimo, travis-ci.org/samcv-MoarV | |||
err | |||
can i not link lines in the travis log? | |||
here it is travis-ci.org/MoarVM/MoarVM/jobs/5...8704#L1888 | 18:28 | ||
timotimo | ah, well that'd surely explain it | 18:31 | |
MasterDuke | has anyone tried moarvm with gcc9 yet? | 18:43 | |
timotimo | nein | 18:48 | |
AlexDaniel | MasterDuke: that didn't even reach debian unstable… | 19:32 | |
last I remember there were some warnings even with gcc 8 | 19:33 | ||
20:43
dogbert11 left
|
|||
timotimo | oooh there's a sizeable chunk of op names that end with another op's name | 20:44 | |
continuationreset set | |||
randscale_n le_n | |||
uniisblock lock | 20:45 | ||
these are funny | |||
20:49
Geth left
20:50
Geth joined
20:59
zakharyas joined
|
|||
jnthn | I won't ask how you discovered this :P | 21:53 | |
timotimo | well, i was thinking if we're already looking for ways to store things more compactly, a 16bit value would be smaller than a full pointer, and if we put all strings one after the other into one buffer (with null bytes to separate them so they stay regular c strings) we can index directly into the middle of a longer string if we find a match | 21:55 | |
it looks like it'd save about 693 bytes, which is about 9% of the 7657 bytes it'd normally take | 21:57 | ||
oh, i didn't count the +1 for null bytes | |||
another oh, i believe i got them mixed up and the savings are actually just 4% | 21:58 | ||
no, i definitely got the counts wrong :) | 21:59 | ||
the 4% savings number is the right one, sadly | 22:00 | ||
going from const char *name; inside MVMOpInfo to MVMuint16 name_offset; gets it to shrink from 32 to 16 bytes, so that's nice | 22:07 | ||
lizmat | timotimo: how about storing offset (16bit) + length(8bit) | 22:09 | |
timotimo | then we can't use regular, boring C string functions | ||
lizmat | you could then use the fact that some strings are inside other strings to further reduce the overall size | ||
timotimo | we have a whole lot of places where we fprintf("the op is: %s\n", ins->info->name) | ||
lizmat | ok | 22:10 | |
but still: for "le_n" you could index into the string "randscale_n" and share the null byte :-) | |||
ah, that's what you already said | 22:11 | ||
timotimo | yeah, but the savings are tiny | ||
lizmat goes to sleep& | |||
timotimo | good night and rest well! | ||
22:18
zakharyas left
|
|||
timotimo | ugh, did i commit too much of update_ops.p6 | 22:21 | |
ooh, but changing that makes it more difficult to deal with extops | 22:28 | ||
all the more reason to get rid of extops :) :) :) | 22:36 | ||
a friend once suggested to use varints for everything in the bytecode format ... i wonder if the extra computation to read the values will be completely dwarfed by the improved throughput from smaller code? and the hottest code gets jitted to machine code anyway? | 22:57 | ||
23:09
Kaiepi left,
Kaiepi joined
23:55
sena_kun left
|