Mercurial > hg > truffle
diff src/share/vm/memory/genOopClosures.hpp @ 1311:2a1472c30599
4396719: Mark Sweep stack overflow on deeply nested Object arrays
Summary: Use an explicit stack for object arrays and process them in chunks.
Reviewed-by: iveresov, apetrusenko
author | jcoomes |
---|---|
date | Wed, 03 Mar 2010 14:48:26 -0800 |
parents | df6caf649ff7 |
children | c18cbe5936b8 |
line wrap: on
line diff
--- a/src/share/vm/memory/genOopClosures.hpp Wed Mar 03 08:10:41 2010 -0800 +++ b/src/share/vm/memory/genOopClosures.hpp Wed Mar 03 14:48:26 2010 -0800 @@ -28,10 +28,10 @@ class CardTableModRefBS; class DefNewGeneration; -template<class E> class GenericTaskQueue; -typedef GenericTaskQueue<oop> OopTaskQueue; -template<class E> class GenericTaskQueueSet; -typedef GenericTaskQueueSet<oop> OopTaskQueueSet; +template<class E, unsigned int N> class GenericTaskQueue; +typedef GenericTaskQueue<oop, TASKQUEUE_SIZE> OopTaskQueue; +template<class T> class GenericTaskQueueSet; +typedef GenericTaskQueueSet<OopTaskQueue> OopTaskQueueSet; // Closure for iterating roots from a particular generation // Note: all classes deriving from this MUST call this do_barrier