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 // Clients of this interface shouldn't depend on lots of compiler internals. | 8 // Clients of this interface shouldn't depend on lots of compiler internals. |
9 // Do not include anything from src/compiler here! | 9 // Do not include anything from src/compiler here! |
10 #include "src/wasm/wasm-opcodes.h" | 10 #include "src/wasm/wasm-opcodes.h" |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 Node* FromJS(Node* node, Node* context, wasm::LocalType type); | 133 Node* FromJS(Node* node, Node* context, wasm::LocalType type); |
134 Node* Invert(Node* node); | 134 Node* Invert(Node* node); |
135 Node* FunctionTable(); | 135 Node* FunctionTable(); |
136 | 136 |
137 //----------------------------------------------------------------------- | 137 //----------------------------------------------------------------------- |
138 // Operations that concern the linear memory. | 138 // Operations that concern the linear memory. |
139 //----------------------------------------------------------------------- | 139 //----------------------------------------------------------------------- |
140 Node* MemSize(uint32_t offset); | 140 Node* MemSize(uint32_t offset); |
141 Node* LoadGlobal(uint32_t index); | 141 Node* LoadGlobal(uint32_t index); |
142 Node* StoreGlobal(uint32_t index, Node* val); | 142 Node* StoreGlobal(uint32_t index, Node* val); |
| 143 Node* BuildUnalignedLoad(wasm::LocalType type, MachineType memtype, |
| 144 Node* index, uint32_t offset, uint32_t alignment); |
143 Node* LoadMem(wasm::LocalType type, MachineType memtype, Node* index, | 145 Node* LoadMem(wasm::LocalType type, MachineType memtype, Node* index, |
144 uint32_t offset, wasm::WasmCodePosition position); | 146 uint32_t offset, uint32_t alignment, |
145 Node* StoreMem(MachineType type, Node* index, uint32_t offset, Node* val, | 147 wasm::WasmCodePosition position); |
| 148 Node* BuildUnalignedStore(MachineType memtype, Node* index, uint32_t offset, |
| 149 uint32_t alignment, Node* val); |
| 150 Node* StoreMem(MachineType type, Node* index, uint32_t offset, |
| 151 uint32_t alignment, Node* val, |
146 wasm::WasmCodePosition position); | 152 wasm::WasmCodePosition position); |
147 | 153 |
148 static void PrintDebugName(Node* node); | 154 static void PrintDebugName(Node* node); |
149 | 155 |
150 Node* Control() { return *control_; } | 156 Node* Control() { return *control_; } |
151 Node* Effect() { return *effect_; } | 157 Node* Effect() { return *effect_; } |
152 | 158 |
153 void set_module(wasm::ModuleEnv* module) { this->module_ = module; } | 159 void set_module(wasm::ModuleEnv* module) { this->module_ = module; } |
154 | 160 |
155 void set_control_ptr(Node** control) { this->control_ = control; } | 161 void set_control_ptr(Node** control) { this->control_ = control; } |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 Node** buf = Buffer(new_count); | 301 Node** buf = Buffer(new_count); |
296 if (buf != buffer) memcpy(buf, buffer, old_count * sizeof(Node*)); | 302 if (buf != buffer) memcpy(buf, buffer, old_count * sizeof(Node*)); |
297 return buf; | 303 return buf; |
298 } | 304 } |
299 }; | 305 }; |
300 } // namespace compiler | 306 } // namespace compiler |
301 } // namespace internal | 307 } // namespace internal |
302 } // namespace v8 | 308 } // namespace v8 |
303 | 309 |
304 #endif // V8_COMPILER_WASM_COMPILER_H_ | 310 #endif // V8_COMPILER_WASM_COMPILER_H_ |
OLD | NEW |