comparison src/share/vm/prims/jvmtiEnvBase.hpp @ 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 e6b1331a51d2
children da91efe96a93
comparison
equal deleted inserted replaced
6174:74533f63b116 6197:d2a62e0f25eb
50 50
51 // One JvmtiEnv object is created per jvmti attachment; 51 // One JvmtiEnv object is created per jvmti attachment;
52 // done via JNI GetEnv() call. Multiple attachments are 52 // done via JNI GetEnv() call. Multiple attachments are
53 // allowed in jvmti. 53 // allowed in jvmti.
54 54
55 class JvmtiEnvBase : public CHeapObj { 55 class JvmtiEnvBase : public CHeapObj<mtInternal> {
56 56
57 private: 57 private:
58 58
59 static JvmtiEnvBase* _head_environment; // head of environment list 59 static JvmtiEnvBase* _head_environment; // head of environment list
60 60
173 return JVMTI_ERROR_ILLEGAL_ARGUMENT; 173 return JVMTI_ERROR_ILLEGAL_ARGUMENT;
174 } 174 }
175 if (size == 0) { 175 if (size == 0) {
176 *mem_ptr = NULL; 176 *mem_ptr = NULL;
177 } else { 177 } else {
178 *mem_ptr = (unsigned char *)os::malloc((size_t)size); 178 *mem_ptr = (unsigned char *)os::malloc((size_t)size, mtInternal);
179 if (*mem_ptr == NULL) { 179 if (*mem_ptr == NULL) {
180 return JVMTI_ERROR_OUT_OF_MEMORY; 180 return JVMTI_ERROR_OUT_OF_MEMORY;
181 } 181 }
182 } 182 }
183 return JVMTI_ERROR_NONE; 183 return JVMTI_ERROR_NONE;
184 } 184 }
185 185
186 jvmtiError deallocate(unsigned char* mem) { 186 jvmtiError deallocate(unsigned char* mem) {
187 if (mem != NULL) { 187 if (mem != NULL) {
188 os::free(mem); 188 os::free(mem, mtInternal);
189 } 189 }
190 return JVMTI_ERROR_NONE; 190 return JVMTI_ERROR_NONE;
191 } 191 }
192 192
193 193