OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 1046 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1057 } | 1057 } |
1058 } | 1058 } |
1059 AllocatingConstructorHeapProfileIterator alloc_cons_iter( | 1059 AllocatingConstructorHeapProfileIterator alloc_cons_iter( |
1060 snapshot, &root_child_index); | 1060 snapshot, &root_child_index); |
1061 agg_snapshot_->js_cons_profile()->ForEach(&alloc_cons_iter); | 1061 agg_snapshot_->js_cons_profile()->ForEach(&alloc_cons_iter); |
1062 AggregatedRetainerTreeAllocator allocator(snapshot, &root_child_index); | 1062 AggregatedRetainerTreeAllocator allocator(snapshot, &root_child_index); |
1063 entries_map.UpdateEntries(&allocator); | 1063 entries_map.UpdateEntries(&allocator); |
1064 | 1064 |
1065 // Fill up references. | 1065 // Fill up references. |
1066 IterateRetainers<AllocatingRetainersIterator>(&entries_map); | 1066 IterateRetainers<AllocatingRetainersIterator>(&entries_map); |
| 1067 |
| 1068 snapshot->SetDominatorsToSelf(); |
1067 } | 1069 } |
1068 | 1070 |
1069 | 1071 |
1070 bool ProducerHeapProfile::can_log_ = false; | 1072 bool ProducerHeapProfile::can_log_ = false; |
1071 | 1073 |
1072 void ProducerHeapProfile::Setup() { | 1074 void ProducerHeapProfile::Setup() { |
1073 can_log_ = true; | 1075 can_log_ = true; |
1074 } | 1076 } |
1075 | 1077 |
1076 void ProducerHeapProfile::DoRecordJSObjectAllocation(Object* obj) { | 1078 void ProducerHeapProfile::DoRecordJSObjectAllocation(Object* obj) { |
(...skipping 15 matching lines...) Expand all Loading... |
1092 GlobalHandles::MakeWeak(handle.location(), | 1094 GlobalHandles::MakeWeak(handle.location(), |
1093 static_cast<void*>(stack.start()), | 1095 static_cast<void*>(stack.start()), |
1094 StackWeakReferenceCallback); | 1096 StackWeakReferenceCallback); |
1095 } | 1097 } |
1096 | 1098 |
1097 | 1099 |
1098 #endif // ENABLE_LOGGING_AND_PROFILING | 1100 #endif // ENABLE_LOGGING_AND_PROFILING |
1099 | 1101 |
1100 | 1102 |
1101 } } // namespace v8::internal | 1103 } } // namespace v8::internal |
OLD | NEW |