class INLINE < $INLINE


Flattened version is here

Ancestors
$INLINE CS_COMPONENT



Public


Readable Attributes
attr inline_iters:BOOL;
attr inline_routs:BOOL;
attr iter_thres:INT;
attr rout_thres:INT;

Writable Attributes
attr inline_iters:BOOL;
attr inline_routs:BOOL;
attr iter_thres:INT;
attr rout_thres:INT;

Constants
const default_iter_thres := 16;
**** found/guessed to be best on Sparcs
const default_rout_thres := 16;
**** default thresholds for inlining

Features
consider (am:AM_ROUT_DEF)
**** don't inline built in routines and iters!
create(p:PROG):SAME
general_inline(rout:AM_ROUT_DEF,lp:AM_LOOP_STMT,call:AM_ITER_CALL_EXPR):$AM_EXPR
general_inline(rout:AM_ROUT_DEF,call:AM_ROUT_CALL_EXPR):$AM_EXPR
init
**** Insert translator for folding integer addition
inlined(s:SIG):BOOL
special_inline(call:AM_ITER_CALL_EXPR):$AM_EXPR
special_inline(call:AM_ROUT_CALL_EXPR):$AM_EXPR


Private

attr itbl:INLINE_ITER_TBL;
attr itbl:INLINE_ITER_TBL;
attr rtbl:INLINE_ROUT_TBL;
attr rtbl:INLINE_ROUT_TBL;