< prev index next >
src/hotspot/share/compiler/compileTask.hpp
Print this page
@@ -102,13 +102,15 @@
Method* _hot_method; // which method actually triggered this task
jobject _hot_method_holder;
int _hot_count; // information about its invocation counter
CompileReason _compile_reason; // more info about the task
const char* _failure_reason;
+ // Specifies if _failure_reason is on the C heap.
+ bool _failure_reason_on_C_heap;
public:
- CompileTask() {
+ CompileTask() : _failure_reason(NULL), _failure_reason_on_C_heap(false) {
_lock = new Monitor(Mutex::nonleaf+2, "CompileTaskLock");
}
void initialize(int compile_id, const methodHandle& method, int osr_bci, int comp_level,
const methodHandle& hot_method, int hot_count,
@@ -197,12 +199,13 @@
void log_task(xmlStream* log);
void log_task_queued();
void log_task_start(CompileLog* log);
void log_task_done(CompileLog* log);
- void set_failure_reason(const char* reason) {
+ void set_failure_reason(const char* reason, bool on_C_heap = false) {
_failure_reason = reason;
+ _failure_reason_on_C_heap = on_C_heap;
}
bool check_break_at_flags();
static void print_inlining_inner(outputStream* st, ciMethod* method, int inline_level, int bci, const char* msg = NULL);
< prev index next >