DEADSOFTWARE

JVM: Реорганизация всего кода кодогенератора
[dsw-obn.git] / src / backends / jvm / generator-jvm.h
1 #define MAX_REGISTERS 256
3 struct gen_register_file
4 {
5 struct
6 {
7 bool used;
8 bool wide;
9 } reg[MAX_REGISTERS];
10 int num_used;
11 int max_used;
12 };
14 struct gen_stack
15 {
16 int pointer;
17 int max_pointer;
18 };
20 struct gen_class
21 {
22 FILE * fp;
23 gen_proc_t * p;
24 };
29 struct gen_proc_t
30 {
31 int label_id;
32 struct gen_register_file * rf;
33 struct gen_stack * stack;
34 struct gen_class * class;
35 };
37 struct gen_type_t
38 {
39 int rec_id;
40 struct gen_class * class;
41 };
43 struct gen_var_t
44 {
45 int reg;
46 };
48 struct gen_block_t
49 {
51 };
53 struct gen_context_t
54 {
55 gen_module_t * current_m;
56 };
58 struct gen_module_t
59 {
60 struct gen_class * class;
61 int rec_id;
62 };