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_INTERPRETER_INTERPRETER_H_ | 5 #ifndef V8_INTERPRETER_INTERPRETER_H_ |
6 #define V8_INTERPRETER_INTERPRETER_H_ | 6 #define V8_INTERPRETER_INTERPRETER_H_ |
7 | 7 |
8 // Clients of this interface shouldn't depend on lots of interpreter internals. | 8 // Clients of this interface shouldn't depend on lots of interpreter internals. |
9 // Do not include anything from src/interpreter other than | 9 // Do not include anything from src/interpreter other than |
10 // src/interpreter/bytecodes.h here! | 10 // src/interpreter/bytecodes.h here! |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 | 95 |
96 // Generates code to perform a named property store via |ic|. | 96 // Generates code to perform a named property store via |ic|. |
97 void DoStoreIC(Callable ic, InterpreterAssembler* assembler); | 97 void DoStoreIC(Callable ic, InterpreterAssembler* assembler); |
98 | 98 |
99 // Generates code to perform a keyed property store via |ic|. | 99 // Generates code to perform a keyed property store via |ic|. |
100 void DoKeyedStoreIC(Callable ic, InterpreterAssembler* assembler); | 100 void DoKeyedStoreIC(Callable ic, InterpreterAssembler* assembler); |
101 | 101 |
102 // Generates code to perform a JS call. | 102 // Generates code to perform a JS call. |
103 void DoJSCall(InterpreterAssembler* assembler, TailCallMode tail_call_mode); | 103 void DoJSCall(InterpreterAssembler* assembler, TailCallMode tail_call_mode); |
104 | 104 |
| 105 // Generates code to perform a JS call that collects type feedback. |
| 106 void DoJSCallWithFeedback(InterpreterAssembler* assembler, |
| 107 TailCallMode tail_call_mode); |
| 108 |
105 // Generates code to perform a runtime call. | 109 // Generates code to perform a runtime call. |
106 void DoCallRuntimeCommon(InterpreterAssembler* assembler); | 110 void DoCallRuntimeCommon(InterpreterAssembler* assembler); |
107 | 111 |
108 // Generates code to perform a runtime call returning a pair. | 112 // Generates code to perform a runtime call returning a pair. |
109 void DoCallRuntimeForPairCommon(InterpreterAssembler* assembler); | 113 void DoCallRuntimeForPairCommon(InterpreterAssembler* assembler); |
110 | 114 |
111 // Generates code to perform a JS runtime call. | 115 // Generates code to perform a JS runtime call. |
112 void DoCallJSRuntimeCommon(InterpreterAssembler* assembler); | 116 void DoCallJSRuntimeCommon(InterpreterAssembler* assembler); |
113 | 117 |
114 // Generates code to perform a constructor call. | 118 // Generates code to perform a constructor call. |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 v8::base::SmartArrayPointer<uintptr_t> bytecode_dispatch_counters_table_; | 174 v8::base::SmartArrayPointer<uintptr_t> bytecode_dispatch_counters_table_; |
171 | 175 |
172 DISALLOW_COPY_AND_ASSIGN(Interpreter); | 176 DISALLOW_COPY_AND_ASSIGN(Interpreter); |
173 }; | 177 }; |
174 | 178 |
175 } // namespace interpreter | 179 } // namespace interpreter |
176 } // namespace internal | 180 } // namespace internal |
177 } // namespace v8 | 181 } // namespace v8 |
178 | 182 |
179 #endif // V8_INTERPRETER_INTERPRETER_H_ | 183 #endif // V8_INTERPRETER_INTERPRETER_H_ |
OLD | NEW |