Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-05-31

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

All times shown according to UTC.

Time Nick Message
00:57 brrt joined #moarvm
05:49 mojca joined #moarvm
05:49 mojca left #moarvm
05:53 nwc10 "we have unknown Moar users?" "well, we're about to find out"
05:53 domidumont joined #moarvm
05:59 domidumont joined #moarvm
05:59 brrt joined #moarvm
06:00 brrt good * #moarvm
06:14 brrt so, the other side of the equation is, why not do copy uppropagation
06:14 brrt eh
06:14 brrt const
06:14 brrt the tl;dr is: rather than have the register allocator do the work to ensure we never spill a const
06:15 brrt why not replicate all const nodes
06:15 brrt (actually, i know part of the answer, which is that if we do that, we make common subexpression elimination that much more complex)
06:15 brrt but still, the idea that a const node always has just one referent, and that is not a copy, that seems like a legit optimizaton
06:16 brrt makes for better tiling, too
06:46 brrt joined #moarvm
06:51 AlexDaniel joined #moarvm
07:38 brrt so i'm going to put it on the optimizations queue
07:57 brrt idea
07:58 zakharyas joined #moarvm
07:58 brrt what if i add some functionality to insert a breakpoint in the JIT compiler at a specific point, and, what if i hide these things behind a debug compile flag
08:56 avarab joined #moarvm
08:56 avarab joined #moarvm
08:59 jnthn morning o/
09:00 Voldenet_ joined #moarvm
09:04 jnthn brrt: At some point we'll need to handle users inserting breakpoints into optimized code and how we'll cope with that :)
09:04 brrt thats actually a decent question
09:04 jnthn The const copy thing is the classic phase order issue. I guess "do CSE first" might be a way out of it.
09:04 brrt uhuh
09:04 jnthn But there's no general "best order" for optimizations.
09:04 jnthn If you know they all converge you can iterate to a fixed point
09:04 brrt part of the answer is 'make sure you have a 'user level breakpoint'
09:04 nwc10 I thought that Knuth's "best order" was don't :-)
09:04 nwc10 or, more "don't. don't. oh, go on then, if you really have to"
09:04 brrt well, some opts make some others impossible
09:04 brrt so yeah
09:04 jnthn nwc10: Life's a bit different for us, since we're trying to make the user's code run fast enough that *they* can follow the Knuth advice :)
09:05 nwc10 you and your sensible answers :-)
09:05 Voldenet joined #moarvm
09:06 * jnthn is surprised he can answer at all after sleeping pretty awfully :S
09:07 jnthn Ah, time to kill off write_str form the I/O vtable thingy
09:15 Geth ¦ MoarVM/remove-sync-char-io: 21de1c453f | (Jonathan Worthington)++ | 2 files
09:15 Geth ¦ MoarVM/remove-sync-char-io: Remove now-unused string constants.
09:15 Geth ¦ MoarVM/remove-sync-char-io: review: https://github.com/MoarVM/MoarVM/commit/21de1c453f
09:31 Geth ¦ MoarVM/remove-sync-char-io: e993fe5294 | (Jonathan Worthington)++ | 5 files
09:31 Geth ¦ MoarVM/remove-sync-char-io: Re-implement print/say debug output ops.
09:31 Geth ¦ MoarVM/remove-sync-char-io:
09:31 Geth ¦ MoarVM/remove-sync-char-io: They now encode and then write the bytes to the handle, in preparation
09:31 Geth ¦ MoarVM/remove-sync-char-io: for the string-based output API being removed.
09:31 Geth ¦ MoarVM/remove-sync-char-io: review: https://github.com/MoarVM/MoarVM/commit/e993fe5294
09:32 jnthn Righty, *now* I can kill it off :)
09:37 Geth ¦ MoarVM/remove-sync-char-io: bfca6545e8 | (Jonathan Worthington)++ | 7 files
09:37 Geth ¦ MoarVM/remove-sync-char-io: Remove string output from I/O layer.
09:37 Geth ¦ MoarVM/remove-sync-char-io:
09:37 Geth ¦ MoarVM/remove-sync-char-io: This completes the removal of char-level I/O.
09:37 Geth ¦ MoarVM/remove-sync-char-io: review: https://github.com/MoarVM/MoarVM/commit/bfca6545e8
09:37 jnthn Well, sort of
09:55 AlexDaniel joined #moarvm
09:58 committable6 joined #moarvm
10:56 Geth ¦ MoarVM/remove-sync-char-io: c1805fc76a | (Jonathan Worthington)++ | src/io/syncfile.c
10:56 Geth ¦ MoarVM/remove-sync-char-io: Remove use of decode stream in syncfile.
10:56 Geth ¦ MoarVM/remove-sync-char-io: review: https://github.com/MoarVM/MoarVM/commit/c1805fc76a
10:56 Zoffix \o
10:56 Zoffix I mean \o/
10:58 nwc10 stupid question, I think - what is it about that commit that is particularly \o/ ?
10:59 jnthn I'm not sure :P
10:59 jnthn Except the next step for syncfile will be eliminating libuv there
10:59 Zoffix Won't this work make stuff like `await start get` not crash?
11:00 jnthn Zoffix: Not that step alone, no, but that's what I'm working towards, yes :)
11:00 Zoffix Well, the \o/ was about the general thing :D
11:13 jnthn Lunch time; bbl
11:20 domidumont joined #moarvm
12:41 [Coke] https://trac.macports.org/ticket/54259 , btw. one person reporting a build error on an old version of OS X.
12:42 jnthn Heh, so I get back to my keyboard and the first thing I see is a tweet saying github have major service outrages...
12:42 jnthn *outages
12:42 lizmat yeah, my last push took about 30 seconds before it got through
12:43 jnthn timotimo: ^^ trac thing is telemetry related
13:08 Geth ¦ MoarVM/remove-sync-char-io: dff6a4198f | (Jonathan Worthington)++ | 3 files
13:08 Geth ¦ MoarVM/remove-sync-char-io: Eliminate decodestream for syncstream.
13:08 Geth ¦ MoarVM/remove-sync-char-io:
13:08 Geth ¦ MoarVM/remove-sync-char-io: And also, as part of that, syncpipe.
13:08 Geth ¦ MoarVM/remove-sync-char-io: review: https://github.com/MoarVM/MoarVM/commit/dff6a4198f
13:09 jnthn Alrighty, I think I'm going to merge this remove-sync-char-io branch 'cus, well, the char I/O is removed
13:09 jnthn And then will make a separate branch for giving syncfile its libuv-sectamy
13:09 jnthn syncstream is harder
13:09 jnthn Because of syncpipe still using it
13:10 jnthn Which is tied to libuv because of process stuff
13:10 jnthn Meaning sorting it out depends on the rewrite of Proc in terms of Proc::Async
13:11 jnthn That in turn depends on making Proc::Async on JVM
13:11 nwc10 I was about to type "that tower only has 4 yaks", and then a fifth appeared
13:11 jnthn As well as making Proc::Async do the things that Proc does but Proc::Async does not
13:11 nwc10 six
13:11 jnthn Yeah, indeed
13:12 jnthn This will in turn let us stop maintaining two sets of proc code
13:12 jnthn Which will be nice
13:13 Geth ¦ MoarVM/master: 12 commits pushed by (Jonathan Worthington)++
13:13 Geth ¦ MoarVM/master: review: https://github.com/MoarVM/MoarVM/compare/f53265f27a...dff6a4198f
13:14 jnthn 23 files changed, 182 insertions(+), 764 deletions(-)
13:14 lizmat whee
13:14 jnthn That's the kind of merge I like :)
13:16 brrt :-o wow
13:16 brrt jnthn++
13:27 brrt anyway, re: breakpoint insertion
13:28 brrt i'm not sure if we do that at all at this point, and if it needs VM-level support
14:34 jnthn We don't yet. It will.
14:35 jnthn Remote debug API is somewhere on my list of things to design :)
14:37 brrt okay, well
14:37 brrt we can, if we're JITting, signal ourselves a breakpoint interrupt
14:37 brrt that's pretty easy
14:37 brrt not sure if it is the right thing to do, though
14:40 brrt i'm wondering if there isn't some data flow analyzer for assembly code
14:41 * jnthn digs his slightly frazzled brain back into syncfile
15:10 brrt joined #moarvm
15:14 KDr2 joined #moarvm
15:15 Geth ¦ MoarVM/sync-file-no-uv: 3734a1dcf8 | (Jonathan Worthington)++ | src/io/syncfile.c
15:15 Geth ¦ MoarVM/sync-file-no-uv: Eliminate libuv in the heart of syncfile.
15:15 Geth ¦ MoarVM/sync-file-no-uv:
15:15 Geth ¦ MoarVM/sync-file-no-uv: Still a handful of uses left, still be be eliminated.
15:15 Geth ¦ MoarVM/sync-file-no-uv: review: https://github.com/MoarVM/MoarVM/commit/3734a1dcf8
15:17 jnthn Happily, that doesn't regress spectest.
15:25 Geth ¦ MoarVM/sync-file-no-uv: e5ada450a2 | (Jonathan Worthington)++ | src/io/syncfile.c
15:25 Geth ¦ MoarVM/sync-file-no-uv: Implement truncate without libuv.
15:25 Geth ¦ MoarVM/sync-file-no-uv: review: https://github.com/MoarVM/MoarVM/commit/e5ada450a2
15:29 AlexDaniel joined #moarvm
15:37 Geth ¦ MoarVM/sync-file-no-uv: fef4f2e9b4 | (Jonathan Worthington)++ | 3 files
15:37 Geth ¦ MoarVM/sync-file-no-uv: Re-implement flush without using libuv.
15:37 Geth ¦ MoarVM/sync-file-no-uv:
15:37 Geth ¦ MoarVM/sync-file-no-uv: The Windows part is so far untested, so may have issues.
15:37 Geth ¦ MoarVM/sync-file-no-uv: review: https://github.com/MoarVM/MoarVM/commit/fef4f2e9b4
15:38 [Coke] jnthn: is the goal to completely remove libuv?
15:39 jnthn [Coke]: Only from sync I/O
15:39 jnthn For async, threading abstractions, etc. it's staying
15:40 jnthn Basically, it's going away for the places where we've been having trouble with the handle sharing issues
15:41 jnthn Where you couldn't accept a sync socket on one thread and then hand it off to another to work with (fixed already), or do stuff like prompt on a thread (what I'm sorting out now)
15:42 jnthn In those cases the APIs are relatively portable anyway
15:48 jnthn Enough for now...a bit tired.
15:53 brrt okay, breakpointing env var is on its way
15:56 brrt breakpointing env var works
16:21 domidumont joined #moarvm
16:37 robertle joined #moarvm
17:21 buggable joined #moarvm
19:36 AlexDaniel joined #moarvm
20:59 geekosaur joined #moarvm
22:07 dogbert17 joined #moarvm
22:54 sivoais joined #moarvm
23:08 samcv good ????
23:59 buggable ???????????? It's time for the monthly Accidental /win Lottery ???????????? We have 14 ballots submitted by 10 users! DRUM ROLL PLEASE!...

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