[00:00] <buggable> 🎺🎺🎺 It's time for the monthly Accidental /win Lottery 😍😍😍 We have 2 ballots submitted by 2 users! DRUM ROLL PLEASE!...
[00:00] <buggable> And the winning number is 10! Congratulations to nine! You win a roll of duck tape!
[01:57] *** ilbot3 joined
[01:57] *** moderator changes topic to: https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
[07:47] *** domidumont joined
[07:54] *** domidumont joined
[08:01] *** robertle joined
[08:26] *** brrt joined
[08:26] <Geth> ¦ MoarVM: 8130881b36 | (Bart Wiegmans)++ | tools/spesh-time.p6
[08:26] <Geth> ¦ MoarVM: [Tools] report time spent on JIT
[08:26] <Geth> ¦ MoarVM:
[08:26] <Geth> ¦ MoarVM: Commit f2b9b7f4f0e98 added time logging for the JIT, so we can see the
[08:26] <Geth> ¦ MoarVM: time spent JITting compared to just specializing code.
[08:26] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/8130881b36
[09:14] <jnthn> morning o/
[09:26] <brrt> morning
[09:27] <jnthn> brrt: Spotted one more issue on your PR, but other than that I think let's give it a try :)
[09:28] <Geth> ¦ MoarVM/spesh-limit-debug-log: 4 commits pushed by (Bart Wiegmans)++
[09:28] <Geth> ¦ MoarVM/spesh-limit-debug-log: 0a745d26ae | [Spesh] Wrap debug printing
[09:28] <Geth> ¦ MoarVM/spesh-limit-debug-log: 33863ee946 | [Spesh] Log graph of inlinee prior to inlining
[09:28] <Geth> ¦ MoarVM/spesh-limit-debug-log: 9c8f425c36 | Fix makefile indentation
[09:28] <Geth> ¦ MoarVM/spesh-limit-debug-log: 06deab7cce | More indentation fixes
[09:28] <Geth> ¦ MoarVM/spesh-limit-debug-log: review: https://github.com/MoarVM/MoarVM/compare/abf573ab1cc9...06deab7cced9
[09:28] <brrt> :-)
[09:28] <brrt> thanks
[09:28] <Geth> ¦ MoarVM/master: 5 commits pushed by (Bart Wiegmans)++
[09:28] <Geth> ¦ MoarVM/master: 0a745d26ae | [Spesh] Wrap debug printing
[09:28] <Geth> ¦ MoarVM/master: 33863ee946 | [Spesh] Log graph of inlinee prior to inlining
[09:28] <Geth> ¦ MoarVM/master: 9c8f425c36 | Fix makefile indentation
[09:28] <Geth> ¦ MoarVM/master: 06deab7cce | More indentation fixes
[09:28] <Geth> ¦ MoarVM/master: 18f8db6801 | Merge pull request #842 from MoarVM/spesh-limit-debug-log
[09:28] <Geth> ¦ MoarVM/master: review: https://github.com/MoarVM/MoarVM/compare/8130881b36b0...18f8db68017d
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: c2bd6abafb | (Jonathan Worthington)++ | 10 files
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: Stub the spesh plugin ops
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: review: https://github.com/MoarVM/MoarVM/commit/c2bd6abafb
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: 4b2bc61fdb | (Jonathan Worthington)++ | src/mast/compiler.c
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: Implement bytecode assembly for speshresolve
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: review: https://github.com/MoarVM/MoarVM/commit/4b2bc61fdb
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: a4b8cdab3e | (Jonathan Worthington)++ | 3 files
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: Implement spesh plugin registration/resolution
[09:33] <Geth> ¦ MoarVM/pluggable-spesh:
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: Since the lookup only happens on a miss, the lock here is probably not
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: going to be too highly contended over. We can revisit that if profiling
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: suggests otherwise (with some kind of read-only lookup).
[09:33] <Geth> ¦ MoarVM/pluggable-spesh: review: https://github.com/MoarVM/MoarVM/commit/a4b8cdab3e
[09:37] <jnthn> Just a rebase. :)
[09:37] <jnthn> Now let's see how far I can get this thing...
[09:51] *** zakharyas joined
[09:52] *** Ven`` joined
[09:53] *** Ven`` joined
[10:03] *** Ven`` joined
[10:43] *** brrt joined
[12:38] <domidumont> Cool. Rakudo is built for all arch on Debian. https://buildd.debian.org/status/package.php?p=rakudo . Debian testing is going to get rakudo back :-)
[12:40] <moritz> \\o/
[12:40] <moritz> domidumont++
[12:43] *** AlexDaniel joined
[12:59] *** lizmat joined
[13:28] *** domidumont joined
[13:35] <Geth> ¦ MoarVM/pluggable-spesh: 6f158fe8bf | (Jonathan Worthington)++ | 6 files
[13:35] <Geth> ¦ MoarVM/pluggable-spesh: Implement spesh plugin resolution by position
[13:35] <Geth> ¦ MoarVM/pluggable-spesh:
[13:35] <Geth> ¦ MoarVM/pluggable-spesh: We currently don't pay any attention to the guards, meaning that once
[13:35] <Geth> ¦ MoarVM/pluggable-spesh: a plugin produces a value, that will always be used. This gets the
[13:35] <Geth> ¦ MoarVM/pluggable-spesh: basic infrastructure for caching by bytecode position working, however.
[13:35] <Geth> ¦ MoarVM/pluggable-spesh: review: https://github.com/MoarVM/MoarVM/commit/6f158fe8bf
[13:37] <[Coke]> domidumont++
[13:56] *** brrt joined
[14:00] *** zakharyas joined
[14:10] <Geth> ¦ MoarVM: 429b57795e | MasterDuke17++ (committed by Daniel Green) | src/jit/core_templates.expr
[14:10] <Geth> ¦ MoarVM: Put jit templates in same order as ops in interp.c
[14:10] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/429b57795e
[14:10] <Geth> ¦ MoarVM: 1003874b2e | MasterDuke17++ (committed by Daniel Green) | src/jit/core_templates.expr
[14:10] <Geth> ¦ MoarVM: Make formatting of all jit templates consistent
[14:10] <Geth> ¦ MoarVM:
[14:10] <Geth> ¦ MoarVM: This is all formatting/whitespace, no code changes.
[14:10] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1003874b2e
[14:10] <Geth> ¦ MoarVM: 2db92e93cd | (Bart Wiegmans)++ (committed using GitHub Web editor) | src/jit/core_templates.expr
[14:10] <Geth> ¦ MoarVM: Merge pull request #852 from MasterDuke17/reorder_jit_templates_to_match_op_order_in_interp.c
[14:10] <Geth> ¦ MoarVM:
[14:10] <Geth> ¦ MoarVM: Clean up src/jit/core_templates.expr a bit
[14:10] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/2db92e93cd
[14:34] *** lizmat joined
[14:35] *** lizmat_ joined
[14:41] <Geth> ¦ MoarVM/pluggable-spesh: e75154cf4a | (Jonathan Worthington)++ | 3 files
[14:41] <Geth> ¦ MoarVM/pluggable-spesh: Prepare data structures for plugin guards
[14:41] <Geth> ¦ MoarVM/pluggable-spesh: review: https://github.com/MoarVM/MoarVM/commit/e75154cf4a
[15:03] *** Ven`` joined
[15:26] *** lizmat joined
[15:30] *** domidumont joined
[15:33] *** robertle joined
[15:34] *** zakharyas joined
[15:50] <samcv> so it turns out if uthash has a fatal error moarvm will just segfault. noticed while looking at uthash.h
[15:54] <samcv> though it could be we are defining uthash_fatal wrong, because it seems to be not defined in uthash.h so then it will call exit(-1) instead of what we want
[15:54] *** brrt joined
[15:55] <samcv> or maybe i was the one assuming things wrong. since it seems to be working. well that's good :)
[15:57] <timotimo> i don't know what kind of fatal error uthash can encounter, aside from things like "there isn't any memory left" maybe
[16:07] <brrt> how can we get 'random' order of spesh frames with MVM_SPESH_BLOCKING
[16:10] *** Ven`` joined
[16:11] <lizmat> hash?
[16:11] <yoleaux> 14:18Z <Zoffix> lizmat: If you have any Wordpress theming experience: looks like it's hard to reach RSS feeds for the Weekly: https://github.com/perl6/user-experience/issues/21
[16:11] <jnthn> brrt: threads?
[16:11] <lizmat> .tell Zoffix I have 0 experience with Wordpress theming experience
[16:11] <yoleaux> lizmat: I'll pass your message to Zoffix.
[16:11] <Geth> ¦ MoarVM/pluggable-spesh: 931f5b07de | (Jonathan Worthington)++ | 4 files
[16:11] <Geth> ¦ MoarVM/pluggable-spesh: Implement spesh plugin guard recording obj case
[16:11] <Geth> ¦ MoarVM/pluggable-spesh:
[16:11] <Geth> ¦ MoarVM/pluggable-spesh: This adds the infrastructure for spesh plugin guard recording and
[16:11] <Geth> ¦ MoarVM/pluggable-spesh: adding them to the guards table. It then uses it to implement the
[16:11] <Geth> ¦ MoarVM/pluggable-spesh: literal match guard.
[16:11] <Geth> ¦ MoarVM/pluggable-spesh: review: https://github.com/MoarVM/MoarVM/commit/931f5b07de
[16:19] *** zakharyas joined
[16:20] <jnthn> Time for a break, but glad to have got a start on that :)
[16:26] <brrt> prolly, innit
[16:31] <brrt> although i'm not seeing them
[16:55] <brrt> maybe precompilation...
[17:32] <jnthn> If it's precomp then it's threads too, 'cus it uses Proc::Async to spawn the process to do the precomping
[17:48] <brrt> i see
[17:48] <brrt> i thought as much
[18:36] *** Ven`` joined
[18:44] <jnthn> I found https://queue.acm.org/detail.cfm?id=3212479 an interesting read
[18:45] <brrt> i have the same article in front of me :-)
[19:43] *** zakharyas joined
[20:06] *** brrt joined
[20:17] *** zakharyas joined
[21:23] *** shareable6 joined
[22:13] <Geth> ¦ MoarVM/pluggable-spesh: 5e461b7e77 | (Jonathan Worthington)++ | 2 files
[22:13] <Geth> ¦ MoarVM/pluggable-spesh: Concreteness and type guards for spesh plugins
[22:13] <Geth> ¦ MoarVM/pluggable-spesh: review: https://github.com/MoarVM/MoarVM/commit/5e461b7e77
[22:14] *** Ven`` joined
[23:05] <Geth> ¦ MoarVM/pluggable-spesh: 1292ae44cc | (Jonathan Worthington)++ | src/spesh/plugin.c
[23:05] <Geth> ¦ MoarVM/pluggable-spesh: Implement plugin guards on fetched attributes
[23:05] <Geth> ¦ MoarVM/pluggable-spesh: review: https://github.com/MoarVM/MoarVM/commit/1292ae44cc
[23:09] <jnthn> There we go. Tomorrow comes actually teaching the spesh facts/optimizer about these plugins.
[23:10] <jnthn> I think probably the best bet will be to add a spesh log entry saying which index we resolve to
[23:10] <jnthn> That means that we get to correlate with callsites and type tuples
[23:11] <jnthn> Which means that we statically polymorphic sites that are monomorphic within a given specialization can be easily identified as such
[23:11] <jnthn> s/that we/that/
[23:12] <jnthn> For ones that are polymorphic within the specializatin, didn't quite decide what to do yet, put probably will send it via the lookup
[23:12] <jnthn> Though in the future we can do a PIC or some such
[23:13] <jnthn> That should get us our private methods in roles optimization, anyway
[23:14] <jnthn> I guess the $obj.Foo::Bar() will also work out nicely that way
[23:14] <jnthn> Well, $obj.Foo::Bar::meth()
[23:15] <jnthn> Once those two are working I'll merge this lot and then dig into re-doing assignment.
