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 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 | 260 |
261 AllocationTracker::UnresolvedLocation::~UnresolvedLocation() { | 261 AllocationTracker::UnresolvedLocation::~UnresolvedLocation() { |
262 if (!script_.is_null()) { | 262 if (!script_.is_null()) { |
263 GlobalHandles::Destroy(reinterpret_cast<Object**>(script_.location())); | 263 GlobalHandles::Destroy(reinterpret_cast<Object**>(script_.location())); |
264 } | 264 } |
265 } | 265 } |
266 | 266 |
267 | 267 |
268 void AllocationTracker::UnresolvedLocation::Resolve() { | 268 void AllocationTracker::UnresolvedLocation::Resolve() { |
269 if (script_.is_null()) return; | 269 if (script_.is_null()) return; |
| 270 HandleScope scope(script_->GetIsolate()); |
270 info_->line = GetScriptLineNumber(script_, start_position_); | 271 info_->line = GetScriptLineNumber(script_, start_position_); |
271 info_->column = GetScriptColumnNumber(script_, start_position_); | 272 info_->column = GetScriptColumnNumber(script_, start_position_); |
272 } | 273 } |
273 | 274 |
274 | 275 |
275 void AllocationTracker::UnresolvedLocation::HandleWeakScript( | 276 void AllocationTracker::UnresolvedLocation::HandleWeakScript( |
276 const v8::WeakCallbackData<v8::Value, void>& data) { | 277 const v8::WeakCallbackData<v8::Value, void>& data) { |
277 UnresolvedLocation* loc = | 278 UnresolvedLocation* loc = |
278 reinterpret_cast<UnresolvedLocation*>(data.GetParameter()); | 279 reinterpret_cast<UnresolvedLocation*>(data.GetParameter()); |
279 GlobalHandles::Destroy(reinterpret_cast<Object**>(loc->script_.location())); | 280 GlobalHandles::Destroy(reinterpret_cast<Object**>(loc->script_.location())); |
280 loc->script_ = Handle<Script>::null(); | 281 loc->script_ = Handle<Script>::null(); |
281 } | 282 } |
282 | 283 |
283 | 284 |
284 } } // namespace v8::internal | 285 } } // namespace v8::internal |
OLD | NEW |