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/runtime/runtime-utils.h" | 5 #include "src/runtime/runtime-utils.h" |
6 | 6 |
7 #include "src/arguments.h" | 7 #include "src/arguments.h" |
8 #include "src/debug/debug.h" | 8 #include "src/debug/debug.h" |
9 #include "src/debug/debug-frames.h" | 9 #include "src/debug/debug-frames.h" |
10 #include "src/debug/liveedit.h" | 10 #include "src/debug/liveedit.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 CONVERT_ARG_CHECKED(JSValue, script_value, 0); | 25 CONVERT_ARG_CHECKED(JSValue, script_value, 0); |
26 | 26 |
27 CHECK(script_value->value()->IsScript()); | 27 CHECK(script_value->value()->IsScript()); |
28 Handle<Script> script = Handle<Script>(Script::cast(script_value->value())); | 28 Handle<Script> script = Handle<Script>(Script::cast(script_value->value())); |
29 | 29 |
30 List<Handle<SharedFunctionInfo> > found; | 30 List<Handle<SharedFunctionInfo> > found; |
31 Heap* heap = isolate->heap(); | 31 Heap* heap = isolate->heap(); |
32 { | 32 { |
33 HeapIterator iterator(heap); | 33 HeapIterator iterator(heap); |
34 HeapObject* heap_obj; | 34 HeapObject* heap_obj; |
35 while ((heap_obj = iterator.next())) { | 35 while ((heap_obj = iterator.next()) != nullptr) { |
36 if (!heap_obj->IsSharedFunctionInfo()) continue; | 36 if (!heap_obj->IsSharedFunctionInfo()) continue; |
37 SharedFunctionInfo* shared = SharedFunctionInfo::cast(heap_obj); | 37 SharedFunctionInfo* shared = SharedFunctionInfo::cast(heap_obj); |
38 if (shared->script() != *script) continue; | 38 if (shared->script() != *script) continue; |
39 found.Add(Handle<SharedFunctionInfo>(shared)); | 39 found.Add(Handle<SharedFunctionInfo>(shared)); |
40 } | 40 } |
41 } | 41 } |
42 | 42 |
43 Handle<FixedArray> result = isolate->factory()->NewFixedArray(found.length()); | 43 Handle<FixedArray> result = isolate->factory()->NewFixedArray(found.length()); |
44 for (int i = 0; i < found.length(); ++i) { | 44 for (int i = 0; i < found.length(); ++i) { |
45 Handle<SharedFunctionInfo> shared = found[i]; | 45 Handle<SharedFunctionInfo> shared = found[i]; |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 // We don't really care what the inlined frame index is, since we are | 296 // We don't really care what the inlined frame index is, since we are |
297 // throwing away the entire frame anyways. | 297 // throwing away the entire frame anyways. |
298 const char* error_message = LiveEdit::RestartFrame(it.javascript_frame()); | 298 const char* error_message = LiveEdit::RestartFrame(it.javascript_frame()); |
299 if (error_message) { | 299 if (error_message) { |
300 return *(isolate->factory()->InternalizeUtf8String(error_message)); | 300 return *(isolate->factory()->InternalizeUtf8String(error_message)); |
301 } | 301 } |
302 return heap->true_value(); | 302 return heap->true_value(); |
303 } | 303 } |
304 } // namespace internal | 304 } // namespace internal |
305 } // namespace v8 | 305 } // namespace v8 |
OLD | NEW |