src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp

changeset 3900
d2a62e0f25eb
parent 3328
6d7d0790074d
child 4153
b9a9ed0f8eeb
     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()) {

mercurial