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. |
|||
Geth | MoarVM/legojit_simple_register_tracker: 5cde10b102 | (Timo Paulssen)++ | 3 files simple manual register content tracking for the lego jit This allows us to reuse values in registers instead of recalculating them: * if a frame's register ("work") is already in TMP1 * if the effective_spesh_slots is already in a register * if the cur_frame is already in a register * if VMNull is already in a register This makes our emitted jit frames a little bit smaller, and maybe faster |
00:20 | |
MoarVM/moar_gdb_jitreader: 872130434c | (Timo Paulssen)++ | 2 files Add a module for the gdb jit-reader functionality |
|||
timo | decided it's past the time to share these | 00:21 | |
unfortunately i've just gotten a segfault from the legojit_simple_register_tracer branch on my jit comparify script, of all things :D | 00:22 | ||
ah, it's called "jit comparify" but all it has to do with jit is that its primary output was the before/after of jit bytecode sizes | |||
oof, "rr replay" on a process that takes a few minutes and most of the time utilizes around 10 of my cores takes a little while :D | 00:28 | ||
MasterDuke | i'm thinking about upgrading to zen5 when they're released. i've loved this zen2, but new cpus are faster... | 00:33 | |
timo | i ran "rr pack" while a "rr replay" was running and rr is not happy about that ... | 00:38 | |
MasterDuke | if cuthullu appears tomorrow we'll know who to blame | 00:43 | |
timo | i've been looking for something in rr's help and website and wiki that would let me skip to a much later event instead of having to wait for it to run until then ... | 01:02 | |
there's something in "rr replay" that's about "exporting checkpoints" which i guess means you can have one rerun that saves checkpoints at some points you want, and then another rr replay can connect to it and wouldn't have to do all the work again for these specific checkpoints? there is barely any explanation of this feature | 01:03 | ||
i couldn't even find out when you're supposed to need "rr rerun" instead of "rr replay" or what's different about it | |||
MasterDuke | i've never even heard of 'rr rerun' | 01:09 | |
timo | github.com/rr-debugger/rr/pull/3406 | 01:29 | |
rerun seems like it's mostly a thing for when rr b0rks and you need to debug rr? | |||
MasterDuke | that'd be nice | 02:19 | |
07:01
sena_kun joined
19:06
rypervenche left,
rypervenche joined
|
|||
timo | i'm now building the "persistent checkpoints" PR for myself to use | 20:17 | |
MasterDuke | i couldn't think of a fast and easy way, so i just stuck some prints where strings are allocated and we'll see if there's a hotspot for when the size is small enough for in-situ | 21:00 | |
huh. tons in MVM_string_concatenate | 21:05 | ||
looks like next most common are get_all_in_buffer, do_case_change, and take_chars | 21:07 | ||
timo | oh i think i looked into case change a few weeks/months ago when i found we do create a boatload of strings there | ||
somewhere in the parser, i think, we have some category name or other that we always upper or lower case? | 21:08 | ||
MasterDuke | MVM_string_concatenate creates strands, but i wonder if it'd be more efficient to create in-situs if they're small enough | ||
timo | yeah, if they're small enough, i expect there'd be a win there | 21:12 | |
21:20
sena_kun left
|
|||
timo | btw there exists something fun where you can tell the kernel "hey, mark all my memory pages as clean right now" and then later "hey which of these memory pages have been dirtied since i told you to mark them clean?" | 22:12 | |
i don't have an idea what exactly to do with it | 22:13 | ||
there was a bug in the persistent checkpoints branch that moar managed to tickle, and the dev who made that feature was around to fix it \o/ | 23:05 |