Skip to content

Commit 0dba086

Browse files
authored
[NFC] Simplify binary reading logic for element segments (#4989)
Similar to #4969 but for element segments.
1 parent bd630d7 commit 0dba086

File tree

2 files changed

+4
-11
lines changed

2 files changed

+4
-11
lines changed

src/wasm-binary.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1526,10 +1526,6 @@ class WasmBinaryBuilder {
15261526

15271527
std::map<Index, Name> elemTables;
15281528

1529-
// we store elems here after being read from binary, until when we know their
1530-
// names
1531-
std::vector<std::unique_ptr<ElementSegment>> elementSegments;
1532-
15331529
// at index i we have all references to the memory i
15341530
std::map<Index, std::vector<wasm::Name*>> memoryRefs;
15351531

src/wasm/wasm-binary.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2977,9 +2977,6 @@ void WasmBinaryBuilder::validateBinary() {
29772977
}
29782978

29792979
void WasmBinaryBuilder::processNames() {
2980-
for (auto& segment : elementSegments) {
2981-
wasm.addElementSegment(std::move(segment));
2982-
}
29832980
for (auto& segment : dataSegments) {
29842981
wasm.addDataSegment(std::move(segment));
29852982
}
@@ -3178,7 +3175,7 @@ void WasmBinaryBuilder::readElementSegments() {
31783175
}
31793176
}
31803177

3181-
elementSegments.push_back(std::move(segment));
3178+
wasm.addElementSegment(std::move(segment));
31823179
}
31833180
}
31843181

@@ -3348,7 +3345,7 @@ void WasmBinaryBuilder::readNames(size_t payloadLen) {
33483345

33493346
if (index < wasm.tables.size()) {
33503347
auto* table = wasm.tables[index].get();
3351-
for (auto& segment : elementSegments) {
3348+
for (auto& segment : wasm.elementSegments) {
33523349
if (segment->table == table->name) {
33533350
segment->table = name;
33543351
}
@@ -3369,8 +3366,8 @@ void WasmBinaryBuilder::readNames(size_t payloadLen) {
33693366
auto rawName = getInlineString();
33703367
auto name = processor.process(rawName);
33713368

3372-
if (index < elementSegments.size()) {
3373-
elementSegments[index]->setExplicitName(name);
3369+
if (index < wasm.elementSegments.size()) {
3370+
wasm.elementSegments[index]->setExplicitName(name);
33743371
} else {
33753372
std::cerr << "warning: elem index out of bounds in name section, "
33763373
"elem subsection: "

0 commit comments

Comments
 (0)