| 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 // The number of frames that are generated by the malloc hooks and collection | 
|  | 17 // of the stack trace. These frames are ignored when collecting the stack | 
|  | 18 // trace for a memory allocation. If this number is incorrect, some tests in | 
|  | 19 // malloc_hook_tests.cc might fail, particularily | 
|  | 20 // StackTraceMallocHookLengthTest. If this value is updated, please make sure | 
|  | 21 // that the MallocHooks test cases pass on all platforms. | 
|  | 22 extern const intptr_t kSkipCount; | 
|  | 23 | 
| 16 class MallocHooks : public AllStatic { | 24 class MallocHooks : public AllStatic { | 
| 17  public: | 25  public: | 
| 18   static void InitOnce(); | 26   static void InitOnce(); | 
| 19   static void TearDown(); | 27   static void TearDown(); | 
| 20   static bool ProfilingEnabled(); | 28   static bool ProfilingEnabled(); | 
| 21   static bool stack_trace_collection_enabled(); | 29   static bool stack_trace_collection_enabled(); | 
| 22   static void set_stack_trace_collection_enabled(bool enabled); | 30   static void set_stack_trace_collection_enabled(bool enabled); | 
| 23   static void ResetStats(); | 31   static void ResetStats(); | 
| 24   static bool Active(); | 32   static bool Active(); | 
| 25   static void PrintToJSONObject(JSONObject* jsobj); | 33   static void PrintToJSONObject(JSONObject* jsobj); | 
| 26   static Sample* GetSample(const void* ptr); | 34   static Sample* GetSample(const void* ptr); | 
| 27 | 35 | 
| 28   static intptr_t allocation_count(); | 36   static intptr_t allocation_count(); | 
| 29   static intptr_t heap_allocated_memory_in_bytes(); | 37   static intptr_t heap_allocated_memory_in_bytes(); | 
| 30 }; | 38 }; | 
| 31 | 39 | 
| 32 }  // namespace dart | 40 }  // namespace dart | 
| 33 | 41 | 
| 34 #endif  // RUNTIME_VM_MALLOC_HOOKS_H_ | 42 #endif  // RUNTIME_VM_MALLOC_HOOKS_H_ | 
| OLD | NEW | 
|---|