il2cpp-runtime-stats.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include "il2cpp-runtime-stats.h"
  2. Il2CppRuntimeStats il2cpp_runtime_stats = {{ 0 }};
  3. #if IL2CPP_ENABLE_MEM_STATS
  4. Il2CppMemStats il2cpp_mem_stats = {{ 0 }};
  5. const char* g_Il2CppMemLabelName[IL2CPP_MEM_LABLE_COUNT] = {
  6. "IL2CPP_MEM_META_POOL ", //metadata_pool
  7. "IL2CPP_MEM_HASH_TABLE ",// hash used
  8. "IL2CPP_MEM_FromTypeDefinition ",
  9. "IL2CPP_MEM_GLOBAL_METADATA ",
  10. "IL2CPP_MEM_MEMORY_MAP ",
  11. "IL2CPP_MEM_GC_HANDLE ",
  12. "IL2CPP_MEM_Cryptography ",
  13. "IL2CPP_MEM_il2cpp_alloc ",
  14. "IL2CPP_MEM_IMAGE ",
  15. "IL2CPP_MEM_STRING ",
  16. "IL2CPP_MEM_MonoGenericParameterInfo",
  17. "IL2CPP_MEM_GatherMetadata ",
  18. "IL2CPP_MEM_THREAD ",
  19. "IL2CPP_MEM_DYNAMIC_ARRAY ",
  20. "IL2CPP_MEM_MonoAssemblyName ",
  21. "IL2CPP_MEM_RCW ",
  22. "IL2CPP_MEM_GPtrArray ",
  23. "IL2CPP_MEM_MonoMethodSignature ",
  24. "IL2CPP_MEM_MonoMethodHeader ",
  25. "IL2CPP_MEM_METADATA_CACHE ",
  26. "IL2CPP_MEM_CustomAttributesCache ",
  27. "IL2CPP_MEM_DomainData ",
  28. "IL2CPP_MEM_FindHandle ",
  29. "IL2CPP_MEM_OS_ALLOCATOR ",
  30. "IL2CPP_MEM_WeakReference ",
  31. "IL2CPP_MEM_ActivationFactory ",
  32. "IL2CPP_MEM_ManagedObject ",
  33. "IL2CPP_MEM_CpuUsageState ",
  34. "IL2CPP_MEM_Socket ",
  35. "IL2CPP_MEM_CustomAttribute ",
  36. "IL2CPP_MEM_GC ",
  37. "IL2CPP_MEM_MonoDebugLocalsInfo ",
  38. "IL2CPP_MEM_DEBUGGER ",
  39. };
  40. std::map<void*, size_t>& GetAllocMap()
  41. {
  42. static std::map<void*, size_t> sAllocMap;
  43. return sAllocMap;
  44. }
  45. std::map<void*, size_t>& GetHashAllocMap()
  46. {
  47. static std::map<void*, size_t> sHashAllocMap;
  48. return sHashAllocMap;
  49. }
  50. void mem_stats_add_on_label(Il2CppMemStat label, std::size_t s)
  51. {
  52. il2cpp_mem_stats.meta.sizes[label] += s;
  53. }
  54. #endif //IL2CPP_ENABLE_MEM_STATS