| 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 1452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1463 | 1463 |
| 1464 #undef SNAPSHOT_HEAP | 1464 #undef SNAPSHOT_HEAP |
| 1465 | 1465 |
| 1466 if (type == SnapshotType::FreelistSnapshot) | 1466 if (type == SnapshotType::FreelistSnapshot) |
| 1467 return; | 1467 return; |
| 1468 | 1468 |
| 1469 size_t totalLiveCount = 0; | 1469 size_t totalLiveCount = 0; |
| 1470 size_t totalDeadCount = 0; | 1470 size_t totalDeadCount = 0; |
| 1471 size_t totalLiveSize = 0; | 1471 size_t totalLiveSize = 0; |
| 1472 size_t totalDeadSize = 0; | 1472 size_t totalDeadSize = 0; |
| 1473 for (size_t i = 1; i <= GCInfoTable::gcInfoIndex(); ++i) { | 1473 for (size_t gcInfoIndex = 1; gcInfoIndex <= GCInfoTable::gcInfoIndex(); ++gc
InfoIndex) { |
| 1474 String dumpName = classesDumpName + "/" + Heap::gcInfo(i)->className(); | 1474 String dumpName = classesDumpName + String::format("/%zu_", gcInfoIndex)
+ Heap::gcInfo(gcInfoIndex)->className(); |
| 1475 WebMemoryAllocatorDump* classDump = BlinkGCMemoryDumpProvider::instance(
)->createMemoryAllocatorDumpForCurrentGC(dumpName); | 1475 WebMemoryAllocatorDump* classDump = BlinkGCMemoryDumpProvider::instance(
)->createMemoryAllocatorDumpForCurrentGC(dumpName); |
| 1476 classDump->AddScalar("live_count", "objects", info.liveCount[i]); | 1476 classDump->AddScalar("live_count", "objects", info.liveCount[gcInfoIndex
]); |
| 1477 classDump->AddScalar("dead_count", "objects", info.deadCount[i]); | 1477 classDump->AddScalar("dead_count", "objects", info.deadCount[gcInfoIndex
]); |
| 1478 classDump->AddScalar("live_size", "bytes", info.liveSize[i]); | 1478 classDump->AddScalar("live_size", "bytes", info.liveSize[gcInfoIndex]); |
| 1479 classDump->AddScalar("dead_size", "bytes", info.deadSize[i]); | 1479 classDump->AddScalar("dead_size", "bytes", info.deadSize[gcInfoIndex]); |
| 1480 | 1480 |
| 1481 totalLiveCount += info.liveCount[i]; | 1481 totalLiveCount += info.liveCount[gcInfoIndex]; |
| 1482 totalDeadCount += info.deadCount[i]; | 1482 totalDeadCount += info.deadCount[gcInfoIndex]; |
| 1483 totalLiveSize += info.liveSize[i]; | 1483 totalLiveSize += info.liveSize[gcInfoIndex]; |
| 1484 totalDeadSize += info.deadSize[i]; | 1484 totalDeadSize += info.deadSize[gcInfoIndex]; |
| 1485 } | 1485 } |
| 1486 | 1486 |
| 1487 WebMemoryAllocatorDump* threadDump = BlinkGCMemoryDumpProvider::instance()->
createMemoryAllocatorDumpForCurrentGC(threadDumpName); | 1487 WebMemoryAllocatorDump* threadDump = BlinkGCMemoryDumpProvider::instance()->
createMemoryAllocatorDumpForCurrentGC(threadDumpName); |
| 1488 threadDump->AddScalar("live_count", "objects", totalLiveCount); | 1488 threadDump->AddScalar("live_count", "objects", totalLiveCount); |
| 1489 threadDump->AddScalar("dead_count", "objects", totalDeadCount); | 1489 threadDump->AddScalar("dead_count", "objects", totalDeadCount); |
| 1490 threadDump->AddScalar("live_size", "bytes", totalLiveSize); | 1490 threadDump->AddScalar("live_size", "bytes", totalLiveSize); |
| 1491 threadDump->AddScalar("dead_size", "bytes", totalDeadSize); | 1491 threadDump->AddScalar("dead_size", "bytes", totalDeadSize); |
| 1492 | 1492 |
| 1493 WebMemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvider::instance()->c
reateMemoryAllocatorDumpForCurrentGC(heapsDumpName); | 1493 WebMemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvider::instance()->c
reateMemoryAllocatorDumpForCurrentGC(heapsDumpName); |
| 1494 WebMemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvider::instance()-
>createMemoryAllocatorDumpForCurrentGC(classesDumpName); | 1494 WebMemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvider::instance()-
>createMemoryAllocatorDumpForCurrentGC(classesDumpName); |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1585 json->beginArray(it->key.ascii().data()); | 1585 json->beginArray(it->key.ascii().data()); |
| 1586 for (size_t age = 0; age <= maxHeapObjectAge; ++age) | 1586 for (size_t age = 0; age <= maxHeapObjectAge; ++age) |
| 1587 json->pushInteger(it->value.ages[age]); | 1587 json->pushInteger(it->value.ages[age]); |
| 1588 json->endArray(); | 1588 json->endArray(); |
| 1589 } | 1589 } |
| 1590 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID(TRACE_DISABLED_BY_DEFAULT("blink_gc"), s
tatsName, this, json.release()); | 1590 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID(TRACE_DISABLED_BY_DEFAULT("blink_gc"), s
tatsName, this, json.release()); |
| 1591 } | 1591 } |
| 1592 #endif | 1592 #endif |
| 1593 | 1593 |
| 1594 } // namespace blink | 1594 } // namespace blink |
| OLD | NEW |