summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/asm2wasm.h12
-rw-r--r--src/passes/NameManager.cpp4
-rw-r--r--src/passes/Print.cpp2
-rw-r--r--src/passes/ReorderLocals.cpp10
-rw-r--r--src/s2wasm.h8
-rw-r--r--src/wasm-binary.h18
-rw-r--r--src/wasm-builder.h4
-rw-r--r--src/wasm-interpreter.h2
-rw-r--r--src/wasm-s-parser.h6
-rw-r--r--src/wasm.h4
-rw-r--r--src/wasm2asm.h6
11 files changed, 38 insertions, 38 deletions
diff --git a/src/asm2wasm.h b/src/asm2wasm.h
index 307f7a38e..8fcb1fb64 100644
--- a/src/asm2wasm.h
+++ b/src/asm2wasm.h
@@ -782,10 +782,10 @@ void Asm2WasmBuilder::processAsm(Ref ast) {
yl = func->params[2].name,
yh = func->params[3].name,
r = func->params[4].name;
- func->locals.clear();
+ func->vars.clear();
Name x64("x64"), y64("y64");
- func->locals.emplace_back(x64, i64);
- func->locals.emplace_back(y64, i64);
+ func->vars.emplace_back(x64, i64);
+ func->vars.emplace_back(y64, i64);
auto* body = allocator.alloc<Block>();
auto recreateI64 = [&](Name target, Name low, Name high) {
return builder.makeSetLocal(
@@ -884,7 +884,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
return IString((std::string("label$continue$") + label.str).c_str(), false);
};
- IStringSet functionVariables; // params or locals
+ IStringSet functionVariables; // params or vars
IString parentLabel; // set in LABEL, then read in WHILE/DO/SWITCH
std::vector<IString> breakStack; // where a break will go
@@ -910,7 +910,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
Ref pair = curr[1][j];
IString name = pair[0]->getIString();
AsmType asmType = detectType(pair[1], nullptr, true, Math_fround);
- function->locals.emplace_back(name, asmToWasmType(asmType));
+ function->vars.emplace_back(name, asmToWasmType(asmType));
functionVariables.insert(name);
asmData.addVar(name, asmType);
}
@@ -921,7 +921,7 @@ Function* Asm2WasmBuilder::processFunction(Ref ast) {
auto ensureI32Temp = [&]() {
if (addedI32Temp) return;
addedI32Temp = true;
- function->locals.emplace_back(I32_TEMP, i32);
+ function->vars.emplace_back(I32_TEMP, i32);
functionVariables.insert(I32_TEMP);
asmData.addVar(I32_TEMP, ASM_INT);
};
diff --git a/src/passes/NameManager.cpp b/src/passes/NameManager.cpp
index 8519d70eb..6a07de4c7 100644
--- a/src/passes/NameManager.cpp
+++ b/src/passes/NameManager.cpp
@@ -63,8 +63,8 @@ void NameManager::visitFunction(Function* curr) {
for (auto& param : curr->params) {
names.insert(param.name);
}
- for (auto& local : curr->locals) {
- names.insert(local.name);
+ for (auto& var : curr->vars) {
+ names.insert(var.name);
}
}
void NameManager::visitImport(Import* curr) {
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index ce974c5f0..d791e5377 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -438,7 +438,7 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
printMinorOpening(o, "result ") << printWasmType(curr->result) << ")";
}
incIndent();
- for (auto& local : curr->locals) {
+ for (auto& local : curr->vars) {
doIndent(o, indent);
printMinorOpening(o, "local ") << local.name << ' ' << printWasmType(local.type) << ")";
o << maybeNewLine;
diff --git a/src/passes/ReorderLocals.cpp b/src/passes/ReorderLocals.cpp
index 7f64c00f3..ca046773b 100644
--- a/src/passes/ReorderLocals.cpp
+++ b/src/passes/ReorderLocals.cpp
@@ -31,16 +31,16 @@ struct ReorderLocals : public WalkerPass<PostWalker<ReorderLocals>> {
std::map<Name, uint32_t> counts;
void visitFunction(Function *curr) {
- auto& locals = curr->locals;
- sort(locals.begin(), locals.end(), [this](NameType a, NameType b) -> bool {
+ auto& vars = curr->vars;
+ sort(vars.begin(), vars.end(), [this](NameType a, NameType b) -> bool {
if (this->counts[a.name] == this->counts[b.name]) {
return strcmp(a.name.str, b.name.str) > 0;
}
return this->counts[a.name] > this->counts[b.name];
});
- // drop completely unused locals
- while (locals.size() > 0 && counts[locals.back().name] == 0) {
- locals.pop_back();
+ // drop completely unused vars
+ while (vars.size() > 0 && counts[vars.back().name] == 0) {
+ vars.pop_back();
}
counts.clear();
}
diff --git a/src/s2wasm.h b/src/s2wasm.h
index b78da8cfe..70b6515ed 100644
--- a/src/s2wasm.h
+++ b/src/s2wasm.h
@@ -562,7 +562,7 @@ class S2WasmBuilder {
wasm::Builder builder(wasm);
std::vector<NameType> params;
WasmType resultType = none;
- std::vector<NameType> locals;
+ std::vector<NameType> vars;
std::map<Name, WasmType> localTypes;
// params and result
@@ -582,14 +582,14 @@ class S2WasmBuilder {
while (1) {
Name name = getNextId();
WasmType type = getType();
- locals.emplace_back(name, type);
+ vars.emplace_back(name, type);
localTypes[name] = type;
skipWhitespace();
if (!match(",")) break;
}
} else break;
}
- Function* func = builder.makeFunction(name, std::move(params), resultType, std::move(locals));
+ Function* func = builder.makeFunction(name, std::move(params), resultType, std::move(vars));
// parse body
func->body = allocator.alloc<Block>();
@@ -1351,7 +1351,7 @@ class S2WasmBuilder {
size_t paramNum = 0;
for (const NameType& nt : target->params) {
Name name = Name::fromInt(paramNum++);
- func->locals.emplace_back(name, nt.type);
+ func->vars.emplace_back(name, nt.type);
auto* param = allocator.alloc<GetLocal>();
param->name = name;
param->type = nt.type;
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index d4e1bd2c1..6b77500bf 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -558,14 +558,14 @@ public:
size_t curr = mappedLocals.size();
mappedLocals[param.name] = curr;
}
- for (auto& local : function->locals) {
- numLocalsByType[local.type]++;
+ for (auto& var : function->vars) {
+ numLocalsByType[var.type]++;
}
std::map<WasmType, size_t> currLocalsByType;
- for (auto& local : function->locals) {
+ for (auto& var : function->vars) {
size_t index = function->params.size();
- Name name = local.name;
- WasmType type = local.type;
+ Name name = var.name;
+ WasmType type = var.type;
currLocalsByType[type]++; // increment now for simplicity, must decrement it in returns
if (type == i32) {
mappedLocals[name] = index + currLocalsByType[i32] - 1;
@@ -1416,7 +1416,7 @@ public:
auto num = getU32LEB();
auto type = getWasmType();
while (num > 0) {
- func->locals.emplace_back(addVar(), type);
+ func->vars.emplace_back(addVar(), type);
num--;
}
}
@@ -1431,9 +1431,9 @@ public:
mappedLocals.push_back(func->params[i].name);
localTypes[func->params[i].name] = func->params[i].type;
}
- for (size_t i = 0; i < func->locals.size(); i++) {
- mappedLocals.push_back(func->locals[i].name);
- localTypes[func->locals[i].name] = func->locals[i].type;
+ for (size_t i = 0; i < func->vars.size(); i++) {
+ mappedLocals.push_back(func->vars[i].name);
+ localTypes[func->vars[i].name] = func->vars[i].type;
}
// process body
assert(breakStack.empty());
diff --git a/src/wasm-builder.h b/src/wasm-builder.h
index 22f713939..362f1a871 100644
--- a/src/wasm-builder.h
+++ b/src/wasm-builder.h
@@ -30,12 +30,12 @@ public:
Function* makeFunction(Name name,
std::vector<NameType>&& params,
WasmType resultType,
- std::vector<NameType>&& locals) {
+ std::vector<NameType>&& vars) {
auto* func = allocator.alloc<Function>();
func->name = name;
func->params = params;
func->result = resultType;
- func->locals = locals;
+ func->vars = vars;
return func;
}
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index 70564e4a4..528f812d0 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -166,7 +166,7 @@ private:
}
locals[function->params[i].name] = arguments[i];
}
- for (auto& local : function->locals) {
+ for (auto& local : function->vars) {
locals[local.name].type = local.type;
}
}
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h
index cdda00b05..a85899c6a 100644
--- a/src/wasm-s-parser.h
+++ b/src/wasm-s-parser.h
@@ -317,7 +317,7 @@ private:
// function parsing state
Function *currFunction = nullptr;
std::map<Name, WasmType> currLocalTypes;
- size_t localIndex; // params and locals
+ size_t localIndex; // params and vars
size_t otherIndex;
std::vector<Name> labelStack;
@@ -379,7 +379,7 @@ private:
if (id == PARAM) {
func->params.emplace_back(name, type);
} else {
- func->locals.emplace_back(name, type);
+ func->vars.emplace_back(name, type);
}
localIndex++;
currLocalTypes[name] = type;
@@ -709,7 +709,7 @@ private:
if (i < numParams) {
return currFunction->params[i].name;
} else {
- return currFunction->locals[i - currFunction->params.size()].name;
+ return currFunction->vars[i - currFunction->params.size()].name;
}
}
diff --git a/src/wasm.h b/src/wasm.h
index 2b04ed8cd..d9c36d878 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -1066,8 +1066,8 @@ class Function {
public:
Name name;
WasmType result;
- std::vector<NameType> params;
- std::vector<NameType> locals;
+ std::vector<NameType> params; // function locals are params
+ std::vector<NameType> vars; // plus vars
Name type; // if null, it is implicit in params and result
Expression *body;
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index 2c330e273..0e244a932 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -366,9 +366,9 @@ Ref Wasm2AsmBuilder::processFunction(Function* func) {
flattenAppend(ret, processFunctionBody(func->body, NO_RESULT));
}
}
- // locals, including new temp locals
- for (auto& local : func->locals) {
- ValueBuilder::appendToVar(theVar, fromName(local.name), makeAsmCoercedZero(wasmToAsmType(local.type)));
+ // vars, including new temp vars
+ for (auto& var : func->vars) {
+ ValueBuilder::appendToVar(theVar, fromName(var.name), makeAsmCoercedZero(wasmToAsmType(var.type)));
}
for (auto f : frees[i32]) {
ValueBuilder::appendToVar(theVar, f, makeAsmCoercedZero(ASM_INT));