| 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 1475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1518 size_t totalDeadCount = 0; | 1519 size_t totalDeadCount = 0; |
| 1519 size_t totalLiveSize = 0; | 1520 size_t totalLiveSize = 0; |
| 1520 size_t totalDeadSize = 0; | 1521 size_t totalDeadSize = 0; |
| 1521 for (size_t gcInfoIndex = 1; gcInfoIndex <= GCInfoTable::gcInfoIndex(); ++gc
InfoIndex) { | 1522 for (size_t gcInfoIndex = 1; gcInfoIndex <= GCInfoTable::gcInfoIndex(); ++gc
InfoIndex) { |
| 1522 totalLiveCount += info.liveCount[gcInfoIndex]; | 1523 totalLiveCount += info.liveCount[gcInfoIndex]; |
| 1523 totalDeadCount += info.deadCount[gcInfoIndex]; | 1524 totalDeadCount += info.deadCount[gcInfoIndex]; |
| 1524 totalLiveSize += info.liveSize[gcInfoIndex]; | 1525 totalLiveSize += info.liveSize[gcInfoIndex]; |
| 1525 totalDeadSize += info.deadSize[gcInfoIndex]; | 1526 totalDeadSize += info.deadSize[gcInfoIndex]; |
| 1526 } | 1527 } |
| 1527 | 1528 |
| 1528 WebMemoryAllocatorDump* threadDump = BlinkGCMemoryDumpProvider::instance()->
createMemoryAllocatorDumpForCurrentGC(threadDumpName); | 1529 base::trace_event::MemoryAllocatorDump* threadDump = BlinkGCMemoryDumpProvid
er::instance()->createMemoryAllocatorDumpForCurrentGC(threadDumpName); |
| 1529 threadDump->addScalar("live_count", "objects", totalLiveCount); | 1530 threadDump->AddScalar("live_count", "objects", totalLiveCount); |
| 1530 threadDump->addScalar("dead_count", "objects", totalDeadCount); | 1531 threadDump->AddScalar("dead_count", "objects", totalDeadCount); |
| 1531 threadDump->addScalar("live_size", "bytes", totalLiveSize); | 1532 threadDump->AddScalar("live_size", "bytes", totalLiveSize); |
| 1532 threadDump->addScalar("dead_size", "bytes", totalDeadSize); | 1533 threadDump->AddScalar("dead_size", "bytes", totalDeadSize); |
| 1533 | 1534 |
| 1534 WebMemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvider::instance()->c
reateMemoryAllocatorDumpForCurrentGC(heapsDumpName); | 1535 base::trace_event::MemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvide
r::instance()->createMemoryAllocatorDumpForCurrentGC(heapsDumpName); |
| 1535 WebMemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvider::instance()-
>createMemoryAllocatorDumpForCurrentGC(classesDumpName); | 1536 base::trace_event::MemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvi
der::instance()->createMemoryAllocatorDumpForCurrentGC(classesDumpName); |
| 1536 BlinkGCMemoryDumpProvider::instance()->currentProcessMemoryDump()->addOwners
hipEdge(classesDump->guid(), heapsDump->guid()); | 1537 BlinkGCMemoryDumpProvider::instance()->currentProcessMemoryDump()->AddOwners
hipEdge(classesDump->guid(), heapsDump->guid()); |
| 1537 } | 1538 } |
| 1538 | 1539 |
| 1539 } // namespace blink | 1540 } // namespace blink |
| OLD | NEW |