|
From: Donal K. F. <don...@ma...> - 2018-04-30 19:02:25
|
On 30/04/2018 18:00, Kevin Kenny wrote: > I'm also noticing that the code gen is starting to emit pretty loose and > bulky code, which is sure to cause cache pressure in the long run. I'm > wondering if some of the bigger sequences (setting up a callframe and > performing an [upvar] are two that come to mind) would actually be > better with 'inlinehint' as opposed to 'alwaysinline.' Right now, that's governed by the definition of the Module:local method (in codegen/struct.tcl) which is currently setting library functions to be always inlined except when explicitly told to make them 'noinline'. I've updated (on kbk-nre) the method to also recognise 'inlinehint' as another override; add it after the type signature on the functions that need the balanced approach (since most of the standard library depends on being inlined to work efficiently, I'm going to keep the default what it is right now). Donal. |