summaryrefslogtreecommitdiff
path: root/src/wasm-shell.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-11-05 11:37:38 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-11-05 11:37:38 -0800
commita858f83483527f978c9ee70db4a91bc9c2c7022b (patch)
treecc86f2fd49fcb333674a3db8b27b8e2353563eff /src/wasm-shell.cpp
parent272cf05739fb95e85d2cabb0dd7600c0f03c7906 (diff)
downloadbinaryen-a858f83483527f978c9ee70db4a91bc9c2c7022b.tar.gz
binaryen-a858f83483527f978c9ee70db4a91bc9c2c7022b.tar.bz2
binaryen-a858f83483527f978c9ee70db4a91bc9c2c7022b.zip
refactor memory bounds checks
Diffstat (limited to 'src/wasm-shell.cpp')
-rw-r--r--src/wasm-shell.cpp13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/wasm-shell.cpp b/src/wasm-shell.cpp
index f684d5785..76aa3c8af 100644
--- a/src/wasm-shell.cpp
+++ b/src/wasm-shell.cpp
@@ -47,13 +47,8 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface {
abort();
}
- Literal load(Load* load, Literal ptr) override {
+ Literal load(Load* load, size_t addr) override {
// ignore align - assume we are on x86 etc. which does that
- size_t addr = ptr.geti32();
- int64_t full = addr;
- full += load->offset;
- if (full + load->bytes > memorySize) trap();
- addr = full;
switch (load->type) {
case i32: {
switch (load->bytes) {
@@ -80,12 +75,8 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface {
}
}
- void store(Store* store, Literal ptr, Literal value) override {
+ void store(Store* store, size_t addr, Literal value) override {
// ignore align - assume we are on x86 etc. which does that
- size_t addr = ptr.geti32();
- int64_t full = addr;
- full += store->offset;
- if (full + store->bytes > memorySize) trap();
switch (store->type) {
case i32: {
switch (store->bytes) {