| 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 12 matching lines...) Expand all Loading... |
| 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 #include "platform/heap/ThreadState.h" | 31 #include "platform/heap/ThreadState.h" |
| 32 | 32 |
| 33 #include "base/trace_event/process_memory_dump.h" |
| 33 #include "platform/Histogram.h" | 34 #include "platform/Histogram.h" |
| 34 #include "platform/ScriptForbiddenScope.h" | 35 #include "platform/ScriptForbiddenScope.h" |
| 35 #include "platform/TraceEvent.h" | 36 #include "platform/TraceEvent.h" |
| 36 #include "platform/heap/BlinkGCMemoryDumpProvider.h" | 37 #include "platform/heap/BlinkGCMemoryDumpProvider.h" |
| 37 #include "platform/heap/CallbackStack.h" | 38 #include "platform/heap/CallbackStack.h" |
| 38 #include "platform/heap/Handle.h" | 39 #include "platform/heap/Handle.h" |
| 39 #include "platform/heap/Heap.h" | 40 #include "platform/heap/Heap.h" |
| 40 #include "platform/heap/SafePoint.h" | 41 #include "platform/heap/SafePoint.h" |
| 41 #include "platform/heap/Visitor.h" | 42 #include "platform/heap/Visitor.h" |
| 42 #include "public/platform/Platform.h" | 43 #include "public/platform/Platform.h" |
| (...skipping 1468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1511 size_t totalDeadCount = 0; | 1512 size_t totalDeadCount = 0; |
| 1512 size_t totalLiveSize = 0; | 1513 size_t totalLiveSize = 0; |
| 1513 size_t totalDeadSize = 0; | 1514 size_t totalDeadSize = 0; |
| 1514 for (size_t gcInfoIndex = 1; gcInfoIndex <= GCInfoTable::gcInfoIndex(); ++gc
InfoIndex) { | 1515 for (size_t gcInfoIndex = 1; gcInfoIndex <= GCInfoTable::gcInfoIndex(); ++gc
InfoIndex) { |
| 1515 totalLiveCount += info.liveCount[gcInfoIndex]; | 1516 totalLiveCount += info.liveCount[gcInfoIndex]; |
| 1516 totalDeadCount += info.deadCount[gcInfoIndex]; | 1517 totalDeadCount += info.deadCount[gcInfoIndex]; |
| 1517 totalLiveSize += info.liveSize[gcInfoIndex]; | 1518 totalLiveSize += info.liveSize[gcInfoIndex]; |
| 1518 totalDeadSize += info.deadSize[gcInfoIndex]; | 1519 totalDeadSize += info.deadSize[gcInfoIndex]; |
| 1519 } | 1520 } |
| 1520 | 1521 |
| 1521 WebMemoryAllocatorDump* threadDump = BlinkGCMemoryDumpProvider::instance()->
createMemoryAllocatorDumpForCurrentGC(threadDumpName); | 1522 base::trace_event::MemoryAllocatorDump* threadDump = BlinkGCMemoryDumpProvid
er::instance()->createMemoryAllocatorDumpForCurrentGC(threadDumpName); |
| 1522 threadDump->addScalar("live_count", "objects", totalLiveCount); | 1523 threadDump->AddScalar("live_count", "objects", totalLiveCount); |
| 1523 threadDump->addScalar("dead_count", "objects", totalDeadCount); | 1524 threadDump->AddScalar("dead_count", "objects", totalDeadCount); |
| 1524 threadDump->addScalar("live_size", "bytes", totalLiveSize); | 1525 threadDump->AddScalar("live_size", "bytes", totalLiveSize); |
| 1525 threadDump->addScalar("dead_size", "bytes", totalDeadSize); | 1526 threadDump->AddScalar("dead_size", "bytes", totalDeadSize); |
| 1526 | 1527 |
| 1527 WebMemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvider::instance()->c
reateMemoryAllocatorDumpForCurrentGC(heapsDumpName); | 1528 base::trace_event::MemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvide
r::instance()->createMemoryAllocatorDumpForCurrentGC(heapsDumpName); |
| 1528 WebMemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvider::instance()-
>createMemoryAllocatorDumpForCurrentGC(classesDumpName); | 1529 base::trace_event::MemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvi
der::instance()->createMemoryAllocatorDumpForCurrentGC(classesDumpName); |
| 1529 BlinkGCMemoryDumpProvider::instance()->currentProcessMemoryDump()->addOwners
hipEdge(classesDump->guid(), heapsDump->guid()); | 1530 BlinkGCMemoryDumpProvider::instance()->currentProcessMemoryDump()->AddOwners
hipEdge(classesDump->guid(), heapsDump->guid()); |
| 1530 } | 1531 } |
| 1531 | 1532 |
| 1532 } // namespace blink | 1533 } // namespace blink |
| OLD | NEW |