diff src/share/vm/utilities/taskqueue.hpp @ 9073:83f27710f5f7

7197666: java -d64 -version core dumps in a box with lots of memory Summary: Allow task queues to be mmapped instead of malloced on Solaris Reviewed-by: coleenp, jmasa, johnc, tschatzl
author brutisso
date Mon, 08 Apr 2013 07:49:28 +0200
parents 3dfffc8b9722
children ef57c43512d6
line wrap: on
line diff
--- a/src/share/vm/utilities/taskqueue.hpp	Mon Feb 11 10:31:56 2013 -0800
+++ b/src/share/vm/utilities/taskqueue.hpp	Mon Apr 08 07:49:28 2013 +0200
@@ -253,6 +253,7 @@
 
 template <class E, MEMFLAGS F, unsigned int N = TASKQUEUE_SIZE>
 class GenericTaskQueue: public TaskQueueSuper<N, F> {
+  ArrayAllocator<E, F> _array_allocator;
 protected:
   typedef typename TaskQueueSuper<N, F>::Age Age;
   typedef typename TaskQueueSuper<N, F>::idx_t idx_t;
@@ -314,7 +315,7 @@
 
 template<class E, MEMFLAGS F, unsigned int N>
 void GenericTaskQueue<E, F, N>::initialize() {
-  _elems = NEW_C_HEAP_ARRAY(E, N, F);
+  _elems = _array_allocator.allocate(N);
 }
 
 template<class E, MEMFLAGS F, unsigned int N>