diff options
Diffstat (limited to 'src/passes/MemoryPacking.cpp')
-rw-r--r-- | src/passes/MemoryPacking.cpp | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/src/passes/MemoryPacking.cpp b/src/passes/MemoryPacking.cpp index 8267dc8bf..c6fd0e313 100644 --- a/src/passes/MemoryPacking.cpp +++ b/src/passes/MemoryPacking.cpp @@ -94,11 +94,6 @@ makeGtShiftedMemorySize(Builder& builder, Module& module, MemoryInit* curr) { } // anonymous namespace struct MemoryPacking : public Pass { - // FIXME: Chrome has a bug decoding section indices that prevents it from - // using more than 63. Just use WebLimitations::MaxDataSegments once this is - // fixed. See https://bugs.chromium.org/p/v8/issues/detail?id=10151. - uint32_t maxSegments; - void run(PassRunner* runner, Module* module) override; bool canOptimize(const Memory& memory, const PassOptions& passOptions); void optimizeBulkMemoryOps(PassRunner* runner, Module* module); @@ -129,10 +124,6 @@ void MemoryPacking::run(PassRunner* runner, Module* module) { return; } - maxSegments = module->features.hasBulkMemory() - ? 63 - : uint32_t(WebLimitations::MaxDataSegments); - auto& segments = module->memory.segments; // For each segment, a list of bulk memory instructions that refer to it @@ -541,7 +532,7 @@ void MemoryPacking::createSplitSegments(Builder& builder, offset = segment.offset; } } - if (maxSegments <= packed.size() + segmentsRemaining) { + if (WebLimitations::MaxDataSegments <= packed.size() + segmentsRemaining) { // Give up splitting and merge all remaining ranges except end zeroes auto lastNonzero = ranges.end() - 1; if (lastNonzero->isZero) { |