diff src/share/vm/runtime/thread.hpp @ 15463:a20be10ad437

made Graal work with the HotSpot compiler queue and compiler threads, enabled by -XX:-UseGraalCompilationQueue
author Doug Simon <doug.simon@oracle.com>
date Fri, 02 May 2014 00:36:27 +0200
parents 4ca6dc0799b6
children 66a9286203a2
line wrap: on
line diff
--- a/src/share/vm/runtime/thread.hpp	Fri May 02 00:17:40 2014 +0200
+++ b/src/share/vm/runtime/thread.hpp	Fri May 02 00:36:27 2014 +0200
@@ -321,6 +321,9 @@
   virtual bool is_Named_thread() const               { return false; }
   virtual bool is_Worker_thread() const              { return false; }
 
+  // Can this thread make Java upcalls
+  virtual bool can_call_java() const                 { return true;  }
+
   // Casts
   virtual WorkerThread* as_Worker_thread() const     { return NULL; }
 
@@ -1876,8 +1879,13 @@
   CompilerThread(CompileQueue* queue, CompilerCounters* counters);
 
   bool is_Compiler_thread() const                { return true; }
+
+#ifdef COMPILERGRAAL
+  virtual bool can_call_java() const;
+#endif
+
   // Hide this compiler thread from external view.
-  bool is_hidden_from_external_view() const      { return true; }
+  bool is_hidden_from_external_view() const      { return !can_call_java(); }
 
   void set_compiler(AbstractCompiler* c)         { _compiler = c; }
   AbstractCompiler* compiler() const             { return _compiler; }