samcv | i just added something to my shell. a `gcd` command. i run gcd and it will cd into directories inside ~/git to two levels of depth. and i even have instant autocomplete | 00:04 | |
since i spend so much time cding into git directories lol | |||
pretty nifty cry.nu/files/konsole9.webm | 00:10 | ||
[Tux] | This is Rakudo version 2017.06-73-ge4f3358fa built on MoarVM version 2017.06-14-g888b33d1 | 05:33 | |
csv-ip5xs 2.672 | |||
test 12.702 | |||
test-t 4.042 - 4.129 | |||
csv-parser 13.502 | |||
lizmat | Files=1207, Tests=62913, 219 wallclock secs (13.02 usr 5.02 sys + 1325.17 cusr 134.60 csys = 1477.81 CPU) | 08:56 | |
Geth | roast: abdf23ff6d | (Elizabeth Mattijsen)++ | S03-operators/set.t Remove (-) tests better tested in difference.t |
10:22 | |
timotimo | YW, i'll go ahead and delete the file | 15:11 | |
jdv79 | i didnt get it | 15:13 | |
on my ohone | |||
phone | |||
timotimo | whoops | 15:14 | |
ok, easy enough to put it back up | |||
it's back | |||
jdv79 | its 45k? | 15:15 | |
timotimo | yup | 15:18 | |
jdv79 | got it then | 15:21 | |
jnthn | Darn, getting the /win 25 | 15:50 | |
gah | |||
Darn, getting the proc async stuff making the descriptor available in a natural way with the existing API that simultaneously not lead users to write races into their code has been a bit of an effort... | 15:51 | ||
Should be pretty close to having $async-proc-b.bind-stdin($async-proc-b.stdout) Just Work (and actually plumb the descriptors together, not copy), though | 15:54 | ||
AlexDaniel | greppable6: \.\.['"] | 15:55 | |
greppable6 | AlexDaniel, gist.github.com/c1b6349cb67de10c98...fd7efb9dab | ||
AlexDaniel | greppable6: \.\.['"][^ ] | 15:57 | |
heyā¦ | |||
āMalformed UTF-8ā somewhere, hm | 15:59 | ||
greppable6: \.\.['"][^ ] | |||
wellā¦ | |||
( github.com/perl6/whateverable/issues/153 ) | 16:00 | ||
Geth | nqp: 3b3aa8ce42 | (Jonathan Worthington)++ | tools/build/MOAR_REVISION Bump MOAR_REVISION for async process changes. |
16:11 | |
nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...9-ga51ba62 316d2ef15e | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp |
|||
nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...9-ga51ba62 c5fc79f5e0 | (Jonathan Worthington)++ | 2 files |
|||
Ā¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...9-ga51ba62 | |||
rakudo/nom: 823011281d | (Jonathan Worthington)++ | 3 files Allow getting native descriptor in Proc::Async. This takes advantage of recent MoarVM changes in order to allow the created stdout and stderr pipes to be used either for their data (by tapping the returned object) or for the file descriptor. This is done by making `stdout` and `stderr` return a `Proc::Async::Pipe`, which is a subclass of `Supply` (for full back-compat), but with the addition ... (18 more lines) |
16:12 | ||
lizmat is looking forward to jnthn's blog post about ^^^ :-) | 16:31 | ||
jnthn | Will continue working on that stuff tomorrow :) | 16:42 | |
dinner cooking & | |||
timotimo is bisecting the profiler crashyness | 21:09 | ||
i tracked it down to be either b3345651648645e1d3af6961226587f8cc87db28 or 0837bd3257eef9e5a8468ef73db2cb1152a57fd7 | 21:13 | ||
github.com/MoarVM/MoarVM/commit/b3...f8cc87db28 - Handle value use decrements in instruction delete | |||
github.com/MoarVM/MoarVM/commit/08...1152a57fd7 - When deleting a BB, decrement instruction usages. | 21:14 | ||
so i wonder if we're playing it fast and loose with usages somewhere when *adding* instructions | 21:15 | ||
so maybe we're adding instructions that get deleted in a later part of spesh and that gets our usage down to 0 when it should be 1 | 21:16 | ||
jnthn | timotimo: Mebbe, though I'd expect that to be much more broadly noticable than in the profielr | 21:20 | |
timotimo | hm, the profiler puts its stuff in there in a pre-optimize-stage, right? so the usage counts ought to be correct by virtue of constructing the full SSA from the profiler's flat output? | 21:21 | |
jnthn | Yeah | ||
timotimo | there goes that theory, i guess | ||
m( turns out "c" in gdb isn't short for "call" | 21:27 | ||
this dump of run_nfa definitely has a BB in it that is unreachable | 21:38 | ||
that's strange. | |||
BB 1 ends in goto BB(3) | |||
2 has predecessors 2 and 3 | 21:39 | ||
but 3 ends in return_o | |||
so nfa_run_alt is being called with a labels parameter of null, i.e. low-level null pointer | 21:42 | ||
that comes straight from the argument number 5, which the spesh candidate has a guard for, which is "this must be concrete" | 21:43 | ||
okay, the register that goes there comes straight from !alt's argument number 3 | 21:44 | ||
which, interestingly enough, does have a value there | 21:45 | ||
but the .work[3].o is a null pointer at that point | 21:47 | ||
maybe i can get at this with rr | |||
DeadDelta | What does "BB" stand for? | ||
jnthn | Basic Block | ||
DeadDelta | Also, what's "deopt"? | ||
jnthn | Short for deoptimization | 21:48 | |
DeadDelta | hm. OK. Thanks. | ||
jnthn | We do speculative optimization - that is, make assumptions about what types will show up at runtime | ||
DeadDelta | And when assumptions fail, we "deopt"? | ||
jnthn | If we guess wrong, we deoptimize - that is, fall back to the interpreted slow-path code - to handle the unexpected/uncommon case | ||
DeadDelta | Cool. | 21:49 | |
jnthn | It's not an entirely simple process, since we may be inside of multiple levels of inlined code, and when we deopt we have to recreate the real call stack again | ||
DeadDelta: In docs.perl6.org/type/IO::Path#method_child it says it will " be switched to secure version around 6.d release time" - what is the secure version called today? | 21:54 | ||
DeadDelta | jnthn: it doesn't exist. It's just commented out code: github.com/rakudo/rakudo/blob/nom/...#L374-L396 | 21:55 | |
jnthn: basically the discussion decided that instead of adding a special method that users would have to know to make secure child, we should make child itself secure, but due to large ecosystem usage and lack of guarantee it's secure (e.g. old compilers that have `use v6.c`) pushed that switch to 6.d | 21:57 | ||
+ .add was too new to tell people to just switch to using it if they want the fast, non-secure .child | |||
jnthn | ah, ok | ||
Ah, but it works in terms of using .resolve(:completely) | |||
DeadDelta | Yes | ||
jnthn | Which was what I was thinking of faking it in terms of :) | ||
OK | |||
DeadDelta | And there's a module users can use today, if needed | 21:58 | |
buggable: eco secure | |||
buggable | DeadDelta, IO::Path::ChildSecure 'Secure version of IO::Path.child': github.com/zoffixznet/perl6-IO-Path-ChildSecure | ||
jnthn | Oh, cool | ||
timotimo | from the number of "null" calls it did it looks kind of like i'm not in the speshed version of this function, actually | 22:13 | |
i can't find a version of this in the speshlog that corresponds to the ops i'm seeing in the interpreter | 22:15 | ||
i.e. i see getarg_o followed by profile_log_allocated | 22:16 | ||
in the interpreter | |||
jnthn | The profiler form doesn't appear in the spesh log I guess | ||
timotimo | i don't like that much :) | ||
jnthn | oh, but sp_getarg_o would only be in such a form | ||
Uh, a spesh'd form I mean | |||
timotimo | ah, indeed | ||
11 nulls | 22:17 | ||
i do see prof_allocated entries in the speshlog in other places | 22:19 | ||
jnthn | Sleep time here, and for once it's a nice temperature for sleeping | 22:20 | |
o/ | |||
timotimo | yay! | 22:21 | |
have a good sleep :) | |||
i found where i'm executing | 22:22 | ||
it's the version of run_alt that had its logging stuff inserted | |||
now i notice i'm in the frame that already got the null passed in via a parameter m( | 22:25 | ||
so i need to go up an mvm frame | |||
i really need to add many more gdb commands | 22:29 | ||
especially a disassembler would be nice to have | 22:35 | ||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/06/26/...way-there/ | 22:36 | |
timotimo | oh i seem to remember the "where are colons used" idea was announced at least a month in advance of TPC2017 | 22:40 | |
lizmat++ | 22:43 |