Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(693)

Side by Side Diff: src/debug/debug-evaluate.h

Issue 1500933002: [debugger] fix debug-evaluate wrt shadowed context var. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: add TODO Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #ifndef V8_DEBUG_DEBUG_EVALUATE_H_ 5 #ifndef V8_DEBUG_DEBUG_EVALUATE_H_
6 #define V8_DEBUG_DEBUG_EVALUATE_H_ 6 #define V8_DEBUG_DEBUG_EVALUATE_H_
7 7
8 #include "src/frames.h" 8 #include "src/frames.h"
9 #include "src/objects.h" 9 #include "src/objects.h"
10 10
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 void RecordContextsInChain(Handle<Context>* inner_context, 67 void RecordContextsInChain(Handle<Context>* inner_context,
68 Handle<Context> first, Handle<Context> last); 68 Handle<Context> first, Handle<Context> last);
69 69
70 Handle<JSObject> NewJSObjectWithNullProto(); 70 Handle<JSObject> NewJSObjectWithNullProto();
71 71
72 // Helper function to find or create the arguments object for 72 // Helper function to find or create the arguments object for
73 // Runtime_DebugEvaluate. 73 // Runtime_DebugEvaluate.
74 void MaterializeArgumentsObject(Handle<JSObject> target, 74 void MaterializeArgumentsObject(Handle<JSObject> target,
75 Handle<JSFunction> function); 75 Handle<JSFunction> function);
76 76
77 Handle<Context> MaterializeReceiver(Handle<Context> target, 77 void MaterializeContextChain(Handle<JSObject> target,
78 Handle<JSFunction> function); 78 Handle<Context> context);
79
80 void UpdateContextChainFromMaterializedObject(Handle<JSObject> source,
81 Handle<Context> context);
82
83 Handle<Context> MaterializeReceiver(Handle<Context> parent_context,
84 Handle<Context> lookup_context,
85 Handle<JSFunction> local_function,
86 Handle<JSFunction> global_function,
87 bool this_is_non_local);
88
89 MaybeHandle<Object> LoadFromContext(Handle<Context> context,
90 Handle<String> name);
91
92 void StoreToContext(Handle<Context> context, Handle<String> name,
93 Handle<Object> value);
79 94
80 Handle<SharedFunctionInfo> outer_info_; 95 Handle<SharedFunctionInfo> outer_info_;
81 Handle<Context> innermost_context_; 96 Handle<Context> innermost_context_;
82 List<ContextChainElement> context_chain_; 97 List<ContextChainElement> context_chain_;
98 List<Handle<String> > non_locals_;
83 Isolate* isolate_; 99 Isolate* isolate_;
84 JavaScriptFrame* frame_; 100 JavaScriptFrame* frame_;
85 int inlined_jsframe_index_; 101 int inlined_jsframe_index_;
86 }; 102 };
87 103
88 static MaybeHandle<Object> Evaluate(Isolate* isolate, 104 static MaybeHandle<Object> Evaluate(Isolate* isolate,
89 Handle<SharedFunctionInfo> outer_info, 105 Handle<SharedFunctionInfo> outer_info,
90 Handle<Context> context, 106 Handle<Context> context,
91 Handle<HeapObject> context_extension, 107 Handle<HeapObject> context_extension,
92 Handle<Object> receiver, 108 Handle<Object> receiver,
93 Handle<String> source); 109 Handle<String> source);
94 }; 110 };
95 111
96 112
97 } // namespace internal 113 } // namespace internal
98 } // namespace v8 114 } // namespace v8
99 115
100 #endif // V8_DEBUG_DEBUG_EVALUATE_H_ 116 #endif // V8_DEBUG_DEBUG_EVALUATE_H_
OLDNEW
« src/ast/scopes.h ('K') | « src/ast/scopes.cc ('k') | src/debug/debug-evaluate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698