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