177 Dependencies* dependency_recorder() const; // = _env->dependencies()
178 ImplicitExceptionTable* implicit_exception_table() { return &_implicit_exception_table; }
179
180 Instruction* current_instruction() const { return _current_instruction; }
181 Instruction* set_current_instruction(Instruction* instr) {
182 Instruction* previous = _current_instruction;
183 _current_instruction = instr;
184 return previous;
185 }
186
187 #ifndef PRODUCT
188 void maybe_print_current_instruction();
189 #endif // PRODUCT
190
191 // error handling
192 void bailout(const char* msg);
193 bool bailed_out() const { return _bailout_msg != NULL; }
194 const char* bailout_msg() const { return _bailout_msg; }
195
196 static int desired_max_code_buffer_size() {
197 #ifndef PPC32
198 return (int) NMethodSizeLimit; // default 256K or 512K
199 #else
200 // conditional branches on PPC are restricted to 16 bit signed
201 return MIN2((unsigned int)NMethodSizeLimit,32*K);
202 #endif
203 }
204 static int desired_max_constant_size() {
205 return desired_max_code_buffer_size() / 10;
206 }
207
208 static bool setup_code_buffer(CodeBuffer* cb, int call_stub_estimate);
209
210 // timers
211 static void print_timers();
212
213 #ifndef PRODUCT
214 // debugging support.
215 // produces a file named c1compileonly in the current directory with
216 // directives to compile only the current method and it's inlines.
217 // The file can be passed to the command line option -XX:Flags=<filename>
218 void compile_only_this_method();
219 void compile_only_this_scope(outputStream* st, IRScope* scope);
220 void exclude_this_method();
221 #endif // PRODUCT
222
|
177 Dependencies* dependency_recorder() const; // = _env->dependencies()
178 ImplicitExceptionTable* implicit_exception_table() { return &_implicit_exception_table; }
179
180 Instruction* current_instruction() const { return _current_instruction; }
181 Instruction* set_current_instruction(Instruction* instr) {
182 Instruction* previous = _current_instruction;
183 _current_instruction = instr;
184 return previous;
185 }
186
187 #ifndef PRODUCT
188 void maybe_print_current_instruction();
189 #endif // PRODUCT
190
191 // error handling
192 void bailout(const char* msg);
193 bool bailed_out() const { return _bailout_msg != NULL; }
194 const char* bailout_msg() const { return _bailout_msg; }
195
196 static int desired_max_code_buffer_size() {
197 return (int)NMethodSizeLimit; // default 64K
198 }
199 static int desired_max_constant_size() {
200 return desired_max_code_buffer_size() / 10;
201 }
202
203 static bool setup_code_buffer(CodeBuffer* cb, int call_stub_estimate);
204
205 // timers
206 static void print_timers();
207
208 #ifndef PRODUCT
209 // debugging support.
210 // produces a file named c1compileonly in the current directory with
211 // directives to compile only the current method and it's inlines.
212 // The file can be passed to the command line option -XX:Flags=<filename>
213 void compile_only_this_method();
214 void compile_only_this_scope(outputStream* st, IRScope* scope);
215 void exclude_this_method();
216 #endif // PRODUCT
217
|