summaryrefslogtreecommitdiff
path: root/src/ir/memory-utils.h
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2019-04-12 18:27:13 -0700
committerGitHub <noreply@github.com>2019-04-12 18:27:13 -0700
commit9495b338121140d585648d64fb99e8ef7f92f867 (patch)
tree57418b1f685a4a5a43ee291759f64e9a763b1245 /src/ir/memory-utils.h
parent883d14de7157950063f74b81658d00df0d53be8d (diff)
downloadbinaryen-9495b338121140d585648d64fb99e8ef7f92f867.tar.gz
binaryen-9495b338121140d585648d64fb99e8ef7f92f867.tar.bz2
binaryen-9495b338121140d585648d64fb99e8ef7f92f867.zip
Move features from passOptions to Module (#2001)
This allows us to emit a (potentially modified) target features section and conditionally emit other sections such as the DataCount section based on the presence of features.
Diffstat (limited to 'src/ir/memory-utils.h')
-rw-r--r--src/ir/memory-utils.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ir/memory-utils.h b/src/ir/memory-utils.h
index 0bad50c5a..fbf1f646c 100644
--- a/src/ir/memory-utils.h
+++ b/src/ir/memory-utils.h
@@ -69,6 +69,12 @@ namespace MemoryUtils {
return true;
}
+ // Conservatively refuse to change segments if there might be memory.init
+ // and data.drop instructions.
+ if (module.features.hasBulkMemory()) {
+ return false;
+ }
+
auto isEmpty = [](Memory::Segment& segment) {
return segment.data.size() == 0;
};