diff -r 5d2156bcb78b -r 33143ee07800 src/share/vm/runtime/thread.cpp --- a/src/share/vm/runtime/thread.cpp Tue Sep 04 16:20:28 2012 -0700 +++ b/src/share/vm/runtime/thread.cpp Tue Sep 11 20:53:17 2012 -0400 @@ -318,10 +318,9 @@ set_stack_size(os::current_stack_size()); // record thread's native stack, stack grows downward - address vm_base = _stack_base - _stack_size; - MemTracker::record_virtual_memory_reserve(vm_base, _stack_size, - CURRENT_PC, this); - MemTracker::record_virtual_memory_type(vm_base, mtThreadStack); + address low_stack_addr = stack_base() - stack_size(); + MemTracker::record_thread_stack(low_stack_addr, stack_size(), this, + CURRENT_PC); } @@ -329,8 +328,8 @@ // Reclaim the objectmonitors from the omFreeList of the moribund thread. ObjectSynchronizer::omFlush (this) ; - MemTracker::record_virtual_memory_release((_stack_base - _stack_size), - _stack_size, this); + address low_stack_addr = stack_base() - stack_size(); + MemTracker::release_thread_stack(low_stack_addr, stack_size(), this); // deallocate data structures delete resource_area();