1 #define SECSIZE (1 << 18)
2 #define MAXTMP (1 << 12)
5 #define BT_SZMASK 0x00ff
6 #define BT_SIGNED 0x0100
7 #define BT_FLOAT 0x0200
8 #define BT_SZ(bt) ((bt) & BT_SZMASK)
10 void o_num(long n
, unsigned bt
);
11 void o_local(long addr
, unsigned bt
);
12 void o_assign(unsigned bt
);
13 void o_deref(unsigned bt
);
16 void o_symaddr(long addr
, unsigned bt
);
17 void o_call(int argc
, unsigned *bt
, unsigned ret_vs
);
39 long o_mklocal(int size
);
40 long o_arg(int i
, unsigned bt
);
41 void o_rmlocal(long addr
, int sz
);
42 void o_tmpdrop(int n
);
46 void o_forkpush(void);
47 void o_forkjoin(void);
48 void o_cast(unsigned bt
);
49 int o_popnum(long *c
);
52 long o_jnz(long addr
);
53 long o_jmp(long addr
);
54 void o_filljmp(long addr
);
55 void o_filljmp2(long addr
, long jmpdst
);
56 void o_memcpy(int sz
);
57 void o_memset(int x
, int sz
);
58 void o_datset(long addr
, int off
, unsigned bt
);
60 long o_func_beg(char *name
, int global
);
61 void o_func_end(void);
62 void o_ret(unsigned bt
);
68 void out_write(int fd
);
69 long out_func_beg(char *name
, int global
);
70 void out_func_end(char *buf
, int len
);
71 long out_mkvar(char *name
, int size
, int global
);
72 long out_mkdat(char *name
, char *buf
, int len
, int global
);
73 long out_mkundef(char *name
, int sz
);
74 void out_rela(long addr
, int off
, int rel
);
75 void out_datcpy(long addr
, int off
, char *buf
, int len
);
76 void out_datrela(long addr
, long dataddr
, int off
);