| 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 |