1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp Wed Jun 27 15:23:36 2012 +0200 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp Thu Jun 28 17:03:16 2012 -0400 1.3 @@ -116,7 +116,7 @@ 1.4 } 1.5 1.6 GCTaskQueue* GCTaskQueue::create_on_c_heap() { 1.7 - GCTaskQueue* result = new(ResourceObj::C_HEAP) GCTaskQueue(true); 1.8 + GCTaskQueue* result = new(ResourceObj::C_HEAP, mtGC) GCTaskQueue(true); 1.9 if (TraceGCTaskQueue) { 1.10 tty->print_cr("GCTaskQueue::create_on_c_heap()" 1.11 " returns " INTPTR_FORMAT, 1.12 @@ -403,19 +403,19 @@ 1.13 _queue = SynchronizedGCTaskQueue::create(unsynchronized_queue, lock()); 1.14 _noop_task = NoopGCTask::create_on_c_heap(); 1.15 _idle_inactive_task = WaitForBarrierGCTask::create_on_c_heap(); 1.16 - _resource_flag = NEW_C_HEAP_ARRAY(bool, workers()); 1.17 + _resource_flag = NEW_C_HEAP_ARRAY(bool, workers(), mtGC); 1.18 { 1.19 // Set up worker threads. 1.20 // Distribute the workers among the available processors, 1.21 // unless we were told not to, or if the os doesn't want to. 1.22 - uint* processor_assignment = NEW_C_HEAP_ARRAY(uint, workers()); 1.23 + uint* processor_assignment = NEW_C_HEAP_ARRAY(uint, workers(), mtGC); 1.24 if (!BindGCTaskThreadsToCPUs || 1.25 !os::distribute_processes(workers(), processor_assignment)) { 1.26 for (uint a = 0; a < workers(); a += 1) { 1.27 processor_assignment[a] = sentinel_worker(); 1.28 } 1.29 } 1.30 - _thread = NEW_C_HEAP_ARRAY(GCTaskThread*, workers()); 1.31 + _thread = NEW_C_HEAP_ARRAY(GCTaskThread*, workers(), mtGC); 1.32 for (uint t = 0; t < workers(); t += 1) { 1.33 set_thread(t, GCTaskThread::create(this, t, processor_assignment[t])); 1.34 } 1.35 @@ -426,7 +426,7 @@ 1.36 } 1.37 tty->cr(); 1.38 } 1.39 - FREE_C_HEAP_ARRAY(uint, processor_assignment); 1.40 + FREE_C_HEAP_ARRAY(uint, processor_assignment, mtGC); 1.41 } 1.42 reset_busy_workers(); 1.43 set_unblocked(); 1.44 @@ -455,11 +455,11 @@ 1.45 GCTaskThread::destroy(thread(i)); 1.46 set_thread(i, NULL); 1.47 } 1.48 - FREE_C_HEAP_ARRAY(GCTaskThread*, _thread); 1.49 + FREE_C_HEAP_ARRAY(GCTaskThread*, _thread, mtGC); 1.50 _thread = NULL; 1.51 } 1.52 if (_resource_flag != NULL) { 1.53 - FREE_C_HEAP_ARRAY(bool, _resource_flag); 1.54 + FREE_C_HEAP_ARRAY(bool, _resource_flag, mtGC); 1.55 _resource_flag = NULL; 1.56 } 1.57 if (queue() != NULL) { 1.58 @@ -817,7 +817,7 @@ 1.59 } 1.60 1.61 NoopGCTask* NoopGCTask::create_on_c_heap() { 1.62 - NoopGCTask* result = new(ResourceObj::C_HEAP) NoopGCTask(true); 1.63 + NoopGCTask* result = new(ResourceObj::C_HEAP, mtGC) NoopGCTask(true); 1.64 return result; 1.65 } 1.66 1.67 @@ -848,7 +848,7 @@ 1.68 } 1.69 1.70 IdleGCTask* IdleGCTask::create_on_c_heap() { 1.71 - IdleGCTask* result = new(ResourceObj::C_HEAP) IdleGCTask(true); 1.72 + IdleGCTask* result = new(ResourceObj::C_HEAP, mtGC) IdleGCTask(true); 1.73 assert(UseDynamicNumberOfGCThreads, 1.74 "Should only be used with dynamic GC thread"); 1.75 return result; 1.76 @@ -984,7 +984,7 @@ 1.77 1.78 WaitForBarrierGCTask* WaitForBarrierGCTask::create_on_c_heap() { 1.79 WaitForBarrierGCTask* result = 1.80 - new (ResourceObj::C_HEAP) WaitForBarrierGCTask(true); 1.81 + new (ResourceObj::C_HEAP, mtGC) WaitForBarrierGCTask(true); 1.82 return result; 1.83 } 1.84 1.85 @@ -1114,7 +1114,7 @@ 1.86 // Lazy initialization. 1.87 if (freelist() == NULL) { 1.88 _freelist = 1.89 - new(ResourceObj::C_HEAP) GrowableArray<Monitor*>(ParallelGCThreads, 1.90 + new(ResourceObj::C_HEAP, mtGC) GrowableArray<Monitor*>(ParallelGCThreads, 1.91 true); 1.92 } 1.93 if (! freelist()->is_empty()) {