| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 1461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1472 #undef SNAPSHOT_HEAP | 1472 #undef SNAPSHOT_HEAP |
| 1473 | 1473 |
| 1474 if (type == SnapshotType::FreelistSnapshot) | 1474 if (type == SnapshotType::FreelistSnapshot) |
| 1475 return; | 1475 return; |
| 1476 | 1476 |
| 1477 size_t totalLiveCount = 0; | 1477 size_t totalLiveCount = 0; |
| 1478 size_t totalDeadCount = 0; | 1478 size_t totalDeadCount = 0; |
| 1479 size_t totalLiveSize = 0; | 1479 size_t totalLiveSize = 0; |
| 1480 size_t totalDeadSize = 0; | 1480 size_t totalDeadSize = 0; |
| 1481 for (size_t gcInfoIndex = 1; gcInfoIndex <= GCInfoTable::gcInfoIndex(); ++gc
InfoIndex) { | 1481 for (size_t gcInfoIndex = 1; gcInfoIndex <= GCInfoTable::gcInfoIndex(); ++gc
InfoIndex) { |
| 1482 String dumpName = classesDumpName + String::format("/%lu_", static_cast<
unsigned long>(gcInfoIndex)); | |
| 1483 #if ENABLE(DETAILED_MEMORY_INFRA) | |
| 1484 dumpName.append(Heap::gcInfo(gcInfoIndex)->className()); | |
| 1485 #endif | |
| 1486 WebMemoryAllocatorDump* classDump = BlinkGCMemoryDumpProvider::instance(
)->createMemoryAllocatorDumpForCurrentGC(dumpName); | |
| 1487 classDump->addScalar("live_count", "objects", info.liveCount[gcInfoIndex
]); | |
| 1488 classDump->addScalar("dead_count", "objects", info.deadCount[gcInfoIndex
]); | |
| 1489 classDump->addScalar("live_size", "bytes", info.liveSize[gcInfoIndex]); | |
| 1490 classDump->addScalar("dead_size", "bytes", info.deadSize[gcInfoIndex]); | |
| 1491 | |
| 1492 totalLiveCount += info.liveCount[gcInfoIndex]; | 1482 totalLiveCount += info.liveCount[gcInfoIndex]; |
| 1493 totalDeadCount += info.deadCount[gcInfoIndex]; | 1483 totalDeadCount += info.deadCount[gcInfoIndex]; |
| 1494 totalLiveSize += info.liveSize[gcInfoIndex]; | 1484 totalLiveSize += info.liveSize[gcInfoIndex]; |
| 1495 totalDeadSize += info.deadSize[gcInfoIndex]; | 1485 totalDeadSize += info.deadSize[gcInfoIndex]; |
| 1496 } | 1486 } |
| 1497 | 1487 |
| 1498 WebMemoryAllocatorDump* threadDump = BlinkGCMemoryDumpProvider::instance()->
createMemoryAllocatorDumpForCurrentGC(threadDumpName); | 1488 WebMemoryAllocatorDump* threadDump = BlinkGCMemoryDumpProvider::instance()->
createMemoryAllocatorDumpForCurrentGC(threadDumpName); |
| 1499 threadDump->addScalar("live_count", "objects", totalLiveCount); | 1489 threadDump->addScalar("live_count", "objects", totalLiveCount); |
| 1500 threadDump->addScalar("dead_count", "objects", totalDeadCount); | 1490 threadDump->addScalar("dead_count", "objects", totalDeadCount); |
| 1501 threadDump->addScalar("live_size", "bytes", totalLiveSize); | 1491 threadDump->addScalar("live_size", "bytes", totalLiveSize); |
| 1502 threadDump->addScalar("dead_size", "bytes", totalDeadSize); | 1492 threadDump->addScalar("dead_size", "bytes", totalDeadSize); |
| 1503 | 1493 |
| 1504 WebMemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvider::instance()->c
reateMemoryAllocatorDumpForCurrentGC(heapsDumpName); | 1494 WebMemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvider::instance()->c
reateMemoryAllocatorDumpForCurrentGC(heapsDumpName); |
| 1505 WebMemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvider::instance()-
>createMemoryAllocatorDumpForCurrentGC(classesDumpName); | 1495 WebMemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvider::instance()-
>createMemoryAllocatorDumpForCurrentGC(classesDumpName); |
| 1506 BlinkGCMemoryDumpProvider::instance()->currentProcessMemoryDump()->addOwners
hipEdge(classesDump->guid(), heapsDump->guid()); | 1496 BlinkGCMemoryDumpProvider::instance()->currentProcessMemoryDump()->addOwners
hipEdge(classesDump->guid(), heapsDump->guid()); |
| 1507 } | 1497 } |
| 1508 | 1498 |
| 1509 } // namespace blink | 1499 } // namespace blink |
| OLD | NEW |