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_COMPILER_WASM_COMPILER_H_ | 5 #ifndef V8_COMPILER_WASM_COMPILER_H_ |
6 #define V8_COMPILER_WASM_COMPILER_H_ | 6 #define V8_COMPILER_WASM_COMPILER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 // Clients of this interface shouldn't depend on lots of compiler internals. | 10 // Clients of this interface shouldn't depend on lots of compiler internals. |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 Node* JITSingleFunction(Node* base, Node* length, Node* index, | 161 Node* JITSingleFunction(Node* base, Node* length, Node* index, |
162 uint32_t sig_index, wasm::FunctionSig* sig, | 162 uint32_t sig_index, wasm::FunctionSig* sig, |
163 wasm::WasmCodePosition position); | 163 wasm::WasmCodePosition position); |
164 void BuildJSToWasmWrapper(Handle<Code> wasm_code, wasm::FunctionSig* sig); | 164 void BuildJSToWasmWrapper(Handle<Code> wasm_code, wasm::FunctionSig* sig); |
165 void BuildWasmToJSWrapper(Handle<JSFunction> function, | 165 void BuildWasmToJSWrapper(Handle<JSFunction> function, |
166 wasm::FunctionSig* sig); | 166 wasm::FunctionSig* sig); |
167 | 167 |
168 Node* ToJS(Node* node, Node* context, wasm::LocalType type); | 168 Node* ToJS(Node* node, Node* context, wasm::LocalType type); |
169 Node* FromJS(Node* node, Node* context, wasm::LocalType type); | 169 Node* FromJS(Node* node, Node* context, wasm::LocalType type); |
170 Node* Invert(Node* node); | 170 Node* Invert(Node* node); |
171 Node* FunctionTable(); | 171 Node* FunctionTable(uint32_t index); |
172 Node* ChangeToRuntimeCall(Node* node, Runtime::FunctionId function_id, | 172 Node* ChangeToRuntimeCall(Node* node, Runtime::FunctionId function_id, |
173 Signature<Conversion>* signature); | 173 Signature<Conversion>* signature); |
174 | 174 |
175 //----------------------------------------------------------------------- | 175 //----------------------------------------------------------------------- |
176 // Operations that concern the linear memory. | 176 // Operations that concern the linear memory. |
177 //----------------------------------------------------------------------- | 177 //----------------------------------------------------------------------- |
178 Node* MemSize(uint32_t offset); | 178 Node* MemSize(uint32_t offset); |
179 Node* LoadGlobal(uint32_t index); | 179 Node* LoadGlobal(uint32_t index); |
180 Node* StoreGlobal(uint32_t index, Node* val); | 180 Node* StoreGlobal(uint32_t index, Node* val); |
181 Node* LoadMem(wasm::LocalType type, MachineType memtype, Node* index, | 181 Node* LoadMem(wasm::LocalType type, MachineType memtype, Node* index, |
(...skipping 26 matching lines...) Expand all Loading... |
208 | 208 |
209 private: | 209 private: |
210 static const int kDefaultBufferSize = 16; | 210 static const int kDefaultBufferSize = 16; |
211 friend class WasmTrapHelper; | 211 friend class WasmTrapHelper; |
212 | 212 |
213 Zone* zone_; | 213 Zone* zone_; |
214 JSGraph* jsgraph_; | 214 JSGraph* jsgraph_; |
215 wasm::ModuleEnv* module_; | 215 wasm::ModuleEnv* module_; |
216 Node* mem_buffer_; | 216 Node* mem_buffer_; |
217 Node* mem_size_; | 217 Node* mem_size_; |
218 Node* function_table_; | 218 NodeVector function_tables_; |
219 Node** control_; | 219 Node** control_; |
220 Node** effect_; | 220 Node** effect_; |
221 Node** cur_buffer_; | 221 Node** cur_buffer_; |
222 size_t cur_bufsize_; | 222 size_t cur_bufsize_; |
223 Node* def_buffer_[kDefaultBufferSize]; | 223 Node* def_buffer_[kDefaultBufferSize]; |
224 | 224 |
225 WasmTrapHelper* trap_; | 225 WasmTrapHelper* trap_; |
226 wasm::FunctionSig* function_signature_; | 226 wasm::FunctionSig* function_signature_; |
227 SetOncePointer<const Operator> allocate_heap_number_operator_; | 227 SetOncePointer<const Operator> allocate_heap_number_operator_; |
228 | 228 |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 } | 354 } |
355 | 355 |
356 // Simd helper functions | 356 // Simd helper functions |
357 MachineOperatorBuilder* simd(); | 357 MachineOperatorBuilder* simd(); |
358 }; | 358 }; |
359 } // namespace compiler | 359 } // namespace compiler |
360 } // namespace internal | 360 } // namespace internal |
361 } // namespace v8 | 361 } // namespace v8 |
362 | 362 |
363 #endif // V8_COMPILER_WASM_COMPILER_H_ | 363 #endif // V8_COMPILER_WASM_COMPILER_H_ |
OLD | NEW |