Initial revision
This commit is contained in:
69
util/ego/il/il.h
Normal file
69
util/ego/il/il.h
Normal file
@@ -0,0 +1,69 @@
|
||||
/* I N T E R N A L D A T A S T R U C T U R E S O F
|
||||
*
|
||||
* I N L I N E S U B S T I T U T I O N
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
extern int calnr;
|
||||
extern calcnt_p cchead; /* calcnt info of current proc */
|
||||
|
||||
/* Macro's for extended data structures */
|
||||
|
||||
#define P_CALS p_extend->px_il.p_cals
|
||||
#define P_SIZE p_extend->px_il.p_size
|
||||
#define P_FORMALS p_extend->px_il.p_formals
|
||||
#define P_NRCALLED p_extend->px_il.p_nrcalled
|
||||
#define P_CCADDR p_extend->px_il.p_ccaddr
|
||||
#define P_LADDR p_extend->px_il.p_laddr
|
||||
#define P_ORGLABELS p_extend->px_il.p_orglabels
|
||||
#define P_ORGLOCALS p_extend->px_il.p_orglocals
|
||||
|
||||
/* flags2: */
|
||||
|
||||
#define PF_UNSUITABLE 01
|
||||
#define PF_NO_INLPARS 02
|
||||
#define PF_FALLTHROUGH 04
|
||||
#define PF_DISPENSABLE 010
|
||||
#define PF_CHANGED 020
|
||||
|
||||
|
||||
/* kinds of usages: */
|
||||
|
||||
#define USE 0
|
||||
#define CHANGE 1
|
||||
#define ADDRESS 2
|
||||
|
||||
|
||||
|
||||
|
||||
/* We do not expand calls if:
|
||||
* - the called procedure has to many local variables
|
||||
* - the calling procedure is already very large
|
||||
* - the called procedure is to large.
|
||||
*/
|
||||
|
||||
#define MANY_LOCALS(p) (p->p_localbytes > LOCAL_THRESHOLD)
|
||||
#define LOCAL_THRESHOLD 200
|
||||
#define BIG_CALLER(p) (p->P_SIZE > CALLER_THRESHOLD)
|
||||
#define CALLER_THRESHOLD 500
|
||||
#define BIG_PROC(p) (p->P_SIZE > CALLEE_THRESHOLD)
|
||||
#define CALLEE_THRESHOLD 100
|
||||
|
||||
#define FALLTHROUGH(p) (p->p_flags2 & PF_FALLTHROUGH)
|
||||
#define DISPENSABLE(p) p->p_flags2 |= PF_DISPENSABLE
|
||||
#define IS_DISPENSABLE(p) (p->p_flags2 & PF_DISPENSABLE)
|
||||
#define SELECTED(c) c->cl_flags |= CLF_SELECTED
|
||||
#define IS_SELECTED(c) (c->cl_flags & CLF_SELECTED)
|
||||
#define EVER_EXPANDED(c) c->cl_flags |= CLF_EVER_EXPANDED
|
||||
#define IS_EVER_EXPANDED(c) (c->cl_flags & CLF_EVER_EXPANDED)
|
||||
#define UNSUITABLE(p) p->p_flags2 |= PF_UNSUITABLE
|
||||
#define SUITABLE(p) (!(p->p_flags2&PF_UNSUITABLE))
|
||||
#define INLINE_PARS(p) (!(p->p_flags2&PF_NO_INLPARS))
|
||||
#define PARAMS_UNKNOWN(p) (p->p_nrformals == UNKNOWN_SIZE)
|
||||
|
||||
extern int Ssubst;
|
||||
#ifdef VERBOSE
|
||||
extern int Senv,Srecursive,Slocals,Sinstrlab,Sparsefails,Spremoved,Scals;
|
||||
extern int Sbig_caller,Sdispensable,Schangedcallee,Sbigcallee,Sspace,Szeroratio;
|
||||
#endif
|
||||
Reference in New Issue
Block a user