diff src/share/vm/runtime/thread.hpp @ 3650:0e8a2a629afb

Pass-by compilation broker.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Wed, 16 Nov 2011 21:27:28 +0100
parents bc95d122df79
children dc7902820c9b
line wrap: on
line diff
--- a/src/share/vm/runtime/thread.hpp	Wed Nov 16 16:46:32 2011 +0100
+++ b/src/share/vm/runtime/thread.hpp	Wed Nov 16 21:27:28 2011 +0100
@@ -716,6 +716,7 @@
   // (tw) Necessary for holding a compilation buffer and ci environment. Moved from CompilerThread to JavaThread in order to enable code installation from Java application code.
   BufferBlob*   _buffer_blob;
   ciEnv*        _env;
+  bool          _is_compiling;
 
 #ifdef ASSERT
  private:
@@ -853,9 +854,6 @@
   volatile int     _exception_stack_size;        // Size of frame where exception happened
   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
 
@@ -916,6 +914,9 @@
     return (struct JNINativeInterface_ *)_jni_environment.functions;
   }
   
+  bool is_compiling() const                      { return _is_compiling; }
+  void set_compiling(bool b)                     { _is_compiling = b; }
+
   // Get/set the thread's compilation environment.
   ciEnv*        env()                            { return _env; }
   void          set_env(ciEnv* env)              { _env = env; }
@@ -942,10 +943,6 @@
   // 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; }
@@ -1716,7 +1713,6 @@
   CompileLog*   _log;
   CompileTask*  _task;
   CompileQueue* _queue;
-  bool          _is_compiling;
 
   nmethod*      _scanned_nmethod;  // nmethod being scanned by the sweeper
 
@@ -1726,8 +1722,6 @@
 
   CompilerThread(CompileQueue* queue, CompilerCounters* counters);
 
-  bool is_compiling() const                      { return _is_compiling; }
-  void set_compiling(bool b)                     { _is_compiling = b; }
   bool is_Compiler_thread() const                { return true; }
   // Hide this compiler thread from external view.
   // (tw) For Graal, the compiler thread should be visible.