timo what are the facts of r0(2) and r26(2)? 00:15
MasterDuke `r0(2): usages=3, deopt=10,9,8,7,6,5,4,3,2, flags=9     KnTyp Concr (type: Perl6::Grammar)` 00:39
`r26(2): usages=1, flags=0`
timo ok, without any knowledge of what r26(2) is, we won't be able to do anything there 00:40
MasterDuke hm. so how do we teach spesh what's in there? 00:41
timo i have it in front of me here now also
getlexperinvtype_o r26(2), r25(1) <- this is where it comes from 00:42
MasterDuke ugh, don't know why my connection's so flaky this evening 00:44
timo we currently don't have a plan (MVMSpeshPlan that is) when inlining something where we didn't take an existing spesh candidate for an invocation target, which i think is what happens in the case of MARKED getting the fail cursor private method 00:51
that's what makes the getlexperinvtype optimization bail out
MasterDuke afk to run an errand, but hopefully will be back in a bit 00:54
MasterDuke gist.github.com/MasterDuke17/e1199...1a3d09c561 gets rid of all almost all those `getattr`s from MARKED 01:20
~1.8m fewer during CORE.c compile 01:21
`2793502 Perl6::Grammar.$!name   at NQP::src/QRegex/Cursor.nqp:1402  (/home/dan/Source/raku/install/share/nqp/lib/QRegex.moarvm:MATCH)` is the most common 01:24
and MARKED speshes smaller. 11 BBs instead of 14 01:45
but it still couldn't be inlined into `ws`, `could not inline 'MARKED' (98) candidate 0: bytecode is too large to inline` 01:46
it's 364 now instead of 436 before 02:10
switching gears, i notice at least on this laptop that stage mast is the 2nd longest. 33s for parse, 6.4s for mast, 3.7s for optimize, 1.2s for mbc. has mast always taken that long? 02:14
timo no clue 02:20
MasterDuke seems to take roughly proportionally as long on the desktop. 45s parse, 9s mast, 5s optimize, 1.5s mbc 02:22
timo: what do you think of gist.github.com/MasterDuke17/1882f...60eb0e37e0 ? 03:05
but afk for today, will probably get on tomorrow evening 03:06
timo do you have some measurements for that patch? i don't have anything against it 19:24