164 void set_num_inlined_bytecodes(int n) { _num_inlined_bytecodes = n; }
165
166 CompileTask* next() const { return _next; }
167 void set_next(CompileTask* next) { _next = next; }
168 CompileTask* prev() const { return _prev; }
169 void set_prev(CompileTask* prev) { _prev = prev; }
170 bool is_free() const { return _is_free; }
171 void set_is_free(bool val) { _is_free = val; }
172
173 // RedefineClasses support
174 void metadata_do(void f(Metadata*));
175 void mark_on_stack();
176
177 private:
178 static void print_impl(outputStream* st, Method* method, int compile_id, int comp_level,
179 bool is_osr_method = false, int osr_bci = -1, bool is_blocking = false,
180 const char* msg = NULL, bool short_form = false, bool cr = true);
181
182 public:
183 void print(outputStream* st = tty, const char* msg = NULL, bool short_form = false, bool cr = true);
184 void print_ul(const char* msg = NULL){
185 Log(jit, compilation) log;
186 if (log.is_debug()) {
187 print(log.debug_stream(), msg, /* short form */ true, /* cr */ true);
188 }
189 }
190 static void print(outputStream* st, const nmethod* nm, const char* msg = NULL, bool short_form = false, bool cr = true) {
191 print_impl(st, nm->method(), nm->compile_id(), nm->comp_level(),
192 nm->is_osr_method(), nm->is_osr_method() ? nm->osr_entry_bci() : -1, /*is_blocking*/ false,
193 msg, short_form, cr);
194 }
195 static void print_ul(const nmethod* nm, const char* msg = NULL) {
196 Log(jit, compilation) log;
197 if (log.is_debug()) {
198 print_impl(log.debug_stream(), nm->method(), nm->compile_id(),
199 nm->comp_level(), nm->is_osr_method(),
200 nm->is_osr_method() ? nm->osr_entry_bci() : -1,
201 /*is_blocking*/ false,
202 msg, /* short form */ true, /* cr */ true);
203 }
204 }
205
206 static void print_inline_indent(int inline_level, outputStream* st = tty);
207
208 void print_tty();
209 void print_line_on_error(outputStream* st, char* buf, int buflen);
210
211 void log_task(xmlStream* log);
212 void log_task_queued();
213 void log_task_start(CompileLog* log);
214 void log_task_done(CompileLog* log);
215
216 void set_failure_reason(const char* reason) {
217 _failure_reason = reason;
218 }
219
220 bool check_break_at_flags();
221
222 static void print_inlining_inner(outputStream* st, ciMethod* method, int inline_level, int bci, const char* msg = NULL);
223 static void print_inlining_tty(ciMethod* method, int inline_level, int bci, const char* msg = NULL) {
224 print_inlining_inner(tty, method, inline_level, bci, msg);
225 }
226 static void print_inlining_ul(ciMethod* method, int inline_level, int bci, const char* msg = NULL) {
227 Log(jit, inlining) log;
228 if (log.is_debug()) {
229 print_inlining_inner(log.debug_stream(), method, inline_level, bci, msg);
230 }
231 }
232 };
233
234 #endif // SHARE_VM_COMPILER_COMPILETASK_HPP
|
164 void set_num_inlined_bytecodes(int n) { _num_inlined_bytecodes = n; }
165
166 CompileTask* next() const { return _next; }
167 void set_next(CompileTask* next) { _next = next; }
168 CompileTask* prev() const { return _prev; }
169 void set_prev(CompileTask* prev) { _prev = prev; }
170 bool is_free() const { return _is_free; }
171 void set_is_free(bool val) { _is_free = val; }
172
173 // RedefineClasses support
174 void metadata_do(void f(Metadata*));
175 void mark_on_stack();
176
177 private:
178 static void print_impl(outputStream* st, Method* method, int compile_id, int comp_level,
179 bool is_osr_method = false, int osr_bci = -1, bool is_blocking = false,
180 const char* msg = NULL, bool short_form = false, bool cr = true);
181
182 public:
183 void print(outputStream* st = tty, const char* msg = NULL, bool short_form = false, bool cr = true);
184 void print_ul(const char* msg = NULL);
185 static void print(outputStream* st, const nmethod* nm, const char* msg = NULL, bool short_form = false, bool cr = true) {
186 print_impl(st, nm->method(), nm->compile_id(), nm->comp_level(),
187 nm->is_osr_method(), nm->is_osr_method() ? nm->osr_entry_bci() : -1, /*is_blocking*/ false,
188 msg, short_form, cr);
189 }
190 static void print_ul(const nmethod* nm, const char* msg = NULL);
191
192 static void print_inline_indent(int inline_level, outputStream* st = tty);
193
194 void print_tty();
195 void print_line_on_error(outputStream* st, char* buf, int buflen);
196
197 void log_task(xmlStream* log);
198 void log_task_queued();
199 void log_task_start(CompileLog* log);
200 void log_task_done(CompileLog* log);
201
202 void set_failure_reason(const char* reason) {
203 _failure_reason = reason;
204 }
205
206 bool check_break_at_flags();
207
208 static void print_inlining_inner(outputStream* st, ciMethod* method, int inline_level, int bci, const char* msg = NULL);
209 static void print_inlining_tty(ciMethod* method, int inline_level, int bci, const char* msg = NULL) {
210 print_inlining_inner(tty, method, inline_level, bci, msg);
211 }
212 static void print_inlining_ul(ciMethod* method, int inline_level, int bci, const char* msg = NULL);
213 };
214
215 #endif // SHARE_VM_COMPILER_COMPILETASK_HPP
|