diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-02-05 12:35:09 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-05 12:35:09 -0800 |
commit | f424f81886405fc26a415fc86900c0f8d0df14eb (patch) | |
tree | 5896c316f216fca9654f55e41809839d181ca53b /src/wasm-binary.h | |
parent | 484f62f985cb2180139d1cf991ac04ee41635417 (diff) | |
download | binaryen-f424f81886405fc26a415fc86900c0f8d0df14eb.tar.gz binaryen-f424f81886405fc26a415fc86900c0f8d0df14eb.tar.bz2 binaryen-f424f81886405fc26a415fc86900c0f8d0df14eb.zip |
Bulk memory operations (#1892)
Bulk memory operations
The only parts missing are the interpreter implementation
and spec tests.
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r-- | src/wasm-binary.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 2402375dc..a875db791 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -550,7 +550,7 @@ enum ASTNodes { I64ExtendS16 = 0xc3, I64ExtendS32 = 0xc4, - TruncSatPrefix = 0xfc, + MiscPrefix = 0xfc, SIMDPrefix = 0xfd, AtomicPrefix = 0xfe }; @@ -785,6 +785,13 @@ enum SIMDOpcodes { F64x2ConvertUI64x2 = 0xb2 }; +enum BulkMemoryOpcodes { + MemoryInit = 0x08, + DataDrop = 0x09, + MemoryCopy = 0x0a, + MemoryFill = 0x0b +}; + enum MemoryAccess { Offset = 0x10, // bit 4 Alignment = 0x80, // bit 7 @@ -1115,6 +1122,10 @@ public: bool maybeVisitSIMDShuffle(Expression*& out, uint32_t code); bool maybeVisitSIMDBitselect(Expression*& out, uint32_t code); bool maybeVisitSIMDShift(Expression*& out, uint32_t code); + bool maybeVisitMemoryInit(Expression*& out, uint32_t code); + bool maybeVisitDataDrop(Expression*& out, uint32_t code); + bool maybeVisitMemoryCopy(Expression*& out, uint32_t code); + bool maybeVisitMemoryFill(Expression*& out, uint32_t code); void visitSelect(Select* curr); void visitReturn(Return* curr); bool maybeVisitHost(Expression*& out, uint8_t code); |