📄 config.h
字号:
typedef struct {
unsigned char max_unaligned_load;
void (*blkfetch) ARGS((int size, int off, int reg, int tmp));
void (*blkstore) ARGS((int size, int off, int reg, int tmp));
void (*blkloop) ARGS((int dreg, int doff,
int sreg, int soff,
int size, int tmps[]));
void (*_label) ARGS((Node));
int (*_rule) ARGS((void*, int));
short **_nts;
void (*_kids) ARGS((Node, int, Node*));
char **_opname;
char *_arity;
char **_string;
char **_templates;
char *_isinstruction;
char **_ntname;
void (*emit2) ARGS((Node));
void (*doarg) ARGS((Node));
void (*target) ARGS((Node));
void (*clobber) ARGS((Node));
} Xinterface;
extern int askregvar ARGS((Symbol, Symbol));
extern void blkcopy ARGS((int, int, int,
int, int, int[]));
extern int getregnum ARGS((Node));
extern int mayrecalc ARGS((Node));
extern int mkactual ARGS((int, int));
extern void mkauto ARGS((Symbol));
extern Symbol mkreg ARGS((char *, int, int, int));
extern Symbol mkwildcard ARGS((Symbol *));
extern int move ARGS((Node));
extern int notarget ARGS((Node));
extern void parseflags ARGS((int, char **));
extern int range ARGS((Node, int, int));
extern unsigned regloc ARGS((Symbol)); /* omit */
extern void rtarget ARGS((Node, int, Symbol));
extern void setreg ARGS((Node, Symbol));
extern void spill ARGS((unsigned, int, Node));
extern int argoffset, maxargoffset;
extern int bflag, dflag;
extern int dalign, salign;
extern int framesize;
extern unsigned freemask[], usedmask[];
extern int offset, maxoffset;
extern Symbol rmap[];
extern int swap;
extern unsigned tmask[], vmask[];
typedef struct {
void *state;
short inst;
Node kids[3];
Node prev, next;
Node prevuse;
short argno;
short Flags;
short rulenum;
short nts;
Node *IntrinsicArgs;
int intrinsic;
int intrinsicArg;
unsigned char listed;
unsigned char registered;
unsigned char emitted;
unsigned char copy;
unsigned char equatable;
unsigned char spills;
unsigned char mayrecalc;
unsigned char analyzed;
unsigned char unsafe;
unsigned char dangerousChildren;
unsigned char nestedCall;
unsigned char booleanAsgn;
unsigned char clobbersWhich;
short oldop;
} Xnode;
typedef struct {
Symbol vbl;
short set;
short number;
unsigned mask;
} *Regnode;
enum { IREG=0, FREG=1 };
typedef struct {
char *name;
/* unsigned int eaddr; omit */
unsigned int callused;
int offset;
Node lastuse;
int usecount;
Regnode regnode;
Symbol *wildcard;
short PrologueEnd;
Symbol ArraySymbol;
int intrinsic;
unsigned char switchSymbol;
unsigned char aliased;
unsigned char isArgument;
} Xsymbol;
enum { RX=2 };
typedef struct {
int offset;
unsigned freemask[2];
} Env;
#define LBURG_MAX SHRT_MAX
enum { VREG=(38<<4) };
/* Exported for the front end */
extern void blockbeg ARGS((Env *));
extern void blockend ARGS((Env *));
extern void emit ARGS((Node));
extern Node gen ARGS((Node));
extern unsigned emitbin ARGS((Node, int));
extern int hasExceptions;
int FinishTryBlock(void);
int doExcept(void);
int doTry(void);
#if 0
#define debug(x) 0
#else
#define debug(x) (dflag&&((x),0))
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -