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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 protected_instructions_; // Instructions that are protected by the signal | 87 protected_instructions_; // Instructions that are protected by the signal |
88 // handler. | 88 // handler. |
89 | 89 |
90 DISALLOW_COPY_AND_ASSIGN(WasmCompilationUnit); | 90 DISALLOW_COPY_AND_ASSIGN(WasmCompilationUnit); |
91 }; | 91 }; |
92 | 92 |
93 // Wraps a JS function, producing a code object that can be called from WASM. | 93 // Wraps a JS function, producing a code object that can be called from WASM. |
94 Handle<Code> CompileWasmToJSWrapper(Isolate* isolate, Handle<JSReceiver> target, | 94 Handle<Code> CompileWasmToJSWrapper(Isolate* isolate, Handle<JSReceiver> target, |
95 wasm::FunctionSig* sig, uint32_t index, | 95 wasm::FunctionSig* sig, uint32_t index, |
96 Handle<String> module_name, | 96 Handle<String> module_name, |
97 MaybeHandle<String> import_name); | 97 MaybeHandle<String> import_name, |
| 98 wasm::ModuleOrigin origin); |
98 | 99 |
99 // Wraps a given wasm code object, producing a code object. | 100 // Wraps a given wasm code object, producing a code object. |
100 Handle<Code> CompileJSToWasmWrapper(Isolate* isolate, | 101 Handle<Code> CompileJSToWasmWrapper(Isolate* isolate, |
101 const wasm::WasmModule* module, | 102 const wasm::WasmModule* module, |
102 Handle<Code> wasm_code, uint32_t index); | 103 Handle<Code> wasm_code, uint32_t index); |
103 | 104 |
104 // Abstracts details of building TurboFan graph nodes for WASM to separate | 105 // Abstracts details of building TurboFan graph nodes for WASM to separate |
105 // the WASM decoder from the internal details of TurboFan. | 106 // the WASM decoder from the internal details of TurboFan. |
106 class WasmTrapHelper; | 107 class WasmTrapHelper; |
107 typedef ZoneVector<Node*> NodeVector; | 108 typedef ZoneVector<Node*> NodeVector; |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 } | 363 } |
363 | 364 |
364 int AddParameterNodes(Node** args, int pos, int param_count, | 365 int AddParameterNodes(Node** args, int pos, int param_count, |
365 wasm::FunctionSig* sig); | 366 wasm::FunctionSig* sig); |
366 }; | 367 }; |
367 } // namespace compiler | 368 } // namespace compiler |
368 } // namespace internal | 369 } // namespace internal |
369 } // namespace v8 | 370 } // namespace v8 |
370 | 371 |
371 #endif // V8_COMPILER_WASM_COMPILER_H_ | 372 #endif // V8_COMPILER_WASM_COMPILER_H_ |
OLD | NEW |