Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2016-12-23

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

All times shown according to UTC.

Time Nick Message
01:14 japhb joined #moarvm
02:03 pyrimidi_ joined #moarvm
02:25 pyrimidine joined #moarvm
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:15 pyrimidi_ joined #moarvm
04:31 pyrimidine joined #moarvm
06:13 sivoais joined #moarvm
06:39 pyrimidi_ joined #moarvm
08:02 pyrimidine joined #moarvm
08:34 domidumont joined #moarvm
08:39 domidumont joined #moarvm
09:14 domidumont joined #moarvm
09:56 dalek MoarVM/even-moar-jit: df718f4 | brrt++ | / (6 files):
09:56 dalek MoarVM/even-moar-jit: Implement register naming macro
09:56 dalek MoarVM/even-moar-jit:
09:56 dalek MoarVM/even-moar-jit: This enables syntax like MVM_JIT_REG(RSP) to expand to
09:56 dalek MoarVM/even-moar-jit: MVM_JIT_ARCH_X64_RSP, which is used in the MVM_JIT_REGISTER_REQUIRE
09:56 dalek MoarVM/even-moar-jit: macro.
09:56 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/df718f4284
10:29 brrt joined #moarvm
10:30 brrt good * #moarvm
10:30 lizmat brrt o/
10:30 brrt \o lizmat
10:41 dalek MoarVM/even-moar-jit: 9ccafc7 | brrt++ | / (8 files):
10:41 dalek MoarVM/even-moar-jit: Allow for 'definition' tiles
10:41 dalek MoarVM/even-moar-jit:
10:41 dalek MoarVM/even-moar-jit: Definition tiles don't need an emit function but can operate as
10:41 dalek MoarVM/even-moar-jit: placeholders in the tiling process and as declarations of specific
10:41 dalek MoarVM/even-moar-jit: registers.
10:41 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/9ccafc74a2
10:47 brrt .... the additive effect of incremental change never ceases to amaze me
10:48 timotimo "how did this accumulate so much cruft? ... oh."
10:49 timotimo on the way to my parents, i drove by a city called Kruft
10:52 dalek MoarVM/even-moar-jit: e9d55ff | brrt++ | src/jit/x64/tile (3 files):
10:52 dalek MoarVM/even-moar-jit: Make more definitions out of tiles
10:52 dalek MoarVM/even-moar-jit:
10:52 dalek MoarVM/even-moar-jit: These 'tiles' had void implementations, anyway.
10:52 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/e9d55ff199
10:53 timotimo documentation void if tile removed
10:53 timotimo sorry. implementation void if tile removed*
10:53 brrt it can also be used to uncruft ;-)
11:00 vendethiel .oO( why did you name that file tiles.list and not tiles.lisp ) :P
11:01 timotimo hey ven
11:01 timotimo the moment lisp-like stuff gets mentioned, you appear! ;)
11:07 brrt if i named it tiles.lisp, people would assume it could do cons, car, cdr, and lambda
11:07 brrt and it can't do any of those :-P
11:07 timotimo hehe
11:07 timotimo fair enough
11:08 brrt (wouldn't be difficult to write, by the way.....)
11:08 timotimo we could implement car and cdr to get the first and second half of a machine word :P
11:08 brrt well, 32 bit pointers, 64 bit words...
11:13 brrt we're kidding, right, but in seriousness
11:13 brrt i think LISP is probably simpler to write in assembly than it is in C
11:14 timotimo :D
11:25 dalek MoarVM/even-moar-jit: a374a93 | brrt++ | / (4 files):
11:25 dalek MoarVM/even-moar-jit: Parse register annotations on tiles
11:25 dalek MoarVM/even-moar-jit:
11:25 dalek MoarVM/even-moar-jit: Required some additional flexibility in tile keyword syntax. Also rename
11:25 dalek MoarVM/even-moar-jit: the array of tile templates from tile_rules to tile_templates.
11:25 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/a374a93af1
11:33 dalek MoarVM/even-moar-jit: 694ff78 | brrt++ | docs/jit/plan.org:
11:33 dalek MoarVM/even-moar-jit: Update plan.org
11:33 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/694ff78d73
11:34 brrt it needs a tiny bit of thought to use the register requirements
11:34 brrt the good bit is:
11:34 timotimo beh, the org renderer github uses doesn't show the difference between DONE and TODO
11:34 brrt i can now (define (tc) reg:r14) and it will be correctly parsed as a 'void' tile (no emit function) that defines register r14
11:35 brrt oh, that sucks
11:35 brrt org is such a nice format and such a nice tool
11:35 timotimo i hear fantastic things about it all the time
11:35 timotimo one of my profs at uni used org to make all of his website
11:36 timotimo though i believe slides and such were all latex beamer
11:36 brrt which is something you can make org export to ;-)
11:36 brrt org exports to latex, to opendocument, to 'text', to a bunch of other things
11:37 timotimo fair enough :)
11:37 brrt i started using it after my thesis supervisor was using it. it was the only thing he was using emacs for, i was using emacs for anything but that, something had to change
11:38 brrt the next commit will hopefully remove the special-case logic in register.c to deal with TC/CU/STACK/LOCAL
11:38 timotimo :D
11:41 brrt seriously, i can't recommend it enough
11:41 timotimo i wanted to use a vim-org-thing at some point. didn't end up going through with it at all
11:43 brrt oh well :-) not sure if that would make 100% sense since org is also partially awesome because of the whole emacs ecosystem
11:45 timotimo nah, it's because i hate getting organized
11:45 brrt i'm not organized. it's my projects that become slightly less disorganized
11:46 brrt more to the point, it's an excellent way to keep track of project state if you have to interrupt them many times
11:46 timotimo mhm
11:46 timotimo i know all about interrupting projects many times!
11:50 brrt indeed
11:50 brrt as do i
11:51 brrt for instance, in the GridKit project i'm developing, I know that there's stuff I need to investigate regarding to line lengths. I don't know exactly what, but the org file i maintain does, so that next time i have some time for it, I'll know what to do
11:53 timotimo i should do something similar for all my little perl6-related projects
11:55 brrt come over... to the GNU side (muhahaha)
12:02 pyrimidine joined #moarvm
12:10 lizmat .tell jnthn as a datapoint: t/spec/S11-modules/nested.t  very occasionally flaps (no tests seen) for me (like less then 1/20)
12:10 yoleaux2 lizmat: I'll pass your message to jnthn.
13:16 brrt joined #moarvm
13:18 brrt i've killed rakudo settings build again
13:22 timotimo oh, oops
13:23 lizmat well, that's a starting point  :-)
13:29 brrt :-)
13:29 brrt i'll figure out why soon enough
13:29 brrt jit-bisect again
13:34 brrt so for my next magic trick, i'm thinking of reducing the size of MVMJitExprNode to 32 bits, and write a macro to 'split' 64 bit values into two parts
13:35 timotimo what, car and cdr? :)
13:46 brrt now i'm going to call that macro CARCDR. thanks
13:49 lizmat timotimo: re sort and having the || nqp::cmp_i($a,$b) in each comparator: does Perl6 guarantee the order of elements considered to be the same ?
13:54 timotimo you mean whether or not sort is stable?
13:54 lizmat I guess
13:54 timotimo i'm not sure we guarantee that
13:54 timotimo could randomize considered-same-elements and see if spec tests break
13:55 lizmat I mean: *if* we guarantee that, then maybe we should do that in p6store internally
13:55 lizmat if we don't, then we can simplify the default sort
13:55 lizmat will spectest
13:56 timotimo there's a known set of sort algorithms that are stable vs ones that are not; it could be warranted to offer a stable-sort or sort :stable to our users for special cases
13:56 timotimo and if the user doesn't specify it, we're free to choose whatever
13:57 timotimo i hear many will start with quicksort and if the run time seems bad, it'll turn into merge/heap sort on the fly
14:14 lizmat timotimo: non-stable sort has quite a few spectest errors
14:16 lizmat timotimo: do you happen to know if p6sort is used in other places than src/core/*.pm ?
14:16 timotimo i don't think it was
14:17 timotimo hell, i even (had to?) re-implement sorting for the profiler output
14:32 lizmat afk&
15:15 brrt joined #moarvm
15:24 brrt i might want to robustify the bisecter a bit
15:26 dogbert17 joined #moarvm
16:07 nwc10 .tell jnthn new ASAN barfage from spectest6: http://paste.scsys.co.uk/540350
16:07 yoleaux2 nwc10: I'll pass your message to jnthn.
16:08 timotimo uh oh
16:08 nwc10 yes, but "new" is probably "new to me"
16:08 nwc10 likely it's not a new cause
16:08 timotimo oh, i didn't put compunit_string_mem_share back in
16:08 nwc10 I rarely run the Perl 6 harness
16:09 timotimo so we have a realloc that's invalidating some internal pointers?
16:09 nwc10 I really don't know.
16:09 nwc10 I can play teddy bear
16:09 nwc10 but I can't actually say anythign useful
16:09 nwc10 other than "this might be a really old bug, and it might hit only really rarely"
16:10 timotimo hehe
16:16 timotimo that's kinda strange
16:16 zakharyas joined #moarvm
16:17 timotimo all i can imagine is you hit the exact moment where realloc was happening
16:17 timotimo like, one thread was accessing cu->strings, then it was getting strings[idx]
16:17 timotimo and in between that, realloc wrote a new address to cu->strings
16:18 timotimo i know how we can fix this
16:18 timotimo we can use the "free at safepoint" mechanism for this
16:25 vendethiel- joined #moarvm
16:31 timotimo huh, we realloc to add one single slot every time we add a string ... but it's only needed for inlining across CUs anyway ...
17:13 timotimo maybe we want a "fixed_size_increase_needs_copy" or something
17:13 timotimo so we don't have to memcpy all the darn time
17:54 FROGGS joined #moarvm
17:58 Ven joined #moarvm
19:08 dalek MoarVM/even-moar-jit: 9fc2eeb | brrt++ | src/jit/register.c:
19:08 dalek MoarVM/even-moar-jit: Should clear the values array after use
19:08 dalek MoarVM/even-moar-jit:
19:08 dalek MoarVM/even-moar-jit: This should never break anything, but did anyway, during CORE.setting
19:08 dalek MoarVM/even-moar-jit: compilation. Possibly because undefined value reading optimization
19:08 dalek MoarVM/even-moar-jit: nonsense. And this fixes it.
19:08 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/9fc2eebb91
20:26 lizmat timotimo: do you have any emotional attachment to the p6sort code ?
20:28 timotimo i do not
20:29 lizmat ok, then I will do some surgery which *may* cause the complete removal of p6sort
20:31 timotimo that's fair
20:47 lizmat hmmm... if the proto "is nodal", do we need to repeat that on the multi candidates ?
20:48 timotimo hm, i don't think so. but it's a good question
21:41 domidumont joined #moarvm
22:45 pyrimidine joined #moarvm
23:01 geekosaur joined #moarvm

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