| 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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 while (it != ranges_.end()); | 204 while (it != ranges_.end()); |
| 205 | 205 |
| 206 ranges_.erase(to_remove_begin, it); | 206 ranges_.erase(to_remove_begin, it); |
| 207 | 207 |
| 208 if (prev_range.start != 0) { | 208 if (prev_range.start != 0) { |
| 209 ranges_.insert(RangeMap::value_type(start, prev_range)); | 209 ranges_.insert(RangeMap::value_type(start, prev_range)); |
| 210 } | 210 } |
| 211 } | 211 } |
| 212 | 212 |
| 213 | 213 |
| 214 static bool AddressesMatch(void* key1, void* key2) { | |
| 215 return key1 == key2; | |
| 216 } | |
| 217 | |
| 218 | |
| 219 void AllocationTracker::DeleteFunctionInfo(FunctionInfo** info) { | 214 void AllocationTracker::DeleteFunctionInfo(FunctionInfo** info) { |
| 220 delete *info; | 215 delete *info; |
| 221 } | 216 } |
| 222 | 217 |
| 223 | 218 |
| 224 AllocationTracker::AllocationTracker( | 219 AllocationTracker::AllocationTracker( |
| 225 HeapObjectsMap* ids, StringsStorage* names) | 220 HeapObjectsMap* ids, StringsStorage* names) |
| 226 : ids_(ids), | 221 : ids_(ids), |
| 227 names_(names), | 222 names_(names), |
| 228 id_to_function_info_index_(AddressesMatch), | 223 id_to_function_info_index_(HashMap::PointersMatch), |
| 229 info_index_for_other_state_(0) { | 224 info_index_for_other_state_(0) { |
| 230 FunctionInfo* info = new FunctionInfo(); | 225 FunctionInfo* info = new FunctionInfo(); |
| 231 info->name = "(root)"; | 226 info->name = "(root)"; |
| 232 function_info_list_.Add(info); | 227 function_info_list_.Add(info); |
| 233 } | 228 } |
| 234 | 229 |
| 235 | 230 |
| 236 AllocationTracker::~AllocationTracker() { | 231 AllocationTracker::~AllocationTracker() { |
| 237 unresolved_locations_.Iterate(DeleteUnresolvedLocation); | 232 unresolved_locations_.Iterate(DeleteUnresolvedLocation); |
| 238 function_info_list_.Iterate(&DeleteFunctionInfo); | 233 function_info_list_.Iterate(&DeleteFunctionInfo); |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 void AllocationTracker::UnresolvedLocation::HandleWeakScript( | 357 void AllocationTracker::UnresolvedLocation::HandleWeakScript( |
| 363 const v8::WeakCallbackData<v8::Value, void>& data) { | 358 const v8::WeakCallbackData<v8::Value, void>& data) { |
| 364 UnresolvedLocation* loc = | 359 UnresolvedLocation* loc = |
| 365 reinterpret_cast<UnresolvedLocation*>(data.GetParameter()); | 360 reinterpret_cast<UnresolvedLocation*>(data.GetParameter()); |
| 366 GlobalHandles::Destroy(reinterpret_cast<Object**>(loc->script_.location())); | 361 GlobalHandles::Destroy(reinterpret_cast<Object**>(loc->script_.location())); |
| 367 loc->script_ = Handle<Script>::null(); | 362 loc->script_ = Handle<Script>::null(); |
| 368 } | 363 } |
| 369 | 364 |
| 370 | 365 |
| 371 } } // namespace v8::internal | 366 } } // namespace v8::internal |
| OLD | NEW |