OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/profiler/heap-snapshot-generator.h" | 5 #include "src/profiler/heap-snapshot-generator.h" |
6 | 6 |
7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
8 #include "src/conversions.h" | 8 #include "src/conversions.h" |
9 #include "src/debug/debug.h" | 9 #include "src/debug/debug.h" |
10 #include "src/objects-body-descriptors.h" | 10 #include "src/objects-body-descriptors.h" |
(...skipping 1301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1312 Object* constructor_or_backpointer = map->constructor_or_backpointer(); | 1312 Object* constructor_or_backpointer = map->constructor_or_backpointer(); |
1313 if (constructor_or_backpointer->IsMap()) { | 1313 if (constructor_or_backpointer->IsMap()) { |
1314 TagObject(constructor_or_backpointer, "(back pointer)"); | 1314 TagObject(constructor_or_backpointer, "(back pointer)"); |
1315 SetInternalReference(map, entry, "back_pointer", constructor_or_backpointer, | 1315 SetInternalReference(map, entry, "back_pointer", constructor_or_backpointer, |
1316 Map::kConstructorOrBackPointerOffset); | 1316 Map::kConstructorOrBackPointerOffset); |
1317 } else { | 1317 } else { |
1318 SetInternalReference(map, entry, "constructor", constructor_or_backpointer, | 1318 SetInternalReference(map, entry, "constructor", constructor_or_backpointer, |
1319 Map::kConstructorOrBackPointerOffset); | 1319 Map::kConstructorOrBackPointerOffset); |
1320 } | 1320 } |
1321 TagObject(map->dependent_code(), "(dependent code)"); | 1321 TagObject(map->dependent_code(), "(dependent code)"); |
1322 MarkAsWeakContainer(map->dependent_code()); | |
1323 SetInternalReference(map, entry, "dependent_code", map->dependent_code(), | 1322 SetInternalReference(map, entry, "dependent_code", map->dependent_code(), |
1324 Map::kDependentCodeOffset); | 1323 Map::kDependentCodeOffset); |
1325 TagObject(map->weak_cell_cache(), "(weak cell)"); | 1324 TagObject(map->weak_cell_cache(), "(weak cell)"); |
1326 SetInternalReference(map, entry, "weak_cell_cache", map->weak_cell_cache(), | 1325 SetInternalReference(map, entry, "weak_cell_cache", map->weak_cell_cache(), |
1327 Map::kWeakCellCacheOffset); | 1326 Map::kWeakCellCacheOffset); |
1328 } | 1327 } |
1329 | 1328 |
1330 | 1329 |
1331 void V8HeapExplorer::ExtractSharedFunctionInfoReferences( | 1330 void V8HeapExplorer::ExtractSharedFunctionInfoReferences( |
1332 int entry, SharedFunctionInfo* shared) { | 1331 int entry, SharedFunctionInfo* shared) { |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1488 void V8HeapExplorer::ExtractWeakCellReferences(int entry, WeakCell* weak_cell) { | 1487 void V8HeapExplorer::ExtractWeakCellReferences(int entry, WeakCell* weak_cell) { |
1489 TagObject(weak_cell, "(weak cell)"); | 1488 TagObject(weak_cell, "(weak cell)"); |
1490 SetWeakReference(weak_cell, entry, "value", weak_cell->value(), | 1489 SetWeakReference(weak_cell, entry, "value", weak_cell->value(), |
1491 WeakCell::kValueOffset); | 1490 WeakCell::kValueOffset); |
1492 } | 1491 } |
1493 | 1492 |
1494 void V8HeapExplorer::ExtractPropertyCellReferences(int entry, | 1493 void V8HeapExplorer::ExtractPropertyCellReferences(int entry, |
1495 PropertyCell* cell) { | 1494 PropertyCell* cell) { |
1496 SetInternalReference(cell, entry, "value", cell->value(), | 1495 SetInternalReference(cell, entry, "value", cell->value(), |
1497 PropertyCell::kValueOffset); | 1496 PropertyCell::kValueOffset); |
1498 MarkAsWeakContainer(cell->dependent_code()); | 1497 TagObject(cell->dependent_code(), "(dependent code)"); |
1499 SetInternalReference(cell, entry, "dependent_code", cell->dependent_code(), | 1498 SetInternalReference(cell, entry, "dependent_code", cell->dependent_code(), |
1500 PropertyCell::kDependentCodeOffset); | 1499 PropertyCell::kDependentCodeOffset); |
1501 } | 1500 } |
1502 | 1501 |
1503 | 1502 |
1504 void V8HeapExplorer::ExtractAllocationSiteReferences(int entry, | 1503 void V8HeapExplorer::ExtractAllocationSiteReferences(int entry, |
1505 AllocationSite* site) { | 1504 AllocationSite* site) { |
1506 SetInternalReference(site, entry, "transition_info", site->transition_info(), | 1505 SetInternalReference(site, entry, "transition_info", site->transition_info(), |
1507 AllocationSite::kTransitionInfoOffset); | 1506 AllocationSite::kTransitionInfoOffset); |
1508 SetInternalReference(site, entry, "nested_site", site->nested_site(), | 1507 SetInternalReference(site, entry, "nested_site", site->nested_site(), |
1509 AllocationSite::kNestedSiteOffset); | 1508 AllocationSite::kNestedSiteOffset); |
1510 MarkAsWeakContainer(site->dependent_code()); | 1509 TagObject(site->dependent_code(), "(dependent code)"); |
1511 SetInternalReference(site, entry, "dependent_code", site->dependent_code(), | 1510 SetInternalReference(site, entry, "dependent_code", site->dependent_code(), |
1512 AllocationSite::kDependentCodeOffset); | 1511 AllocationSite::kDependentCodeOffset); |
1513 // Do not visit weak_next as it is not visited by the StaticVisitor, | 1512 // Do not visit weak_next as it is not visited by the StaticVisitor, |
1514 // and we're not very interested in weak_next field here. | 1513 // and we're not very interested in weak_next field here. |
1515 STATIC_ASSERT(AllocationSite::kWeakNextOffset >= | 1514 STATIC_ASSERT(AllocationSite::kWeakNextOffset >= |
1516 AllocationSite::kPointerFieldsEndOffset); | 1515 AllocationSite::kPointerFieldsEndOffset); |
1517 } | 1516 } |
1518 | 1517 |
1519 | 1518 |
1520 class JSArrayBufferDataEntryAllocator : public HeapEntriesAllocator { | 1519 class JSArrayBufferDataEntryAllocator : public HeapEntriesAllocator { |
(...skipping 1607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3128 for (int i = 1; i < sorted_strings.length(); ++i) { | 3127 for (int i = 1; i < sorted_strings.length(); ++i) { |
3129 writer_->AddCharacter(','); | 3128 writer_->AddCharacter(','); |
3130 SerializeString(sorted_strings[i]); | 3129 SerializeString(sorted_strings[i]); |
3131 if (writer_->aborted()) return; | 3130 if (writer_->aborted()) return; |
3132 } | 3131 } |
3133 } | 3132 } |
3134 | 3133 |
3135 | 3134 |
3136 } // namespace internal | 3135 } // namespace internal |
3137 } // namespace v8 | 3136 } // namespace v8 |
OLD | NEW |