OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef RUNTIME_VM_MALLOC_HOOKS_H_ | 5 #ifndef RUNTIME_VM_MALLOC_HOOKS_H_ |
6 #define RUNTIME_VM_MALLOC_HOOKS_H_ | 6 #define RUNTIME_VM_MALLOC_HOOKS_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
10 | 10 |
11 namespace dart { | 11 namespace dart { |
12 | 12 |
13 class JSONObject; | 13 class JSONObject; |
14 class Sample; | 14 class Sample; |
15 | 15 |
16 class MallocHooks : public AllStatic { | 16 class MallocHooks : public AllStatic { |
17 public: | 17 public: |
18 static void InitOnce(); | 18 static void InitOnce(); |
19 static void TearDown(); | 19 static void TearDown(); |
20 static bool ProfilingEnabled(); | 20 static bool ProfilingEnabled(); |
21 static bool stack_trace_collection_enabled(); | 21 static bool stack_trace_collection_enabled(); |
22 static void set_stack_trace_collection_enabled(bool enabled); | 22 static void set_stack_trace_collection_enabled(bool enabled); |
23 static void ResetStats(); | 23 static void ResetStats(); |
24 static bool Active(); | 24 static bool Active(); |
25 static void PrintToJSONObject(JSONObject* jsobj); | 25 static void PrintToJSONObject(JSONObject* jsobj); |
26 static Sample* GetSample(const void* ptr); | 26 static Sample* GetSample(const void* ptr); |
27 | 27 static bool NativeAllocationFreed(const void* ptr); |
28 static intptr_t allocation_count(); | 28 static intptr_t allocation_count(); |
29 static intptr_t heap_allocated_memory_in_bytes(); | 29 static intptr_t heap_allocated_memory_in_bytes(); |
30 }; | 30 }; |
31 | 31 |
32 } // namespace dart | 32 } // namespace dart |
33 | 33 |
34 #endif // RUNTIME_VM_MALLOC_HOOKS_H_ | 34 #endif // RUNTIME_VM_MALLOC_HOOKS_H_ |
OLD | NEW |