02:56 ilbot3 joined, nebuchadnezzar joined 07:20 domidumont joined 07:28 domidumont joined 11:46 dogbert17 joined 12:07 domidumont joined 14:26 fxsksn joined 15:55 Kaiepi joined 16:21 releasable6 joined 19:41 lizmat joined 20:56 FROGGS joined 20:59 MasterDuke joined 21:41 MasterDuke joined
MasterDuke how do it tell if a routine gets inlined? 21:50
mst smash the stack in the body and read the backtrace? 21:51
(sorry) 21:52
jnthn MasterDuke: --profile and look at the call stack tab 21:55
MasterDuke jnthn++, mst-- 21:56
mst :D 21:57
MasterDuke mst: heh, made me think of the xkcd about the space bar and controlling a fan
jnthn: is there any information in any of the logs about why something doesn't get inlined? 22:03
for instance, Sequence.eager isn't inlined (with 245+k calls), but is only `multi method eager(::?CLASS:D:) { List.from-iterator(self.iterator).eager }` 22:09
22:23 evalable6 joined
jnthn MasterDuke: No, but if you compile MoarVM with the #define at the top of inline.c twiddled to a 1 instead, then it'll dump out reasons 22:29
MasterDuke thanks 22:32
jnthn: i don't see a #define in inline.c. inline.h has `#define MVM_SPESH_MAX_INLINE_SIZE 384`, is that the one you're thinking of? 22:34
jnthn MasterDuke: oh, could be in optimize.c 22:39
MasterDuke ah, i see it, thanks again
what's the number after the name? is that just some sort of id? 22:42
jnthn Yeah, just the ID within the compilation unit. Useful to correlate with spesh log 23:26
23:26 ZofBot joined