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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 , m_accumulatedSweepingTime(0) | 91 , m_accumulatedSweepingTime(0) |
92 , m_vectorBackingArenaIndex(BlinkGC::Vector1ArenaIndex) | 92 , m_vectorBackingArenaIndex(BlinkGC::Vector1ArenaIndex) |
93 , m_currentArenaAges(0) | 93 , m_currentArenaAges(0) |
94 , m_perThreadHeapEnabled(perThreadHeapEnabled) | 94 , m_perThreadHeapEnabled(perThreadHeapEnabled) |
95 , m_isTerminating(false) | 95 , m_isTerminating(false) |
96 , m_gcMixinMarker(nullptr) | 96 , m_gcMixinMarker(nullptr) |
97 , m_shouldFlushHeapDoesNotContainCache(false) | 97 , m_shouldFlushHeapDoesNotContainCache(false) |
98 , m_gcState(NoGCScheduled) | 98 , m_gcState(NoGCScheduled) |
99 , m_isolate(nullptr) | 99 , m_isolate(nullptr) |
100 , m_traceDOMWrappers(nullptr) | 100 , m_traceDOMWrappers(nullptr) |
| 101 , m_traceWrappersMarkingDequeTracing(nullptr) |
101 #if defined(ADDRESS_SANITIZER) | 102 #if defined(ADDRESS_SANITIZER) |
102 , m_asanFakeStack(__asan_get_current_fake_stack()) | 103 , m_asanFakeStack(__asan_get_current_fake_stack()) |
103 #endif | 104 #endif |
104 #if defined(LEAK_SANITIZER) | 105 #if defined(LEAK_SANITIZER) |
105 , m_disabledStaticPersistentsRegistration(0) | 106 , m_disabledStaticPersistentsRegistration(0) |
106 #endif | 107 #endif |
107 , m_allocatedObjectSize(0) | 108 , m_allocatedObjectSize(0) |
108 , m_markedObjectSize(0) | 109 , m_markedObjectSize(0) |
109 , m_reportedMemoryToV8(0) | 110 , m_reportedMemoryToV8(0) |
110 { | 111 { |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 } | 390 } |
390 } | 391 } |
391 | 392 |
392 void ThreadState::visitPersistents(Visitor* visitor) | 393 void ThreadState::visitPersistents(Visitor* visitor) |
393 { | 394 { |
394 m_persistentRegion->tracePersistentNodes(visitor); | 395 m_persistentRegion->tracePersistentNodes(visitor); |
395 if (m_traceDOMWrappers) { | 396 if (m_traceDOMWrappers) { |
396 TRACE_EVENT0("blink_gc", "V8GCController::traceDOMWrappers"); | 397 TRACE_EVENT0("blink_gc", "V8GCController::traceDOMWrappers"); |
397 m_traceDOMWrappers(m_isolate, visitor); | 398 m_traceDOMWrappers(m_isolate, visitor); |
398 } | 399 } |
| 400 if (m_traceWrappersMarkingDequeTracing) { |
| 401 m_traceWrappersMarkingDequeTracing(m_isolate, visitor); |
| 402 } |
399 } | 403 } |
400 | 404 |
401 ThreadState::GCSnapshotInfo::GCSnapshotInfo(size_t numObjectTypes) | 405 ThreadState::GCSnapshotInfo::GCSnapshotInfo(size_t numObjectTypes) |
402 : liveCount(Vector<int>(numObjectTypes)) | 406 : liveCount(Vector<int>(numObjectTypes)) |
403 , deadCount(Vector<int>(numObjectTypes)) | 407 , deadCount(Vector<int>(numObjectTypes)) |
404 , liveSize(Vector<size_t>(numObjectTypes)) | 408 , liveSize(Vector<size_t>(numObjectTypes)) |
405 , deadSize(Vector<size_t>(numObjectTypes)) | 409 , deadSize(Vector<size_t>(numObjectTypes)) |
406 { | 410 { |
407 } | 411 } |
408 | 412 |
(...skipping 1110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1519 threadDump->AddScalar("dead_count", "objects", totalDeadCount); | 1523 threadDump->AddScalar("dead_count", "objects", totalDeadCount); |
1520 threadDump->AddScalar("live_size", "bytes", totalLiveSize); | 1524 threadDump->AddScalar("live_size", "bytes", totalLiveSize); |
1521 threadDump->AddScalar("dead_size", "bytes", totalDeadSize); | 1525 threadDump->AddScalar("dead_size", "bytes", totalDeadSize); |
1522 | 1526 |
1523 base::trace_event::MemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvide
r::instance()->createMemoryAllocatorDumpForCurrentGC(heapsDumpName); | 1527 base::trace_event::MemoryAllocatorDump* heapsDump = BlinkGCMemoryDumpProvide
r::instance()->createMemoryAllocatorDumpForCurrentGC(heapsDumpName); |
1524 base::trace_event::MemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvi
der::instance()->createMemoryAllocatorDumpForCurrentGC(classesDumpName); | 1528 base::trace_event::MemoryAllocatorDump* classesDump = BlinkGCMemoryDumpProvi
der::instance()->createMemoryAllocatorDumpForCurrentGC(classesDumpName); |
1525 BlinkGCMemoryDumpProvider::instance()->currentProcessMemoryDump()->AddOwners
hipEdge(classesDump->guid(), heapsDump->guid()); | 1529 BlinkGCMemoryDumpProvider::instance()->currentProcessMemoryDump()->AddOwners
hipEdge(classesDump->guid(), heapsDump->guid()); |
1526 } | 1530 } |
1527 | 1531 |
1528 } // namespace blink | 1532 } // namespace blink |
OLD | NEW |