OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/arguments.h" | 7 #include "src/arguments.h" |
8 #include "src/debug.h" | 8 #include "src/debug.h" |
9 #include "src/liveedit.h" | 9 #include "src/liveedit.h" |
10 #include "src/runtime/runtime.h" | 10 #include "src/runtime/runtime.h" |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 RUNTIME_FUNCTION(Runtime_LiveEditCheckAndDropActivations) { | 227 RUNTIME_FUNCTION(Runtime_LiveEditCheckAndDropActivations) { |
228 HandleScope scope(isolate); | 228 HandleScope scope(isolate); |
229 CHECK(isolate->debug()->live_edit_enabled()); | 229 CHECK(isolate->debug()->live_edit_enabled()); |
230 DCHECK(args.length() == 2); | 230 DCHECK(args.length() == 2); |
231 CONVERT_ARG_HANDLE_CHECKED(JSArray, shared_array, 0); | 231 CONVERT_ARG_HANDLE_CHECKED(JSArray, shared_array, 0); |
232 CONVERT_BOOLEAN_ARG_CHECKED(do_drop, 1); | 232 CONVERT_BOOLEAN_ARG_CHECKED(do_drop, 1); |
233 RUNTIME_ASSERT(shared_array->length()->IsSmi()); | 233 RUNTIME_ASSERT(shared_array->length()->IsSmi()); |
234 RUNTIME_ASSERT(shared_array->HasFastElements()) | 234 RUNTIME_ASSERT(shared_array->HasFastElements()) |
235 int array_length = Smi::cast(shared_array->length())->value(); | 235 int array_length = Smi::cast(shared_array->length())->value(); |
236 for (int i = 0; i < array_length; i++) { | 236 for (int i = 0; i < array_length; i++) { |
237 Handle<Object> element = | 237 Handle<Object> element; |
238 Object::GetElement(isolate, shared_array, i).ToHandleChecked(); | 238 ASSIGN_RETURN_FAILURE_ON_EXCEPTION( |
| 239 isolate, element, Object::GetElement(isolate, shared_array, i)); |
239 RUNTIME_ASSERT( | 240 RUNTIME_ASSERT( |
240 element->IsJSValue() && | 241 element->IsJSValue() && |
241 Handle<JSValue>::cast(element)->value()->IsSharedFunctionInfo()); | 242 Handle<JSValue>::cast(element)->value()->IsSharedFunctionInfo()); |
242 } | 243 } |
243 | 244 |
244 return *LiveEdit::CheckAndDropActivations(shared_array, do_drop); | 245 return *LiveEdit::CheckAndDropActivations(shared_array, do_drop); |
245 } | 246 } |
246 | 247 |
247 | 248 |
248 // Compares 2 strings line-by-line, then token-wise and returns diff in form | 249 // Compares 2 strings line-by-line, then token-wise and returns diff in form |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 // We don't really care what the inlined frame index is, since we are | 285 // We don't really care what the inlined frame index is, since we are |
285 // throwing away the entire frame anyways. | 286 // throwing away the entire frame anyways. |
286 const char* error_message = LiveEdit::RestartFrame(it.frame()); | 287 const char* error_message = LiveEdit::RestartFrame(it.frame()); |
287 if (error_message) { | 288 if (error_message) { |
288 return *(isolate->factory()->InternalizeUtf8String(error_message)); | 289 return *(isolate->factory()->InternalizeUtf8String(error_message)); |
289 } | 290 } |
290 return heap->true_value(); | 291 return heap->true_value(); |
291 } | 292 } |
292 } | 293 } |
293 } // namespace v8::internal | 294 } // namespace v8::internal |
OLD | NEW |