X-Git-Url: http://deadsoftware.ru/gitweb?p=dsw-obn.git;a=blobdiff_plain;f=src%2Fbackends%2Fjvm%2Fgenerator-jvm.h;h=52d59fa0e76eda02d804dffbcf797746dc492239;hp=6786cf44dc05d467128d15ff2c8efb018bcc9e0d;hb=HEAD;hpb=1ef429eea9ba6825395446aac0b5980454ac0383 diff --git a/src/backends/jvm/generator-jvm.h b/src/backends/jvm/generator-jvm.h index 6786cf4..52d59fa 100644 --- a/src/backends/jvm/generator-jvm.h +++ b/src/backends/jvm/generator-jvm.h @@ -23,6 +23,7 @@ struct gen_class FILE * fp; gen_proc_t * p; struct gen_class * base; + const char * dir; }; enum gen_storage @@ -52,11 +53,16 @@ struct gen_proc_t { char * full_name; int label_id; - gen_var_t * frame_v; - gen_type_t * frame_t; struct gen_register_file * rf; struct gen_stack * stack; struct gen_class * class; + + char ret_prefix; + + int level; + int max_frames; + int * reg_frame; + gen_var_t * frame_v; }; struct gen_type_t @@ -67,6 +73,7 @@ struct gen_type_t bool wide; char prefix; char postfix; + char * full_name; char * desc; int cell_size; }; @@ -76,6 +83,10 @@ struct gen_var_t enum gen_storage storage; gen_type_t * type; int reg; + int level; + + bool typecheck; + gen_type_t * forcetype; char * name; char * full_name; @@ -86,12 +97,14 @@ struct gen_var_t struct gen_context_t { gen_module_t * current_m; + const char * dir; }; struct gen_module_t { struct gen_class * class; int rec_id; + int line; }; struct gen_label_t