Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-04-09

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

All times shown according to UTC.

Time Nick Message
00:00 timotimo i refrained from putting a ™ because that'd just upset some compilers
00:00 samcv oh. i see
00:00 samcv heh
00:00 samcv probaly wouldn't since it's utf-8
00:00 samcv almost done reviewing
00:06 samcv ok done
00:07 samcv other than those two things it looks good
00:07 timotimo cool
00:07 timotimo let me look
00:07 samcv that code is scary
00:07 samcv the whole function i mean :P
00:07 timotimo it's really big, yeah
00:08 samcv yep
00:10 Geth ¦ MoarVM/join_handle_empty_string_and_sep: a79247d074 | (Timo Paulssen)++ | src/strings/ops.c
00:10 Geth ¦ MoarVM/join_handle_empty_string_and_sep: joined two ifs, make code more readable hopefully
00:10 Geth ¦ MoarVM/join_handle_empty_string_and_sep: review: https://github.com/MoarVM/MoarVM/commit/a79247d074
00:10 timotimo i'm not sure what you meant with "else if loop" though
00:11 samcv you did exactly what i wanted
00:11 samcv very good
00:12 timotimo great, feel free to hit "merge"
00:14 samcv also. will be nice to add a test to nqp test suite
00:14 samcv to hit that section of code in the coverage
00:14 timotimo right
00:14 samcv probably just need one test
00:14 samcv or a few. whatever you want
00:14 samcv at least one thuogh
00:15 Geth ¦ MoarVM: bf0d5fc8d4 | (Timo Paulssen)++ | src/strings/ops.c
00:15 Geth ¦ MoarVM: join: extra check for empty string + empty sep
00:15 Geth ¦ MoarVM:
00:15 Geth ¦ MoarVM: this could cause \r and \n to be kept as two graphemes
00:15 Geth ¦ MoarVM: when they were joined with an empty string in between and
00:15 Geth ¦ MoarVM: the empty string as the separator.
00:15 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/bf0d5fc8d4
00:15 Geth ¦ MoarVM: a79247d074 | (Timo Paulssen)++ | src/strings/ops.c
00:15 Geth ¦ MoarVM: joined two ifs, make code more readable hopefully
00:15 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a79247d074
00:15 Geth ¦ MoarVM: dcbaa7419b | (Samantha McVey)++ | src/strings/ops.c
00:15 Geth ¦ MoarVM: Merge pull request #576 from MoarVM/join_handle_empty_string_and_sep
00:15 Geth ¦ MoarVM:
00:15 Geth ¦ MoarVM: join: extra check for empty string + empty sep
00:15 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/dcbaa7419b
00:16 Geth ¦ MoarVM: c230598af5 | (Samantha McVey)++ | .gitignore
00:16 Geth ¦ MoarVM: Add callgrind files to .gitignore
00:16 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c230598af5
00:16 samcv gonna generate cover again now actualy. curious about looking at thet function
00:26 samcv wow timotimo https://cry.nu/coverage/libmoar/coverage/home/samantha/git/MoarVM/src/strings/ops.c.html#L1225
00:26 samcv that's super interesting. you can see which parts executed how much of that conditional
00:26 timotimo neat
00:27 timotimo i suppose we run with sgraphs == 0 real often
00:27 timotimo say, could we benefit from recording at what grapheme offset we discovered that our concat is no longer stable?
00:27 timotimo so our re_nfg can skip the first n graphs?
00:27 samcv that would be very nice
00:28 samcv i have been dreaming recently about re_nfg
00:28 samcv for the concat op
00:29 samcv can i shorten a string, by calling free on some of the bytes at the end?
00:29 samcv and changing the number of graphs obviously
00:30 samcv but can that be done without causing anything weird to happen?
00:30 timotimo no, you cannot free part of an area that's been malloced
00:30 timotimo if you want to change the size of an area, you can realloc
00:30 timotimo which will copy data over for you
00:30 timotimo but you have to give it the original pointer to the start of the area
00:30 samcv that moves the whole thing right
00:30 timotimo yeah
00:30 samcv :\
00:31 timotimo otherwise you'd have to malloc a new place and copy over only the parts you want
00:31 samcv faster than re_nfg the whole string though
00:33 samcv http://en.cppreference.com/w/c/memory/realloc this seems to say it can be done by resizing the area
00:33 samcv but it looks like i cannot count on a) or b) to happen
00:33 timotimo yes, but only in some instances
00:33 samcv yeah
00:33 samcv hm
00:33 samcv can i just not realloc
00:33 samcv and change the number of codepoints
00:33 timotimo yeah, you can
00:33 samcv cool.
00:34 timotimo it'd be problematic if it used the FSA
00:34 timotimo the FSA relies upon you having the exact size available when you free it
00:36 samcv FSA = finite state automato?
00:37 timotimo nope, fixed sized allocator
00:38 samcv that makes way more sense
00:39 samcv where is the code that free's strings?
00:39 samcv does it use the graphs to dealloc it?
00:39 timotimo the graphs?
00:40 samcv grapheme length
00:40 timotimo the code should be in 6model/reprs/MVMString.c
00:40 timotimo like gc_free or something
00:41 timotimo oh btw
00:41 timotimo there's another competitor to appimages: http://flatpak.org/
00:41 samcv yeah
00:42 samcv hmm
00:42 samcv oh yeah reminds me what i was doing before i loqked at the PR
00:42 timotimo flatpack aka xdg-app
00:42 samcv do you need to install flatpack?
00:42 samcv to use apps
00:43 timotimo i have no idea
00:43 samcv i think so.
00:44 timotimo Flatpak is designed to run inside a desktop session and relies on certain session services, such as a dbus session bus and a systemd --user instance. This makes Flatpak not a good match for a server.
00:44 timotimo However, the build features of Flatpak run fine outside a session, so you can build things on a server.
00:45 samcv hmm
00:45 timotimo ah, yeah, you "flatpack run ..."
00:45 samcv ok i changed all the directories in the files. heh
00:45 timotimo like "flatpack run org.perl6.rakudostar" or something
00:45 samcv now gonna see if i can get this appimage working
00:45 samcv hmm. both are cool
00:45 timotimo i should really be going now :)
00:46 timotimo good luck!
00:46 samcv well i can't launch the program. i get a segfault
00:46 timotimo perfect
00:47 samcv i did that on purpose!
00:47 timotimo failure is the only path toward success
00:47 timotimo fail early, fail often
00:47 timotimo -> succeed gloriously
00:47 samcv uh paths are to ././/bin/../share/nqp/lib/MAST/Ops.nqp
00:48 samcv ohhhhh i get it
00:48 samcv same number of characters. sneaky
00:48 samcv that's why i destroyed everything
00:49 samcv hopefully my directory is an even number of characters long
00:49 timotimo that sounds very robust
00:49 timotimo oh, you're padding it with ./././././ on the left?
00:49 samcv yes
00:50 timotimo yeah, um, i'll leave now, k?
00:50 samcv XD
00:50 samcv i guess you could install it in /6
00:50 samcv and then just replace it with ./
00:51 samcv and it would not be silly
01:16 mst normal approach here is /tmp/zzzzzzzzzzzzzzzzzzz/ and then overwrite and truncate the C strings in the binaries
01:19 samcv this sounds much better http://listaller.tenstral.net/docs/chap-Listaller-App-Development.html#sect-Listaller-App-Development-Relocation
01:20 samcv you just compile it in with your program and uh
01:20 samcv magic
01:20 samcv theoretically
01:48 ilbot3 joined #moarvm
01:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
01:56 mst samcv: depending on the goal, http://nixos.org/patchelf.html ?
02:38 Guest20495 joined #moarvm
03:46 samcv timotimo, do you think my memmem PR is ready now?
03:50 samcv 6 days till release. would like to merge sometime soon to give some breathing room
03:51 Geth ¦ MoarVM: 39919d9586 | (Samantha McVey)++ | src/strings/ops.c
03:51 Geth ¦ MoarVM: Have two part loop in collapse strands to make loop tighter when possible
03:51 Geth ¦ MoarVM:
03:51 Geth ¦ MoarVM: If we find out that we can't fit a string into 8 bits, we don't need to check
03:51 Geth ¦ MoarVM: anymore whether or not subsequent characters are > 127 or < -127.
03:51 Geth ¦ MoarVM:
03:51 Geth ¦ MoarVM: cygx++ for the suggestion
03:51 Geth ¦ MoarVM:
03:51 Geth ¦ MoarVM: Also eliminates the can_use_8bit variable
03:51 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/39919d9586
03:51 Geth ¦ MoarVM: ecf4e388aa | (Samantha McVey)++ | src/strings/ops.c
03:51 Geth ¦ MoarVM: Merge pull request #573 from samcv/strands2
03:51 Geth ¦ MoarVM:
03:51 Geth ¦ MoarVM: Have two part loop in collapse strands to make loop tighter when possible
03:51 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ecf4e388aa
04:54 mojca joined #moarvm
05:23 samcv just added some more nqp tests. so can have unicode strings be tested in the tests to
05:24 samcv up to 5,382 tests. very good. gonna restart travis and appveyor, though don't forsee any issues
06:54 Geth ¦ MoarVM/master: 11 commits pushed by (Samantha McVey)++
06:54 Geth ¦ MoarVM/master: review: https://github.com/MoarVM/MoarVM/compare/ecf4e388aa...e8231a303e
08:08 spebern joined #moarvm
08:11 domidumont joined #moarvm
08:17 domidumont joined #moarvm
09:10 spebern left #moarvm
09:15 samcv i added some tests that should theoritically catch off byte errors if i did my little/big endian properly https://github.com/perl6/nqp/commit/34b7c6981e02decdcf5e9e8cf57ea45779ec4c85
09:20 samcv i think i reversed the comments though heh
09:23 samcv anyway on little endian it should test this: (10000000 00000000 00000000 00000000) | (10000000 00000000 00000000 00000000)
09:24 samcv Err, this i mean, (10000000 00000000 00000000 00000000) | (10000000 00000000 00000000 00000000)
09:24 samcv somebody can correct be if i am wrong that \x[80]\x[100000] stored in 32bit numbers on little endian will be stored like that
09:26 Geth ¦ MoarVM: spebern++ created pull request #577: add CStructArray representation to embed structs inside of an array
09:26 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/577
09:56 Geth ¦ MoarVM: 400f159fc4 | (Samantha McVey)++ | build/Makefile.in
09:56 Geth ¦ MoarVM: Add 3rdparty/memmem.h to Makefile.in
09:56 Geth ¦ MoarVM:
09:56 Geth ¦ MoarVM: So make will detect if it has changed and act accordingly.
09:56 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/400f159fc4
10:58 zakharyas joined #moarvm
11:10 tomboy64 joined #moarvm
12:52 AlexDaniel joined #moarvm
13:21 mojca joined #moarvm
13:33 mojca left #moarvm
14:24 * Zoffix reminds about https://github.com/MoarVM/MoarVM/pull/570
14:27 Geth ¦ MoarVM: 1588653d0b | (Zoffix Znet)++ | tools/parse_coverage_report.p6
14:27 Geth ¦ MoarVM: Fix coverage parser
14:27 Geth ¦ MoarVM:
14:27 Geth ¦ MoarVM: Updates the parser to handle our new SETTING::src/core format
14:27 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1588653d0b
14:27 Geth ¦ MoarVM: 829c164a32 | timo++ | tools/parse_coverage_report.p6
14:27 Geth ¦ MoarVM: Merge pull request #570 from zoffixznet/fix-coverage-parser
14:27 Geth ¦ MoarVM:
14:27 Geth ¦ MoarVM: Fix coverage parser
14:27 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/829c164a32
14:27 timotimo thanks, Zoffix
14:29 Zoffix \o/
15:48 zakharyas joined #moarvm
15:59 domidumont joined #moarvm
16:04 Ven joined #moarvm
16:50 Geth ¦ MoarVM/master: 6 commits pushed by (Timo Paulssen)++
16:50 Geth ¦ MoarVM/master: 41c6be0dab | reorder MVMStaticFrameBody to save 16 bytes (thanks pahole)
16:50 Geth ¦ MoarVM/master: d1a7804877 | save 16 bytes in MVMCompUnitBody thanks to pahole
16:50 Geth ¦ MoarVM/master: f1d6a214db | save a whooping 24 bytes in MVMJitCode (thanks pahole)
16:50 Geth ¦ MoarVM/master: 60768a5da2 | save 8 bytes in MVMIOSyncStreamData (thanks pahole)
16:50 Geth ¦ MoarVM/master: f2f92bef94 | Save 8 bytes in SerializationRoot, 8 more in SerializationReader
16:50 Geth ¦ MoarVM/master: 17bf9b5c6c | put a few comments into MVMJitCode
16:50 Geth ¦ MoarVM/master: review: https://github.com/MoarVM/MoarVM/compare/829c164a32...17bf9b5c6c
16:50 timotimo memory usage is going to fall so hard
16:51 Zoffix :o
16:53 timotimo very old changes, btw
17:35 spebern joined #moarvm
17:44 stmuk_ joined #moarvm
18:47 spebern joined #moarvm
20:50 brrt joined #moarvm

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