diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-05 11:11:52 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-05 11:11:52 -0800 |
commit | 01ef67f22fb597b7c749d2c82c93556cc8eea5b2 (patch) | |
tree | c267c8e60bd716662a8e268b0600ca6afdcc7b39 /src/wasm-shell.cpp | |
parent | 180e1ce3f8e371fb790d1aa8f810bdff4bcd102d (diff) | |
download | binaryen-01ef67f22fb597b7c749d2c82c93556cc8eea5b2.tar.gz binaryen-01ef67f22fb597b7c749d2c82c93556cc8eea5b2.tar.bz2 binaryen-01ef67f22fb597b7c749d2c82c93556cc8eea5b2.zip |
add i64 load to shell
Diffstat (limited to 'src/wasm-shell.cpp')
-rw-r--r-- | src/wasm-shell.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/wasm-shell.cpp b/src/wasm-shell.cpp index 65a838279..97c9c91ed 100644 --- a/src/wasm-shell.cpp +++ b/src/wasm-shell.cpp @@ -64,6 +64,16 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface { } break; } + case i64: { + switch (load->bytes) { + case 1: return load->signed_ ? (int64_t)((int8_t*)memory)[addr] : (int64_t)((uint8_t*)memory)[addr]; + case 2: return load->signed_ ? (int64_t)((int16_t*)memory)[addr] : (int64_t)((uint16_t*)memory)[addr]; + case 4: return load->signed_ ? (int64_t)((int32_t*)memory)[addr] : (int64_t)((uint32_t*)memory)[addr]; + case 8: return load->signed_ ? (int64_t)((int64_t*)memory)[addr] : (int64_t)((uint64_t*)memory)[addr]; + default: abort(); + } + break; + } case f32: return ((float*)memory)[addr]; case f64: return ((double*)memory)[addr]; default: abort(); |