--- old/src/share/vm/compiler/compileBroker.hpp 2014-05-14 03:16:16.000000000 +0400 +++ new/src/share/vm/compiler/compileBroker.hpp 2014-05-14 03:16:16.000000000 +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();