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 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 wasm::WasmCodePosition position); | 163 wasm::WasmCodePosition position); |
164 Node* CallIndirect(uint32_t index, Node** args, Node*** rets, | 164 Node* CallIndirect(uint32_t index, Node** args, Node*** rets, |
165 wasm::WasmCodePosition position); | 165 wasm::WasmCodePosition position); |
166 | 166 |
167 void BuildJSToWasmWrapper(Handle<Code> wasm_code, wasm::FunctionSig* sig); | 167 void BuildJSToWasmWrapper(Handle<Code> wasm_code, wasm::FunctionSig* sig); |
168 void BuildWasmToJSWrapper(Handle<JSReceiver> target, wasm::FunctionSig* sig); | 168 void BuildWasmToJSWrapper(Handle<JSReceiver> target, wasm::FunctionSig* sig); |
169 | 169 |
170 Node* ToJS(Node* node, wasm::LocalType type); | 170 Node* ToJS(Node* node, wasm::LocalType type); |
171 Node* FromJS(Node* node, Node* context, wasm::LocalType type); | 171 Node* FromJS(Node* node, Node* context, wasm::LocalType type); |
172 Node* Invert(Node* node); | 172 Node* Invert(Node* node); |
173 void EnsureFunctionTableNodes(); | 173 Node* FunctionTable(uint32_t index); |
174 | 174 |
175 //----------------------------------------------------------------------- | 175 //----------------------------------------------------------------------- |
176 // Operations that concern the linear memory. | 176 // Operations that concern the linear memory. |
177 //----------------------------------------------------------------------- | 177 //----------------------------------------------------------------------- |
178 Node* CurrentMemoryPages(); | 178 Node* CurrentMemoryPages(); |
179 Node* GetGlobal(uint32_t index); | 179 Node* GetGlobal(uint32_t index); |
180 Node* SetGlobal(uint32_t index, Node* val); | 180 Node* SetGlobal(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, |
182 uint32_t offset, uint32_t alignment, | 182 uint32_t offset, uint32_t alignment, |
183 wasm::WasmCodePosition position); | 183 wasm::WasmCodePosition position); |
(...skipping 28 matching lines...) Expand all Loading... |
212 private: | 212 private: |
213 static const int kDefaultBufferSize = 16; | 213 static const int kDefaultBufferSize = 16; |
214 friend class WasmTrapHelper; | 214 friend class WasmTrapHelper; |
215 | 215 |
216 Zone* zone_; | 216 Zone* zone_; |
217 JSGraph* jsgraph_; | 217 JSGraph* jsgraph_; |
218 wasm::ModuleEnv* module_; | 218 wasm::ModuleEnv* module_; |
219 Node* mem_buffer_; | 219 Node* mem_buffer_; |
220 Node* mem_size_; | 220 Node* mem_size_; |
221 NodeVector function_tables_; | 221 NodeVector function_tables_; |
222 NodeVector function_table_sizes_; | |
223 Node** control_; | 222 Node** control_; |
224 Node** effect_; | 223 Node** effect_; |
225 Node** cur_buffer_; | 224 Node** cur_buffer_; |
226 size_t cur_bufsize_; | 225 size_t cur_bufsize_; |
227 Node* def_buffer_[kDefaultBufferSize]; | 226 Node* def_buffer_[kDefaultBufferSize]; |
228 | 227 |
229 WasmTrapHelper* trap_; | 228 WasmTrapHelper* trap_; |
230 wasm::FunctionSig* function_signature_; | 229 wasm::FunctionSig* function_signature_; |
231 SetOncePointer<const Operator> allocate_heap_number_operator_; | 230 SetOncePointer<const Operator> allocate_heap_number_operator_; |
232 | 231 |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 } | 350 } |
352 | 351 |
353 int AddParameterNodes(Node** args, int pos, int param_count, | 352 int AddParameterNodes(Node** args, int pos, int param_count, |
354 wasm::FunctionSig* sig); | 353 wasm::FunctionSig* sig); |
355 }; | 354 }; |
356 } // namespace compiler | 355 } // namespace compiler |
357 } // namespace internal | 356 } // namespace internal |
358 } // namespace v8 | 357 } // namespace v8 |
359 | 358 |
360 #endif // V8_COMPILER_WASM_COMPILER_H_ | 359 #endif // V8_COMPILER_WASM_COMPILER_H_ |
OLD | NEW |