OLD | NEW |
---|---|
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
52 int HeapEntry::set_children_index(int index) { | 52 int HeapEntry::set_children_index(int index) { |
53 children_index_ = index; | 53 children_index_ = index; |
54 int next_index = index + children_count_; | 54 int next_index = index + children_count_; |
55 children_count_ = 0; | 55 children_count_ = 0; |
56 return next_index; | 56 return next_index; |
57 } | 57 } |
58 | 58 |
59 | 59 |
60 HeapGraphEdge** HeapEntry::children_arr() { | 60 HeapGraphEdge** HeapEntry::children_arr() { |
61 ASSERT(children_index_ >= 0); | 61 ASSERT(children_index_ >= 0); |
62 return &snapshot_->children()[children_index_]; | 62 SLOW_ASSERT(children_index_ < snapshot_->children().length() || |
63 (children_index_ == snapshot_->children().length() && | |
64 children_count_ == 0)); | |
65 return &snapshot_->children().first() + children_index_; | |
alph
2013/12/18 15:15:51
first -> start
yurys
2013/12/18 15:19:27
List doesn't have start(), you may have confused i
| |
63 } | 66 } |
64 | 67 |
65 | 68 |
66 SnapshotObjectId HeapObjectsMap::GetNthGcSubrootId(int delta) { | 69 SnapshotObjectId HeapObjectsMap::GetNthGcSubrootId(int delta) { |
67 return kGcRootsFirstSubrootId + delta * kObjectIdStep; | 70 return kGcRootsFirstSubrootId + delta * kObjectIdStep; |
68 } | 71 } |
69 | 72 |
70 | 73 |
71 HeapObject* V8HeapExplorer::GetNthGcSubrootObject(int delta) { | 74 HeapObject* V8HeapExplorer::GetNthGcSubrootObject(int delta) { |
72 return reinterpret_cast<HeapObject*>( | 75 return reinterpret_cast<HeapObject*>( |
73 reinterpret_cast<char*>(kFirstGcSubrootObject) + | 76 reinterpret_cast<char*>(kFirstGcSubrootObject) + |
74 delta * HeapObjectsMap::kObjectIdStep); | 77 delta * HeapObjectsMap::kObjectIdStep); |
75 } | 78 } |
76 | 79 |
77 | 80 |
78 int V8HeapExplorer::GetGcSubrootOrder(HeapObject* subroot) { | 81 int V8HeapExplorer::GetGcSubrootOrder(HeapObject* subroot) { |
79 return static_cast<int>( | 82 return static_cast<int>( |
80 (reinterpret_cast<char*>(subroot) - | 83 (reinterpret_cast<char*>(subroot) - |
81 reinterpret_cast<char*>(kFirstGcSubrootObject)) / | 84 reinterpret_cast<char*>(kFirstGcSubrootObject)) / |
82 HeapObjectsMap::kObjectIdStep); | 85 HeapObjectsMap::kObjectIdStep); |
83 } | 86 } |
84 | 87 |
85 } } // namespace v8::internal | 88 } } // namespace v8::internal |
86 | 89 |
87 #endif // V8_HEAP_SNAPSHOT_GENERATOR_INL_H_ | 90 #endif // V8_HEAP_SNAPSHOT_GENERATOR_INL_H_ |
OLD | NEW |