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() {
240 assert (is_empty(), " Compile Queue must be empty");
241 }
242 };
243
244 // CompileTaskWrapper
245 //
246 // Assign this task to the current thread. Deallocate the task
247 // when the compilation is complete.
248 class CompileTaskWrapper : StackObj {
249 public:
250 CompileTaskWrapper(CompileTask* task);
251 ~CompileTaskWrapper();
252 };
253
254
255 // Compilation
256 //
257 // The broker for all compilation requests.
|
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 void print_with_lock(outputStream* st = tty);
239
240 ~CompileQueue() {
241 assert (is_empty(), " Compile Queue must be empty");
242 }
243 };
244
245 // CompileTaskWrapper
246 //
247 // Assign this task to the current thread. Deallocate the task
248 // when the compilation is complete.
249 class CompileTaskWrapper : StackObj {
250 public:
251 CompileTaskWrapper(CompileTask* task);
252 ~CompileTaskWrapper();
253 };
254
255
256 // Compilation
257 //
258 // The broker for all compilation requests.
|