Mercurial > hg > graal-compiler
diff src/share/vm/utilities/array.cpp @ 6197:d2a62e0f25eb
6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking
Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd
Reviewed-by: acorn, coleenp, fparain
author | zgu |
---|---|
date | Thu, 28 Jun 2012 17:03:16 -0400 |
parents | f08d439fab8c |
children | b9a9ed0f8eeb |
line wrap: on
line diff
--- a/src/share/vm/utilities/array.cpp Wed Jun 27 15:23:36 2012 +0200 +++ b/src/share/vm/utilities/array.cpp Thu Jun 28 17:03:16 2012 -0400 @@ -49,7 +49,7 @@ void ResourceArray::sort(size_t esize, ftype f) { if (!is_empty()) qsort(_data, length(), esize, f); } -void CHeapArray::sort(size_t esize, ftype f) { +template <MEMFLAGS F> void CHeapArray<F>::sort(size_t esize, ftype f) { if (!is_empty()) qsort(_data, length(), esize, f); } @@ -70,14 +70,14 @@ } -void CHeapArray::expand(size_t esize, int i, int& size) { +template <MEMFLAGS F> void CHeapArray<F>::expand(size_t esize, int i, int& size) { // determine new size if (size == 0) size = 4; // prevent endless loop while (i >= size) size *= 2; // allocate and initialize new data section - void* data = NEW_C_HEAP_ARRAY(char*, esize * size); + void* data = NEW_C_HEAP_ARRAY(char*, esize * size, F); memcpy(data, _data, esize * length()); - FREE_C_HEAP_ARRAY(char*, _data); + FREE_C_HEAP_ARRAY(char*, _data, F); _data = data; } @@ -91,7 +91,7 @@ memmove(dst, src, cnt); } -void CHeapArray::remove_at(size_t esize, int i) { +template <MEMFLAGS F> void CHeapArray<F>::remove_at(size_t esize, int i) { assert(0 <= i && i < length(), "index out of bounds"); _length--; void* dst = (char*)_data + i*esize;