src/share/vm/runtime/thread.hpp
Print this page
@@ -921,13 +921,10 @@
volatile oop _exception_oop; // Exception thrown in compiled code
volatile address _exception_pc; // PC where exception happened
volatile address _exception_handler_pc; // PC for handler of exception
volatile int _is_method_handle_return; // true (== 1) if the current exception PC is a MethodHandle call site.
- // support for compilation
- bool _is_compiling; // is true if a compilation is active inthis thread (one compilation per thread possible)
-
// support for JNI critical regions
jint _jni_active_critical; // count of entries into JNI critical region
// For deadlock detection.
int _depth_first_number;
@@ -1003,14 +1000,10 @@
void cleanup_failed_attach_current_thread();
// Testers
virtual bool is_Java_thread() const { return true; }
- // compilation
- void set_is_compiling(bool f) { _is_compiling = f; }
- bool is_compiling() const { return _is_compiling; }
-
// Thread chain operations
JavaThread* next() const { return _next; }
void set_next(JavaThread* p) { _next = p; }
// Thread oop. threadObj() can be NULL for initial JavaThread
@@ -1816,10 +1809,11 @@
CompileTask* _task;
CompileQueue* _queue;
BufferBlob* _buffer_blob;
nmethod* _scanned_nmethod; // nmethod being scanned by the sweeper
+ AbstractCompiler* _compiler;
public:
static CompilerThread* current();
@@ -1827,18 +1821,21 @@
bool is_Compiler_thread() const { return true; }
// Hide this compiler thread from external view.
bool is_hidden_from_external_view() const { return true; }
- CompileQueue* queue() { return _queue; }
- CompilerCounters* counters() { return _counters; }
+ void set_compiler(AbstractCompiler* c) { _compiler = c; }
+ AbstractCompiler* compiler() const { return _compiler; }
+
+ CompileQueue* queue() const { return _queue; }
+ CompilerCounters* counters() const { return _counters; }
// Get/set the thread's compilation environment.
ciEnv* env() { return _env; }
void set_env(ciEnv* env) { _env = env; }
- BufferBlob* get_buffer_blob() { return _buffer_blob; }
+ BufferBlob* get_buffer_blob() const { return _buffer_blob; }
void set_buffer_blob(BufferBlob* b) { _buffer_blob = b; };
// Get/set the thread's logging information
CompileLog* log() { return _log; }
void init_log(CompileLog* log) {