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 #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 Loading... |
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> function, |
| 86 bool this_is_non_local); |
| 87 |
| 88 MaybeHandle<Object> LoadFromContext(Handle<Context> context, |
| 89 Handle<String> name); |
| 90 |
| 91 void StoreToContext(Handle<Context> context, Handle<String> name, |
| 92 Handle<Object> value); |
79 | 93 |
80 Handle<SharedFunctionInfo> outer_info_; | 94 Handle<SharedFunctionInfo> outer_info_; |
81 Handle<Context> innermost_context_; | 95 Handle<Context> innermost_context_; |
82 List<ContextChainElement> context_chain_; | 96 List<ContextChainElement> context_chain_; |
| 97 List<Handle<String> > non_locals_; |
83 Isolate* isolate_; | 98 Isolate* isolate_; |
84 JavaScriptFrame* frame_; | 99 JavaScriptFrame* frame_; |
85 int inlined_jsframe_index_; | 100 int inlined_jsframe_index_; |
86 }; | 101 }; |
87 | 102 |
88 static MaybeHandle<Object> Evaluate(Isolate* isolate, | 103 static MaybeHandle<Object> Evaluate(Isolate* isolate, |
89 Handle<SharedFunctionInfo> outer_info, | 104 Handle<SharedFunctionInfo> outer_info, |
90 Handle<Context> context, | 105 Handle<Context> context, |
91 Handle<HeapObject> context_extension, | 106 Handle<HeapObject> context_extension, |
92 Handle<Object> receiver, | 107 Handle<Object> receiver, |
93 Handle<String> source); | 108 Handle<String> source); |
94 }; | 109 }; |
95 | 110 |
96 | 111 |
97 } // namespace internal | 112 } // namespace internal |
98 } // namespace v8 | 113 } // namespace v8 |
99 | 114 |
100 #endif // V8_DEBUG_DEBUG_EVALUATE_H_ | 115 #endif // V8_DEBUG_DEBUG_EVALUATE_H_ |
OLD | NEW |