1.1 --- a/src/share/vm/utilities/workgroup.cpp Wed Jun 27 15:23:36 2012 +0200 1.2 +++ b/src/share/vm/utilities/workgroup.cpp Thu Jun 28 17:03:16 2012 -0400 1.3 @@ -77,7 +77,7 @@ 1.4 name(), 1.5 total_workers()); 1.6 } 1.7 - _gang_workers = NEW_C_HEAP_ARRAY(GangWorker*, total_workers()); 1.8 + _gang_workers = NEW_C_HEAP_ARRAY(GangWorker*, total_workers(), mtInternal); 1.9 if (gang_workers() == NULL) { 1.10 vm_exit_out_of_memory(0, "Cannot create GangWorker array."); 1.11 return false; 1.12 @@ -241,6 +241,7 @@ 1.13 1.14 void GangWorker::initialize() { 1.15 this->initialize_thread_local_storage(); 1.16 + this->record_stack_base_and_size(); 1.17 assert(_gang != NULL, "No gang to run in"); 1.18 os::set_priority(this, NearMaxPriority); 1.19 if (TraceWorkGang) { 1.20 @@ -421,7 +422,7 @@ 1.21 1.22 SubTasksDone::SubTasksDone(uint n) : 1.23 _n_tasks(n), _n_threads(1), _tasks(NULL) { 1.24 - _tasks = NEW_C_HEAP_ARRAY(uint, n); 1.25 + _tasks = NEW_C_HEAP_ARRAY(uint, n, mtInternal); 1.26 guarantee(_tasks != NULL, "alloc failure"); 1.27 clear(); 1.28 } 1.29 @@ -476,7 +477,7 @@ 1.30 1.31 1.32 SubTasksDone::~SubTasksDone() { 1.33 - if (_tasks != NULL) FREE_C_HEAP_ARRAY(jint, _tasks); 1.34 + if (_tasks != NULL) FREE_C_HEAP_ARRAY(jint, _tasks, mtInternal); 1.35 } 1.36 1.37 // *** SequentialSubTasksDone