1 #define SECSIZE (1 << 18)
2 #define MAXTMP (1 << 12)
6 #define BT_SZMASK 0x00ff
7 #define BT_SIGNED 0x0100
8 #define BT_SZ(bt) ((bt) & BT_SZMASK)
10 #define O_SIGNED 0x100
11 /* binary operations for o_bop() */
28 /* unary operations for o_uop() */
36 void o_cast(unsigned bt
);
39 void o_call(int argc
, int ret
);
41 void o_assign(unsigned bt
);
42 void o_deref(unsigned bt
);
44 int o_popnum(long *c
);
47 void o_local(long addr
);
48 void o_sym(char *sym
);
49 void o_tmpdrop(int n
);
53 long o_mklocal(int size
);
54 void o_rmlocal(long addr
, int sz
);
55 long o_arg2loc(int i
);
59 long o_jnz(long addr
);
60 long o_jmp(long addr
);
61 void o_filljmp(long addr
);
62 void o_filljmp2(long addr
, long jmpdst
);
63 /* conditional instructions */
65 void o_forkpush(void);
66 void o_forkjoin(void);
67 /* data/bss sections */
68 void o_mkbss(char *name
, int size
, int global
);
69 void *o_mkdat(char *name
, int size
, int global
);
70 void o_datset(char *name
, int off
, unsigned bt
);
72 void o_func_beg(char *name
, int argc
, int global
, int vararg
);
73 void o_func_end(void);