hotspot/src/share/vm/services/memTracker.hpp
changeset 13859 7fe4578493fc
parent 13744 631fe815def5
child 13861 619cff4bfb8b
equal deleted inserted replaced
13856:bb11e2aa5265 13859:7fe4578493fc
   183 
   183 
   184   // record a 'malloc' call
   184   // record a 'malloc' call
   185   static inline void record_malloc(address addr, size_t size, MEMFLAGS flags,
   185   static inline void record_malloc(address addr, size_t size, MEMFLAGS flags,
   186                             address pc = 0, Thread* thread = NULL) {
   186                             address pc = 0, Thread* thread = NULL) {
   187     if (NMT_CAN_TRACK(flags)) {
   187     if (NMT_CAN_TRACK(flags)) {
       
   188       assert(size > 0, "Sanity check");
   188       create_memory_record(addr, (flags|MemPointerRecord::malloc_tag()), size, pc, thread);
   189       create_memory_record(addr, (flags|MemPointerRecord::malloc_tag()), size, pc, thread);
   189     }
   190     }
   190   }
   191   }
   191   // record a 'free' call
   192   // record a 'free' call
   192   static inline void record_free(address addr, MEMFLAGS flags, Thread* thread = NULL) {
   193   static inline void record_free(address addr, MEMFLAGS flags, Thread* thread = NULL) {
   196   }
   197   }
   197   // record a 'realloc' call
   198   // record a 'realloc' call
   198   static inline void record_realloc(address old_addr, address new_addr, size_t size,
   199   static inline void record_realloc(address old_addr, address new_addr, size_t size,
   199        MEMFLAGS flags, address pc = 0, Thread* thread = NULL) {
   200        MEMFLAGS flags, address pc = 0, Thread* thread = NULL) {
   200     if (is_on()) {
   201     if (is_on()) {
       
   202       assert(size > 0, "Sanity check");
   201       record_free(old_addr, flags, thread);
   203       record_free(old_addr, flags, thread);
   202       record_malloc(new_addr, size, flags, pc, thread);
   204       record_malloc(new_addr, size, flags, pc, thread);
   203     }
   205     }
   204   }
   206   }
   205 
   207 
   206   // record arena size
   208   // record arena size
   207   static inline void record_arena_size(address addr, size_t size) {
   209   static inline void record_arena_size(address addr, size_t size) {
   208     // we add a positive offset to arena address, so we can have arena size record
   210     // we add a positive offset to arena address, so we can have arena size record
   209     // sorted after arena record
   211     // sorted after arena record
   210     if (is_on() && !UseMallocOnly) {
   212     if (is_on() && !UseMallocOnly) {
       
   213       assert(addr != NULL, "Sanity check");
   211       create_memory_record((addr + sizeof(void*)), MemPointerRecord::arena_size_tag(), size,
   214       create_memory_record((addr + sizeof(void*)), MemPointerRecord::arena_size_tag(), size,
   212         0, NULL);
   215         0, NULL);
   213     }
   216     }
   214   }
   217   }
   215 
   218 
   216   // record a virtual memory 'reserve' call
   219   // record a virtual memory 'reserve' call
   217   static inline void record_virtual_memory_reserve(address addr, size_t size,
   220   static inline void record_virtual_memory_reserve(address addr, size_t size,
   218                             address pc = 0, Thread* thread = NULL) {
   221                             address pc = 0, Thread* thread = NULL) {
   219     if (is_on()) {
   222     if (is_on()) {
   220       assert(size > 0, "reserve szero size");
   223       assert(size > 0, "Sanity check");
   221       create_memory_record(addr, MemPointerRecord::virtual_memory_reserve_tag(),
   224       create_memory_record(addr, MemPointerRecord::virtual_memory_reserve_tag(),
   222                            size, pc, thread);
   225                            size, pc, thread);
   223     }
   226     }
   224   }
   227   }
   225 
   228 
   246 
   249 
   247   // record a virtual memory 'commit' call
   250   // record a virtual memory 'commit' call
   248   static inline void record_virtual_memory_commit(address addr, size_t size,
   251   static inline void record_virtual_memory_commit(address addr, size_t size,
   249                             address pc = 0, Thread* thread = NULL) {
   252                             address pc = 0, Thread* thread = NULL) {
   250     if (is_on()) {
   253     if (is_on()) {
       
   254       assert(size > 0, "Sanity check");
   251       create_memory_record(addr, MemPointerRecord::virtual_memory_commit_tag(),
   255       create_memory_record(addr, MemPointerRecord::virtual_memory_commit_tag(),
   252                            size, DEBUG_CALLER_PC, thread);
   256                            size, DEBUG_CALLER_PC, thread);
   253     }
   257     }
   254   }
   258   }
   255 
   259 
   256   // record a virtual memory 'uncommit' call
   260   // record a virtual memory 'uncommit' call
   257   static inline void record_virtual_memory_uncommit(address addr, size_t size,
   261   static inline void record_virtual_memory_uncommit(address addr, size_t size,
   258                             Thread* thread = NULL) {
   262                             Thread* thread = NULL) {
   259     if (is_on()) {
   263     if (is_on()) {
       
   264       assert(size > 0, "Sanity check");
   260       create_memory_record(addr, MemPointerRecord::virtual_memory_uncommit_tag(),
   265       create_memory_record(addr, MemPointerRecord::virtual_memory_uncommit_tag(),
   261                            size, DEBUG_CALLER_PC, thread);
   266                            size, DEBUG_CALLER_PC, thread);
   262     }
   267     }
   263   }
   268   }
   264 
   269 
   265   // record a virtual memory 'release' call
   270   // record a virtual memory 'release' call
   266   static inline void record_virtual_memory_release(address addr, size_t size,
   271   static inline void record_virtual_memory_release(address addr, size_t size,
   267                             Thread* thread = NULL) {
   272                             Thread* thread = NULL) {
   268     if (is_on()) {
   273     if (is_on()) {
       
   274       assert(size > 0, "Sanity check");
   269       create_memory_record(addr, MemPointerRecord::virtual_memory_release_tag(),
   275       create_memory_record(addr, MemPointerRecord::virtual_memory_release_tag(),
   270                            size, DEBUG_CALLER_PC, thread);
   276                            size, DEBUG_CALLER_PC, thread);
   271     }
   277     }
   272   }
   278   }
   273 
   279