github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 4 May 2018.
00:27 dalek joined, p6lert joined, Geth joined, synopsebot joined 01:57 ilbot3 joined
moderator github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
samcv timotimo: odd... can you choose my name by chance? 05:39
10:25 Kaypie joined 10:26 Kaypie joined 11:32 Ven`` joined 11:33 Ven` joined
timotimo i'll try and see what happens 11:56
i chose samcv but it looks no different from when i chose timo
oh 11:57
my "projects" list now has a bunch of samcv/foo in them instead of mine, but the top right still says "timo"
seems like it allows me to change settings on your projects?
Geth MoarVM: bdw++ created pull request #854:
We can haz moar JIT-compiled opcodes
12:21
12:21 brrt joined 12:38 domidumont joined 12:46 domidumont joined
timotimo i just figured out how best to fix the "profiler leaves frames skipping over inlines and doesn't realize it" issue 13:18
13:18 brrt joined
timotimo we basically have a representation of the stack in the node structure of the profiler data 13:19
so if i store a little flag in the nodes when something is entered, i can pop the right amount of nodes off if i know whether we're doing an inlined-frame-leave or a regularly-entered-leave, plus a bit of cleverness regarding OSR 13:21
MasterDuke timotimo: nice 13:27
timotimo nedroid.com/2018/05/driven-to-greatness/ 13:28
MasterDuke ha 13:30
timotimo ok, looking at the code actually, we do already record the enter mode 14:03
so i'll just have to use it when leaving i suppose
dogbert17 o/ 14:07
MasterDuke timotimo: will this fix crashes, or make the profiler more accurate? 14:10
timotimo this ought to properly fix the case where call trees get nested far too deep
i.e. loops turning into deep graphs 14:11
MasterDuke ah, cool 14:12
timotimo hmm. now how do i dig out a piece of code that triggered the problem ... 14:19
well, that plan failed :) 14:21
yeah, that wasn't correct :\\ 14:22
Geth MoarVM/pluggable-spesh: a6e45a7cc8 | (Jonathan Worthington)++ | src/spesh/facts.c
Correct inverted condition
14:39
dogbert17 notes people working hard on a saturday :) 14:41
14:48 Kaiepi joined
Geth MoarVM/pluggable-spesh: 13a5955e30 | (Jonathan Worthington)++ | 3 files
Transform speshresolve into spesh slot lookup

So long as there's a stable reuslt. Currently does not emit any guards, so will fail to deopt when it should.
15:04
jnthn Now I need to write some tests that actually need the deopt :) 15:09
Well, next. Not right now. It is Saturday. :-) 15:10
dogbert17 suggests some kind of cooling liquid if the temps are high 15:20
jnthn 21C, which isn't too bad :)
Tsssk, the deopt will be a bit more complicated 15:21
dogbert17 wel then :)
*well
jnthn Since we need to deopt to the prepargs 15:22
timotimo we can't just jump to before the prepargs and do it again?
jnthn Yes
Actually, I was reading some paper recently where they pointed out that you can actually always deopt to the last non-side-effecting instruction 15:23
timotimo that makes sense
jnthn Which might let us avoid more instruction retention for deopt
timotimo oh, right!
that could be worth a lot 15:24
jnthn Indeed
Of course, it's deopt, so it'll be a mild headache to actually do it :-)
timotimo sure
jnthn Hmm, I wonder how we can efficiently do it 15:25
I guess we can check instruction purity at CFG construction time, and maybe when we see a deopting instruction record the last non-pure or something 15:26
15:44 brrt joined
jnthn Anyway, ended up writing the failing test that needs the deopt :) 15:44
Now I need to either deal with its unusual situation with regards to wanting to be at the start of the prep args, or maybe try and tackle the more general "last pure point" challenge. :) 15:45
jnthn goes to marinate chicken for tonight's curry and ponder that a bit :) 15:49
15:51 zakharyas joined
timotimo mhhh 15:53
17:11 SourceBaby joined 18:17 brrt joined 20:04 squashable6 joined 20:17 brrt joined