| 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/v8.h" | 5 #include "src/v8.h" | 
| 6 | 6 | 
| 7 #include "src/heap-snapshot-generator-inl.h" | 7 #include "src/heap-snapshot-generator-inl.h" | 
| 8 | 8 | 
| 9 #include "src/allocation-tracker.h" | 9 #include "src/allocation-tracker.h" | 
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" | 
| (...skipping 1100 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1111   } else if (obj->IsString()) { | 1111   } else if (obj->IsString()) { | 
| 1112     ExtractStringReferences(entry, String::cast(obj)); | 1112     ExtractStringReferences(entry, String::cast(obj)); | 
| 1113   } else if (obj->IsSymbol()) { | 1113   } else if (obj->IsSymbol()) { | 
| 1114     ExtractSymbolReferences(entry, Symbol::cast(obj)); | 1114     ExtractSymbolReferences(entry, Symbol::cast(obj)); | 
| 1115   } else if (obj->IsMap()) { | 1115   } else if (obj->IsMap()) { | 
| 1116     ExtractMapReferences(entry, Map::cast(obj)); | 1116     ExtractMapReferences(entry, Map::cast(obj)); | 
| 1117   } else if (obj->IsSharedFunctionInfo()) { | 1117   } else if (obj->IsSharedFunctionInfo()) { | 
| 1118     ExtractSharedFunctionInfoReferences(entry, SharedFunctionInfo::cast(obj)); | 1118     ExtractSharedFunctionInfoReferences(entry, SharedFunctionInfo::cast(obj)); | 
| 1119   } else if (obj->IsScript()) { | 1119   } else if (obj->IsScript()) { | 
| 1120     ExtractScriptReferences(entry, Script::cast(obj)); | 1120     ExtractScriptReferences(entry, Script::cast(obj)); | 
|  | 1121   } else if (obj->IsAccessorInfo()) { | 
|  | 1122     ExtractAccessorInfoReferences(entry, AccessorInfo::cast(obj)); | 
| 1121   } else if (obj->IsAccessorPair()) { | 1123   } else if (obj->IsAccessorPair()) { | 
| 1122     ExtractAccessorPairReferences(entry, AccessorPair::cast(obj)); | 1124     ExtractAccessorPairReferences(entry, AccessorPair::cast(obj)); | 
| 1123   } else if (obj->IsCodeCache()) { | 1125   } else if (obj->IsCodeCache()) { | 
| 1124     ExtractCodeCacheReferences(entry, CodeCache::cast(obj)); | 1126     ExtractCodeCacheReferences(entry, CodeCache::cast(obj)); | 
| 1125   } else if (obj->IsCode()) { | 1127   } else if (obj->IsCode()) { | 
| 1126     ExtractCodeReferences(entry, Code::cast(obj)); | 1128     ExtractCodeReferences(entry, Code::cast(obj)); | 
| 1127   } else if (obj->IsBox()) { | 1129   } else if (obj->IsBox()) { | 
| 1128     ExtractBoxReferences(entry, Box::cast(obj)); | 1130     ExtractBoxReferences(entry, Box::cast(obj)); | 
| 1129   } else if (obj->IsCell()) { | 1131   } else if (obj->IsCell()) { | 
| 1130     ExtractCellReferences(entry, Cell::cast(obj)); | 1132     ExtractCellReferences(entry, Cell::cast(obj)); | 
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1462   SetInternalReference(obj, entry, | 1464   SetInternalReference(obj, entry, | 
| 1463                        "context_data", script->context_data(), | 1465                        "context_data", script->context_data(), | 
| 1464                        Script::kContextOffset); | 1466                        Script::kContextOffset); | 
| 1465   TagObject(script->line_ends(), "(script line ends)"); | 1467   TagObject(script->line_ends(), "(script line ends)"); | 
| 1466   SetInternalReference(obj, entry, | 1468   SetInternalReference(obj, entry, | 
| 1467                        "line_ends", script->line_ends(), | 1469                        "line_ends", script->line_ends(), | 
| 1468                        Script::kLineEndsOffset); | 1470                        Script::kLineEndsOffset); | 
| 1469 } | 1471 } | 
| 1470 | 1472 | 
| 1471 | 1473 | 
|  | 1474 void V8HeapExplorer::ExtractAccessorInfoReferences( | 
|  | 1475     int entry, AccessorInfo* accessor_info) { | 
|  | 1476   SetInternalReference(accessor_info, entry, "name", accessor_info->name(), | 
|  | 1477                        AccessorInfo::kNameOffset); | 
|  | 1478   SetInternalReference(accessor_info, entry, "expected_receiver_type", | 
|  | 1479                        accessor_info->expected_receiver_type(), | 
|  | 1480                        AccessorInfo::kExpectedReceiverTypeOffset); | 
|  | 1481   if (accessor_info->IsDeclaredAccessorInfo()) { | 
|  | 1482     DeclaredAccessorInfo* declared_accessor_info = | 
|  | 1483         DeclaredAccessorInfo::cast(accessor_info); | 
|  | 1484     SetInternalReference(declared_accessor_info, entry, "descriptor", | 
|  | 1485                          declared_accessor_info->descriptor(), | 
|  | 1486                          DeclaredAccessorInfo::kDescriptorOffset); | 
|  | 1487   } else if (accessor_info->IsExecutableAccessorInfo()) { | 
|  | 1488     ExecutableAccessorInfo* executable_accessor_info = | 
|  | 1489         ExecutableAccessorInfo::cast(accessor_info); | 
|  | 1490     SetInternalReference(executable_accessor_info, entry, "getter", | 
|  | 1491                          executable_accessor_info->getter(), | 
|  | 1492                          ExecutableAccessorInfo::kGetterOffset); | 
|  | 1493     SetInternalReference(executable_accessor_info, entry, "setter", | 
|  | 1494                          executable_accessor_info->setter(), | 
|  | 1495                          ExecutableAccessorInfo::kSetterOffset); | 
|  | 1496     SetInternalReference(executable_accessor_info, entry, "data", | 
|  | 1497                          executable_accessor_info->data(), | 
|  | 1498                          ExecutableAccessorInfo::kDataOffset); | 
|  | 1499   } | 
|  | 1500 } | 
|  | 1501 | 
|  | 1502 | 
| 1472 void V8HeapExplorer::ExtractAccessorPairReferences( | 1503 void V8HeapExplorer::ExtractAccessorPairReferences( | 
| 1473     int entry, AccessorPair* accessors) { | 1504     int entry, AccessorPair* accessors) { | 
| 1474   SetInternalReference(accessors, entry, "getter", accessors->getter(), | 1505   SetInternalReference(accessors, entry, "getter", accessors->getter(), | 
| 1475                        AccessorPair::kGetterOffset); | 1506                        AccessorPair::kGetterOffset); | 
| 1476   SetInternalReference(accessors, entry, "setter", accessors->setter(), | 1507   SetInternalReference(accessors, entry, "setter", accessors->setter(), | 
| 1477                        AccessorPair::kSetterOffset); | 1508                        AccessorPair::kSetterOffset); | 
| 1478 } | 1509 } | 
| 1479 | 1510 | 
| 1480 | 1511 | 
| 1481 void V8HeapExplorer::ExtractCodeCacheReferences( | 1512 void V8HeapExplorer::ExtractCodeCacheReferences( | 
| (...skipping 1672 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3154   writer_->AddString("\"<dummy>\""); | 3185   writer_->AddString("\"<dummy>\""); | 
| 3155   for (int i = 1; i < sorted_strings.length(); ++i) { | 3186   for (int i = 1; i < sorted_strings.length(); ++i) { | 
| 3156     writer_->AddCharacter(','); | 3187     writer_->AddCharacter(','); | 
| 3157     SerializeString(sorted_strings[i]); | 3188     SerializeString(sorted_strings[i]); | 
| 3158     if (writer_->aborted()) return; | 3189     if (writer_->aborted()) return; | 
| 3159   } | 3190   } | 
| 3160 } | 3191 } | 
| 3161 | 3192 | 
| 3162 | 3193 | 
| 3163 } }  // namespace v8::internal | 3194 } }  // namespace v8::internal | 
| OLD | NEW | 
|---|