Index: src/compiler/wasm-compiler.h |
diff --git a/src/compiler/wasm-compiler.h b/src/compiler/wasm-compiler.h |
index ee7f521c9fc23d42b79a4a4f359d1e6e44a147b6..737e84b6df1146022b3d2a273932c8d784ccd2ae 100644 |
--- a/src/compiler/wasm-compiler.h |
+++ b/src/compiler/wasm-compiler.h |
@@ -141,8 +141,10 @@ class WasmGraphBuilder { |
Node* LoadGlobal(uint32_t index); |
Node* StoreGlobal(uint32_t index, Node* val); |
Node* LoadMem(wasm::LocalType type, MachineType memtype, Node* index, |
- uint32_t offset, wasm::WasmCodePosition position); |
- Node* StoreMem(MachineType type, Node* index, uint32_t offset, Node* val, |
+ uint32_t offset, uint32_t alignment, |
+ wasm::WasmCodePosition position); |
+ Node* StoreMem(MachineType type, Node* index, uint32_t offset, |
+ uint32_t alignment, Node* val, |
wasm::WasmCodePosition position); |
static void PrintDebugName(Node* node); |
@@ -193,6 +195,19 @@ class WasmGraphBuilder { |
void BoundsCheckMem(MachineType memtype, Node* index, uint32_t offset, |
wasm::WasmCodePosition position); |
+ MachineType GetTypeForUnalignedAccess(uint32_t alignment, |
+ bool signExtend = false); |
+ |
+ Node* GetUnalignedLoadOffsetNode(Node* baseOffset, int numberOfBytes, |
+ int stride, int current); |
+ |
+ Node* BuildUnalignedLoad(wasm::LocalType type, MachineType memtype, |
+ Node* index, uint32_t offset, uint32_t alignment); |
+ Node* GetUnalignedStoreOffsetNode(Node* baseOffset, int numberOfBytes, |
+ int stride, int current); |
+ Node* BuildUnalignedStore(MachineType memtype, Node* index, uint32_t offset, |
+ uint32_t alignment, Node* val); |
+ |
Node* MaskShiftCount32(Node* node); |
Node* MaskShiftCount64(Node* node); |