OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/debug/debug-evaluate.h" | 5 #include "src/debug/debug-evaluate.h" |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/contexts.h" | 8 #include "src/contexts.h" |
9 #include "src/debug/debug.h" | 9 #include "src/debug/debug.h" |
10 #include "src/debug/debug-frames.h" | 10 #include "src/debug/debug-frames.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 | 121 |
122 | 122 |
123 DebugEvaluate::ContextBuilder::ContextBuilder(Isolate* isolate, | 123 DebugEvaluate::ContextBuilder::ContextBuilder(Isolate* isolate, |
124 JavaScriptFrame* frame, | 124 JavaScriptFrame* frame, |
125 int inlined_jsframe_index) | 125 int inlined_jsframe_index) |
126 : isolate_(isolate), | 126 : isolate_(isolate), |
127 frame_(frame), | 127 frame_(frame), |
128 inlined_jsframe_index_(inlined_jsframe_index) { | 128 inlined_jsframe_index_(inlined_jsframe_index) { |
129 FrameInspector frame_inspector(frame, inlined_jsframe_index, isolate); | 129 FrameInspector frame_inspector(frame, inlined_jsframe_index, isolate); |
130 Handle<JSFunction> local_function = | 130 Handle<JSFunction> local_function = |
131 handle(JSFunction::cast(frame_inspector.GetFunction())); | 131 Handle<JSFunction>::cast(frame_inspector.GetFunction()); |
132 Handle<Context> outer_context(local_function->context()); | 132 Handle<Context> outer_context(local_function->context()); |
133 native_context_ = Handle<Context>(outer_context->native_context()); | 133 native_context_ = Handle<Context>(outer_context->native_context()); |
134 Handle<JSFunction> global_function(native_context_->closure()); | 134 Handle<JSFunction> global_function(native_context_->closure()); |
135 outer_info_ = handle(global_function->shared()); | 135 outer_info_ = handle(global_function->shared()); |
136 Handle<Context> inner_context; | 136 Handle<Context> inner_context; |
137 | 137 |
138 bool stop = false; | 138 bool stop = false; |
139 | 139 |
140 // Iterate the original context chain to create a context chain that reflects | 140 // Iterate the original context chain to create a context chain that reflects |
141 // our needs. The original context chain may look like this: | 141 // our needs. The original context chain may look like this: |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 LoadFromContext(lookup_context, this_string, &global).ToHandle(&receiver); | 397 LoadFromContext(lookup_context, this_string, &global).ToHandle(&receiver); |
398 } else if (local_function->shared()->scope_info()->HasReceiver()) { | 398 } else if (local_function->shared()->scope_info()->HasReceiver()) { |
399 receiver = handle(frame_->receiver(), isolate_); | 399 receiver = handle(frame_->receiver(), isolate_); |
400 } | 400 } |
401 return isolate_->factory()->NewCatchContext(global_function, parent_context, | 401 return isolate_->factory()->NewCatchContext(global_function, parent_context, |
402 this_string, receiver); | 402 this_string, receiver); |
403 } | 403 } |
404 | 404 |
405 } // namespace internal | 405 } // namespace internal |
406 } // namespace v8 | 406 } // namespace v8 |
OLD | NEW |