Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-01-16

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:07 samcv anyway actually probably file is gonna end up smaller (i hope) since i'm going to de-duplicate property values
02:07 samcv and should allow more caching too, since characters with the same set of properties will refer to the same memory location
02:34 samcv it… works. nice
02:34 samcv now to try it out with a full build
02:46 samcv i almost thought it was broken… but there's only so many permutations of property values. and it seemed to check for a few random characters. so
02:46 samcv just made a really small bitfield
02:48 ilbot3 joined #moarvm
02:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
03:19 samcv and also due to this, potentially the lookup table where we go front codepoints to where the index in the bitfield is, can be much less wide, further decreasing memory requirements
03:20 samcv so say there's 200 permutations of property values, we only need to fill this struct that contains all of the codepoints with not very wide unsigned integers
04:26 diakopter samcv: yes that kind of value sharing is a good idea :)
04:27 diakopter I think I measured how many different combinations there were a few years ago; ISTR it was in the thousands
04:28 diakopter of course they could be grouped for better compression
04:29 samcv and some of them are derived so we can derive them if it's not too much work
04:31 diakopter wait, now ISTR ucd2pc already did that kind of sharing
04:31 diakopter 2c
04:32 samcv possibly
04:32 diakopter I'll admit, the script isn't ultra perspicuous
04:32 samcv yeah i think it dqoes
05:12 samcv so far i'm up to 38 properties and so far it takes 8.7K compiled so that's not too shabby
05:12 samcv it does take a quite a while to do its think tho ;)
05:22 vendethiel joined #moarvm
06:40 geekosaur joined #moarvm
07:14 timotimo man, sure would have loved to catch some Zs that night …
07:18 timotimo pahole finds a few bytes here and there that could be saved by rearranging some structs, i'll do that soon, because i need to get back into coding :|
07:19 domidumont joined #moarvm
08:12 Geth MoarVM/pahole2017: 5 commits pushed by timo++
08:12 Geth MoarVM/pahole2017: 11b97a9bca | reorder MVMStaticFrameBody to save 16 bytes (thanks pahole)…
08:12 Geth MoarVM/pahole2017: 7b1a7beac0 | save 16 bytes in MVMCompUnitBody thanks to pahole…
08:12 Geth MoarVM/pahole2017: ada9192081 | save a whooping 24 bytes in MVMJitCode (thanks pahole)…
08:12 Geth MoarVM/pahole2017: 2dafbd4321 | save 8 bytes in MVMIOSyncStreamData (thanks pahole)…
08:12 Geth MoarVM/pahole2017: f20d1bcdc5 | Save 8 bytes in SerializationRoot, 8 more in SerializationReader…
08:12 Geth MoarVM/pahole2017: review: https://github.com/MoarVM/MoarVM/compare/0000000000...f20d1bcdc5
08:14 Geth MoarVM: timo++ created pull request #503: Save a tiny bit of space in 6 of our structs
08:14 Geth MoarVM: review: https://github.com/MoarVM/MoarVM/pull/503
08:17 zakharyas joined #moarvm
09:22 Geth MoarVM/multi_cache_no_segfault_on_null: c415e048da | (Timo Paulssen)++ | src/6model/reprs/MVMMultiCache.c
09:22 Geth MoarVM/multi_cache_no_segfault_on_null: multi cache shall not asplode when it finds a null argument
09:22 Geth MoarVM/multi_cache_no_segfault_on_null: review: https://github.com/MoarVM/MoarVM/commit/c415e048da
09:23 timotimo ^- broken actually
09:24 timotimo will re-push
09:24 Geth MoarVM/multi_cache_no_segfault_on_null: ef4d0db2ab | (Timo Paulssen)++ | src/6model/reprs/MVMMultiCache.c
09:24 Geth MoarVM/multi_cache_no_segfault_on_null: multi cache shall not asplode when it finds a null argument
09:24 Geth MoarVM/multi_cache_no_segfault_on_null: review: https://github.com/MoarVM/MoarVM/commit/ef4d0db2ab
09:31 lizmat timotimo: won't that slow down things a lot ?
09:31 timotimo you think?
09:32 lizmat *I* don't know  :-)
09:32 timotimo how do you figure?
09:32 lizmat hence my question
09:32 timotimo because we refuse to cache some cases now?
09:33 timotimo hm. i suppose it could only refuse to cache when it's a low-level null and accept VMNull
09:34 Geth MoarVM/multi_cache_no_segfault_on_null: 6c21cbb36a | (Timo Paulssen)++ | src/6model/reprs/MVMMultiCache.c
09:34 Geth MoarVM/multi_cache_no_segfault_on_null: let multi_cache_add survive null args
09:34 Geth MoarVM/multi_cache_no_segfault_on_null: review: https://github.com/MoarVM/MoarVM/commit/6c21cbb36a
09:34 Geth MoarVM/multi_cache_no_segfault_on_null: 94bdf23444 | (Timo Paulssen)++ | src/6model/reprs/MVMMultiCache.c
09:34 Geth MoarVM/multi_cache_no_segfault_on_null: we may want to only refuse to work with low-level nulls.
09:34 Geth MoarVM/multi_cache_no_segfault_on_null: review: https://github.com/MoarVM/MoarVM/commit/94bdf23444
09:35 timotimo if you hit this code path that makes it refuse to take from, or add to the cache, it would just have segfaulted previously
09:41 domidumont joined #moarvm
09:45 domidumont1 joined #moarvm
10:35 domidumont joined #moarvm
10:37 Geth MoarVM/multi_cache_no_segfault_on_null: d7e5fdd7c0 | (Timo Paulssen)++ | src/core/frame.c
10:37 Geth MoarVM/multi_cache_no_segfault_on_null: liz' code managed to get this to segfault, so guard it
10:37 Geth MoarVM/multi_cache_no_segfault_on_null: review: https://github.com/MoarVM/MoarVM/commit/d7e5fdd7c0
10:38 Geth MoarVM: timo++ created pull request #504: Multi cache no segfault on null
10:38 Geth MoarVM: review: https://github.com/MoarVM/MoarVM/pull/504
10:50 domidumont joined #moarvm
12:39 brrt joined #moarvm
13:23 domidumont joined #moarvm
13:24 domidumont joined #moarvm
14:31 brrt good * #moarvm
15:07 jnthn o/ brrt
15:08 brrt \p jnthn
15:13 brrt i've made reverse progress with writing a blog article about register allocation :-(
15:14 brrt the good news is, though, i do kind of know how to implement the argument-list handler
15:17 brrt the annoying bit about that
15:17 brrt i had originally envisioned the ability to 'swap' registers between live ranges
15:17 brrt but that is not generally possible
15:17 brrt as it might introduce conflicts
16:02 Ven joined #moarvm
16:18 Ven joined #moarvm
16:22 synopsebot6 joined #moarvm
16:24 * ilmari grmbles at uses of sizeof(char)
16:24 timotimo oh, is there something wrong with that?
16:25 ilmari it's by defintion 1
16:25 ilmari if you're being that paranoid you should be using CHAR_BITS instead of "8" for repr_data->bits as well
16:25 ilmari which is only 8 by POSIX definition, not C
16:26 ilmari (by virtue of stdint.h's int8_t)
16:33 Ven joined #moarvm
16:39 timotimo mhm
16:39 timotimo we use MVMint8 and MVMuint8 a bunch
16:46 brrt joined #moarvm
16:51 Ven joined #moarvm
17:03 Geth joined #moarvm
17:11 Ven joined #moarvm
17:12 ggoebel joined #moarvm
17:20 FROGGS joined #moarvm
17:31 Ven joined #moarvm
17:51 domidumont joined #moarvm
18:03 Ven joined #moarvm
18:24 Ven joined #moarvm
18:33 Ven joined #moarvm
19:04 Ven joined #moarvm
19:09 dogbert17 o/
19:10 dogbert17 timotimo, jnthn: ok what do you think about this gist, is it better? https://gist.github.com/dogbert17/8d728478acbb4b23973dc9ea4269da38
19:46 domidumont joined #moarvm
20:05 Ven joined #moarvm
20:24 vendethiel- joined #moarvm
20:24 Ven joined #moarvm
20:39 Ven joined #moarvm
20:49 Ven joined #moarvm
21:06 Ven joined #moarvm
21:26 Ven joined #moarvm
21:39 timotimo um ... use after free even though we use the safepoint mechanism?
21:46 Ven joined #moarvm
21:53 timotimo it's specifically designed to make use-after-free impossible :)
21:55 jnthn Hmm
21:55 jnthn dogbert17: yes, interesting
22:03 dogbert17 I could add the gist as a comment to MoarVM #458 if that's convenient
22:05 jnthn Please do
22:05 * jnthn has a bit of a headache at the moment so can't be particularly useful :(
22:06 Ven joined #moarvm
22:09 dogbert17 done
22:25 Ven joined #moarvm
22:45 Ven joined #moarvm
23:05 Ven joined #moarvm
23:26 Ven joined #moarvm
23:36 Ven joined #moarvm
23:50 Ven joined #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary