--- a/hotspot/src/share/vm/compiler/compileBroker.hpp Tue May 13 11:32:10 2014 -0700
+++ b/hotspot/src/share/vm/compiler/compileBroker.hpp Tue Mar 11 15:06:34 2014 +0400
@@ -196,7 +196,11 @@
CompileTask* _first;
CompileTask* _last;
+ CompileTask* _first_stale;
+
int _size;
+
+ void purge_stale_tasks();
public:
CompileQueue(const char* name, Monitor* lock) {
_name = name;
@@ -204,6 +208,7 @@
_first = NULL;
_last = NULL;
_size = 0;
+ _first_stale = NULL;
}
const char* name() const { return _name; }
@@ -211,6 +216,7 @@
void add(CompileTask* task);
void remove(CompileTask* task);
+ void remove_and_mark_stale(CompileTask* task);
CompileTask* first() { return _first; }
CompileTask* last() { return _last; }
@@ -219,6 +225,7 @@
bool is_empty() const { return _first == NULL; }
int size() const { return _size; }
+
// Redefine Classes support
void mark_on_stack();
void free_all();