OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1224 type_(type), | 1224 type_(type), |
1225 title_(title), | 1225 title_(title), |
1226 uid_(uid), | 1226 uid_(uid), |
1227 root_entry_(NULL), | 1227 root_entry_(NULL), |
1228 gc_roots_entry_(NULL), | 1228 gc_roots_entry_(NULL), |
1229 natives_root_entry_(NULL), | 1229 natives_root_entry_(NULL), |
1230 raw_entries_(NULL), | 1230 raw_entries_(NULL), |
1231 entries_sorted_(false) { | 1231 entries_sorted_(false) { |
1232 STATIC_ASSERT( | 1232 STATIC_ASSERT( |
1233 sizeof(HeapGraphEdge) == | 1233 sizeof(HeapGraphEdge) == |
1234 SnapshotSizeConstants<sizeof(void*)>::kExpectedHeapGraphEdgeSize); // NOL
INT | 1234 SnapshotSizeConstants<kPointerSize>::kExpectedHeapGraphEdgeSize); |
1235 STATIC_ASSERT( | 1235 STATIC_ASSERT( |
1236 sizeof(HeapEntry) == | 1236 sizeof(HeapEntry) == |
1237 SnapshotSizeConstants<sizeof(void*)>::kExpectedHeapEntrySize); // NOLINT | 1237 SnapshotSizeConstants<kPointerSize>::kExpectedHeapEntrySize); |
1238 for (int i = 0; i < VisitorSynchronization::kNumberOfSyncTags; ++i) { | 1238 for (int i = 0; i < VisitorSynchronization::kNumberOfSyncTags; ++i) { |
1239 gc_subroot_entries_[i] = NULL; | 1239 gc_subroot_entries_[i] = NULL; |
1240 } | 1240 } |
1241 } | 1241 } |
1242 | 1242 |
1243 HeapSnapshot::~HeapSnapshot() { | 1243 HeapSnapshot::~HeapSnapshot() { |
1244 DeleteArray(raw_entries_); | 1244 DeleteArray(raw_entries_); |
1245 } | 1245 } |
1246 | 1246 |
1247 | 1247 |
(...skipping 1034 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2282 FixedArray* elements = FixedArray::cast(js_obj->elements()); | 2282 FixedArray* elements = FixedArray::cast(js_obj->elements()); |
2283 int length = js_obj->IsJSArray() ? | 2283 int length = js_obj->IsJSArray() ? |
2284 Smi::cast(JSArray::cast(js_obj)->length())->value() : | 2284 Smi::cast(JSArray::cast(js_obj)->length())->value() : |
2285 elements->length(); | 2285 elements->length(); |
2286 for (int i = 0; i < length; ++i) { | 2286 for (int i = 0; i < length; ++i) { |
2287 if (!elements->get(i)->IsTheHole()) { | 2287 if (!elements->get(i)->IsTheHole()) { |
2288 SetElementReference(js_obj, entry, i, elements->get(i)); | 2288 SetElementReference(js_obj, entry, i, elements->get(i)); |
2289 } | 2289 } |
2290 } | 2290 } |
2291 } else if (js_obj->HasDictionaryElements()) { | 2291 } else if (js_obj->HasDictionaryElements()) { |
2292 NumberDictionary* dictionary = js_obj->element_dictionary(); | 2292 SeededNumberDictionary* dictionary = js_obj->element_dictionary(); |
2293 int length = dictionary->Capacity(); | 2293 int length = dictionary->Capacity(); |
2294 for (int i = 0; i < length; ++i) { | 2294 for (int i = 0; i < length; ++i) { |
2295 Object* k = dictionary->KeyAt(i); | 2295 Object* k = dictionary->KeyAt(i); |
2296 if (dictionary->IsKey(k)) { | 2296 if (dictionary->IsKey(k)) { |
2297 ASSERT(k->IsNumber()); | 2297 ASSERT(k->IsNumber()); |
2298 uint32_t index = static_cast<uint32_t>(k->Number()); | 2298 uint32_t index = static_cast<uint32_t>(k->Number()); |
2299 SetElementReference(js_obj, entry, index, dictionary->ValueAt(i)); | 2299 SetElementReference(js_obj, entry, index, dictionary->ValueAt(i)); |
2300 } | 2300 } |
2301 } | 2301 } |
2302 } | 2302 } |
(...skipping 1335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3638 | 3638 |
3639 | 3639 |
3640 void HeapSnapshotJSONSerializer::SortHashMap( | 3640 void HeapSnapshotJSONSerializer::SortHashMap( |
3641 HashMap* map, List<HashMap::Entry*>* sorted_entries) { | 3641 HashMap* map, List<HashMap::Entry*>* sorted_entries) { |
3642 for (HashMap::Entry* p = map->Start(); p != NULL; p = map->Next(p)) | 3642 for (HashMap::Entry* p = map->Start(); p != NULL; p = map->Next(p)) |
3643 sorted_entries->Add(p); | 3643 sorted_entries->Add(p); |
3644 sorted_entries->Sort(SortUsingEntryValue); | 3644 sorted_entries->Sort(SortUsingEntryValue); |
3645 } | 3645 } |
3646 | 3646 |
3647 } } // namespace v8::internal | 3647 } } // namespace v8::internal |
OLD | NEW |