--- old/src/hotspot/share/compiler/compileTask.hpp 2019-01-21 13:41:54.000000000 +0100 +++ new/src/hotspot/share/compiler/compileTask.hpp 2019-01-21 13:41:54.000000000 +0100 @@ -104,9 +104,11 @@ 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"); } @@ -199,8 +201,9 @@ 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();