24 INLINE
bool MemoryUsage::
25 get_track_memory_usage() {
26 return get_global_ptr()->_track_memory_usage;
35 INLINE
void MemoryUsage::
37 get_global_ptr()->ns_record_pointer(ptr);
49 INLINE
void MemoryUsage::
51 get_global_ptr()->ns_update_type(ptr, type);
64 INLINE
void MemoryUsage::
66 get_global_ptr()->ns_update_type(ptr, typed_ptr);
75 INLINE
void MemoryUsage::
77 get_global_ptr()->ns_remove_pointer(ptr);
87 INLINE
bool MemoryUsage::
89 return get_global_ptr()->_track_memory_usage;
99 INLINE
bool MemoryUsage::
101 return get_global_ptr()->_count_memory_usage;
111 INLINE
size_t MemoryUsage::
112 get_current_cpp_size() {
113 return get_global_ptr()->_current_cpp_size;
123 INLINE
size_t MemoryUsage::
124 get_total_cpp_size() {
125 return get_global_ptr()->_total_cpp_size;
134 INLINE
size_t MemoryUsage::
135 get_panda_heap_single_size() {
145 INLINE
size_t MemoryUsage::
146 get_panda_heap_array_size() {
158 INLINE
size_t MemoryUsage::
159 get_panda_heap_overhead() {
160 #if defined(USE_MEMORY_DLMALLOC) || defined(USE_MEMORY_PTMALLOC2) 161 MemoryUsage *mu = get_global_ptr();
174 INLINE
size_t MemoryUsage::
175 get_panda_mmap_size() {
195 INLINE
size_t MemoryUsage::
196 get_external_size() {
197 MemoryUsage *mu = get_global_ptr();
198 if (mu->_count_memory_usage) {
202 #if defined(USE_MEMORY_DLMALLOC) || defined(USE_MEMORY_PTMALLOC2) 205 return mu->_total_size;
209 return mu->_total_size - (size_t)mu->_total_heap_single_size - (
size_t)mu->_total_heap_array_size;
222 INLINE
size_t MemoryUsage::
224 MemoryUsage *mu = get_global_ptr();
225 if (mu->_count_memory_usage) {
226 return mu->_total_size + (size_t)mu->_requested_heap_size;
228 #if defined(USE_MEMORY_DLMALLOC) || defined(USE_MEMORY_PTMALLOC2) 229 return (
size_t)mu->_requested_heap_size;
241 INLINE
int MemoryUsage::
243 return get_global_ptr()->ns_get_num_pointers();
252 INLINE
void MemoryUsage::
253 get_pointers(MemoryUsagePointers &result) {
254 get_global_ptr()->ns_get_pointers(result);
264 INLINE
void MemoryUsage::
265 get_pointers_of_type(MemoryUsagePointers &result,
TypeHandle type) {
266 get_global_ptr()->ns_get_pointers_of_type(result, type);
276 INLINE
void MemoryUsage::
277 get_pointers_of_age(MemoryUsagePointers &result,
double from,
double to) {
278 get_global_ptr()->ns_get_pointers_of_age(result, from, to);
304 INLINE
void MemoryUsage::
305 get_pointers_with_zero_count(MemoryUsagePointers &result) {
306 get_global_ptr()->ns_get_pointers_with_zero_count(result);
319 INLINE
void MemoryUsage::
321 get_global_ptr()->ns_freeze();
330 INLINE
void MemoryUsage::
331 show_current_types() {
332 get_global_ptr()->ns_show_current_types();
342 INLINE
void MemoryUsage::
344 get_global_ptr()->ns_show_trend_types();
353 INLINE
void MemoryUsage::
354 show_current_ages() {
355 get_global_ptr()->ns_show_current_ages();
365 INLINE
void MemoryUsage::
367 get_global_ptr()->ns_show_trend_ages();
376 INLINE MemoryUsage *MemoryUsage::
378 if (_global_ptr == (MemoryUsage *)NULL) {
380 _global_ptr =
new MemoryUsage(*memory_hook);
381 memory_hook = _global_ptr;
This is an abstract class that all classes which use TypeHandle, and also provide virtual functions t...
static Integer get(const Integer &var)
Atomically retrieves the snapshot value of the indicated variable.
A base class for all things that want to be reference-counted.
TypeHandle is the identifier used to differentiate C++ class types.