src/share/vm/compiler/compileBroker.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/compiler

src/share/vm/compiler/compileBroker.hpp

Print this page
rev 7349 : 8061256: com/sun/management/DiagnosticCommandMBean/DcmdMBeanPermissionsTest.java timed out
Summary: Must not be at safepoint when taking CompileQueue_lock
Reviewed-by:


 178 
 179     char* current_method()                  { return _current_method; }
 180 
 181     void set_compile_type(int compile_type) {
 182       _compile_type = compile_type;
 183       if (UsePerfData) _perf_compile_type->set_value((jlong)compile_type);
 184     }
 185 
 186     int compile_type()                       { return _compile_type; }
 187 
 188     PerfCounter* time_counter()              { return _perf_time; }
 189     PerfCounter* compile_counter()           { return _perf_compiles; }
 190 };
 191 
 192 // CompileQueue
 193 //
 194 // A list of CompileTasks.
 195 class CompileQueue : public CHeapObj<mtCompiler> {
 196  private:
 197   const char* _name;
 198   Monitor*    _lock;
 199 
 200   CompileTask* _first;
 201   CompileTask* _last;
 202 
 203   CompileTask* _first_stale;
 204 
 205   int _size;
 206 
 207   void purge_stale_tasks();
 208  public:
 209   CompileQueue(const char* name, Monitor* lock) {
 210     _name = name;
 211     _lock = lock;
 212     _first = NULL;
 213     _last = NULL;
 214     _size = 0;
 215     _first_stale = NULL;
 216   }
 217 
 218   const char*  name() const                      { return _name; }
 219   Monitor*     lock() const                      { return _lock; }
 220 
 221   void         add(CompileTask* task);
 222   void         remove(CompileTask* task);
 223   void         remove_and_mark_stale(CompileTask* task);
 224   CompileTask* first()                           { return _first; }
 225   CompileTask* last()                            { return _last;  }
 226 
 227   CompileTask* get();
 228 
 229   bool         is_empty() const                  { return _first == NULL; }
 230   int          size()     const                  { return _size;          }
 231 
 232 
 233   // Redefine Classes support
 234   void mark_on_stack();
 235   void free_all();
 236   void print_tty();
 237   void print(outputStream* st = tty);
 238 
 239   ~CompileQueue() {




 178 
 179     char* current_method()                  { return _current_method; }
 180 
 181     void set_compile_type(int compile_type) {
 182       _compile_type = compile_type;
 183       if (UsePerfData) _perf_compile_type->set_value((jlong)compile_type);
 184     }
 185 
 186     int compile_type()                       { return _compile_type; }
 187 
 188     PerfCounter* time_counter()              { return _perf_time; }
 189     PerfCounter* compile_counter()           { return _perf_compiles; }
 190 };
 191 
 192 // CompileQueue
 193 //
 194 // A list of CompileTasks.
 195 class CompileQueue : public CHeapObj<mtCompiler> {
 196  private:
 197   const char* _name;

 198 
 199   CompileTask* _first;
 200   CompileTask* _last;
 201 
 202   CompileTask* _first_stale;
 203 
 204   int _size;
 205 
 206   void purge_stale_tasks();
 207  public:
 208   CompileQueue(const char* name, Monitor* lock) {
 209     _name = name;

 210     _first = NULL;
 211     _last = NULL;
 212     _size = 0;
 213     _first_stale = NULL;
 214   }
 215 
 216   const char*  name() const                      { return _name; }

 217 
 218   void         add(CompileTask* task);
 219   void         remove(CompileTask* task);
 220   void         remove_and_mark_stale(CompileTask* task);
 221   CompileTask* first()                           { return _first; }
 222   CompileTask* last()                            { return _last;  }
 223 
 224   CompileTask* get();
 225 
 226   bool         is_empty() const                  { return _first == NULL; }
 227   int          size()     const                  { return _size;          }
 228 
 229 
 230   // Redefine Classes support
 231   void mark_on_stack();
 232   void free_all();
 233   void print_tty();
 234   void print(outputStream* st = tty);
 235 
 236   ~CompileQueue() {


src/share/vm/compiler/compileBroker.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File