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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 // Generates code to perform a keyed property load via |ic|. | 79 // Generates code to perform a keyed property load via |ic|. |
80 void DoKeyedLoadIC(Callable ic, InterpreterAssembler* assembler); | 80 void DoKeyedLoadIC(Callable ic, InterpreterAssembler* assembler); |
81 | 81 |
82 // Generates code to perform a namedproperty store via |ic|. | 82 // Generates code to perform a namedproperty store via |ic|. |
83 void DoStoreIC(Callable ic, InterpreterAssembler* assembler); | 83 void DoStoreIC(Callable ic, InterpreterAssembler* assembler); |
84 | 84 |
85 // Generates code to perform a keyed property store via |ic|. | 85 // Generates code to perform a keyed property store via |ic|. |
86 void DoKeyedStoreIC(Callable ic, InterpreterAssembler* assembler); | 86 void DoKeyedStoreIC(Callable ic, InterpreterAssembler* assembler); |
87 | 87 |
88 // Generates code to perform a JS call. | 88 // Generates code to perform a JS call. |
89 void DoJSCall(InterpreterAssembler* assembler); | 89 void DoJSCall(InterpreterAssembler* assembler, TailCallMode tail_call_mode); |
90 | 90 |
91 // Generates code to perform a runtime call. | 91 // Generates code to perform a runtime call. |
92 void DoCallRuntimeCommon(InterpreterAssembler* assembler); | 92 void DoCallRuntimeCommon(InterpreterAssembler* assembler); |
93 | 93 |
94 // Generates code to perform a runtime call returning a pair. | 94 // Generates code to perform a runtime call returning a pair. |
95 void DoCallRuntimeForPairCommon(InterpreterAssembler* assembler); | 95 void DoCallRuntimeForPairCommon(InterpreterAssembler* assembler); |
96 | 96 |
97 // Generates code to perform a JS runtime call. | 97 // Generates code to perform a JS runtime call. |
98 void DoCallJSRuntimeCommon(InterpreterAssembler* assembler); | 98 void DoCallJSRuntimeCommon(InterpreterAssembler* assembler); |
99 | 99 |
(...skipping 24 matching lines...) Expand all Loading... |
124 Object* dispatch_table_[kDispatchTableSize]; | 124 Object* dispatch_table_[kDispatchTableSize]; |
125 | 125 |
126 DISALLOW_COPY_AND_ASSIGN(Interpreter); | 126 DISALLOW_COPY_AND_ASSIGN(Interpreter); |
127 }; | 127 }; |
128 | 128 |
129 } // namespace interpreter | 129 } // namespace interpreter |
130 } // namespace internal | 130 } // namespace internal |
131 } // namespace v8 | 131 } // namespace v8 |
132 | 132 |
133 #endif // V8_INTERPRETER_INTERPRETER_H_ | 133 #endif // V8_INTERPRETER_INTERPRETER_H_ |
OLD | NEW |