dbd8184da9ec5c4954e29d7aac867149fb4f0979
[cacao.git] / compiler.h
1 /* -*- mode: c; tab-width: 4; c-basic-offset: 4 -*- */
2 /****************************** compiler.h *************************************
3
4         Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst
5
6         See file COPYRIGHT for information on usage and disclaimer of warranties
7
8         Contains the codegenerator for an Alpha processor.
9         This module generates Alpha machine code for a sequence of
10         pseudo commands (PCMDs).
11
12         Authors: Reinhard Grafl      EMAIL: cacao@complang.tuwien.ac.at
13         Changes: Andreas  Krall      EMAIL: cacao@complang.tuwien.ac.at
14
15         Last Change: 1997/10/22
16
17 *******************************************************************************/
18
19 /************** Compiler-switches (werden von main gesetzt) *****************/
20
21
22 extern bool compileverbose;     
23 extern bool showstack;          
24 extern bool showdisassemble;    
25 extern bool showddatasegment;    
26 extern bool showintermediate;   
27 extern int   optimizelevel;      
28
29 extern bool checkbounds;        
30 extern bool checknull;          
31 extern bool checkfloats;        
32 extern bool checksync;          
33
34 extern int  has_ext_instr_set;  
35
36 extern bool getcompilingtime;   
37 extern long int compilingtime;  
38
39 extern bool statistics;         
40
41 extern int count_jit_calls;
42 extern int count_methods;
43 extern int count_spills;
44 extern int count_pcmd_activ;
45 extern int count_pcmd_drop;
46 extern int count_pcmd_zero;
47 extern int count_pcmd_const_store;
48 extern int count_pcmd_const_alu;
49 extern int count_pcmd_const_bra;
50 extern int count_pcmd_load;
51 extern int count_pcmd_move;
52 extern int count_pcmd_store;
53 extern int count_pcmd_store_comb;
54 extern int count_pcmd_op;
55 extern int count_pcmd_mem;
56 extern int count_pcmd_met;
57 extern int count_pcmd_bra;
58 extern int count_pcmd_table;
59 extern int count_pcmd_return;
60 extern int count_pcmd_returnx;
61 extern int count_check_null;
62 extern int count_check_bound;
63 extern int count_javainstr;
64 extern int count_javacodesize;
65 extern int count_javaexcsize;
66 extern int count_calls;
67 extern int count_tryblocks;
68 extern int count_code_len;
69 extern int count_data_len;
70 extern int count_cstub_len;
71 extern int count_nstub_len;
72
73
74 /******************************* Prototypes *********************************/
75
76 methodptr compiler_compile (methodinfo *m);
77
78 void compiler_init ();
79 void compiler_close ();
80
81 u1 *oldcreatenativestub (functionptr f, methodinfo *m);
82
83 /*
84 u1 *createcompilerstub (methodinfo *m);
85
86 void removecompilerstub (u1 *stub);
87 void removenativestub (u1 *stub);
88 */
89