Mercurial > hg > graal-compiler
diff src/share/vm/gc_implementation/parNew/parNewGeneration.hpp @ 1836:894b1d7c7e01
6423256: GC stacks should use a better data structure
6942771: SEGV in ParScanThreadState::take_from_overflow_stack
Reviewed-by: apetrusenko, ysr, pbk
author | jcoomes |
---|---|
date | Tue, 28 Sep 2010 15:56:15 -0700 |
parents | 8b10f48633dc |
children | f95d63e2154a |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp Tue Sep 28 09:51:37 2010 -0700 +++ b/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp Tue Sep 28 15:56:15 2010 -0700 @@ -52,7 +52,7 @@ friend class ParScanThreadStateSet; private: ObjToScanQueue *_work_queue; - GrowableArray<oop>* _overflow_stack; + Stack<oop>* const _overflow_stack; ParGCAllocBuffer _to_space_alloc_buffer; @@ -120,7 +120,7 @@ ParScanThreadState(Space* to_space_, ParNewGeneration* gen_, Generation* old_gen_, int thread_num_, ObjToScanQueueSet* work_queue_set_, - GrowableArray<oop>** overflow_stack_set_, + Stack<oop>* overflow_stacks_, size_t desired_plab_sz_, ParallelTaskTerminator& term_); @@ -144,7 +144,7 @@ void trim_queues(int max_size); // Private overflow stack usage - GrowableArray<oop>* overflow_stack() { return _overflow_stack; } + Stack<oop>* overflow_stack() { return _overflow_stack; } bool take_from_overflow_stack(); void push_on_overflow_stack(oop p); @@ -301,7 +301,7 @@ ObjToScanQueueSet* _task_queues; // Per-worker-thread local overflow stacks - GrowableArray<oop>** _overflow_stacks; + Stack<oop>* _overflow_stacks; // Desired size of survivor space plab's PLABStats _plab_stats;