summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ir/ExpressionAnalyzer.cpp88
-rw-r--r--src/ir/ExpressionManipulator.cpp60
-rw-r--r--src/ir/branch-utils.h62
-rw-r--r--src/ir/iteration.h34
-rw-r--r--src/ir/properties.h32
-rw-r--r--src/ir/type-updating.cpp30
-rw-r--r--src/wasm-delegations-fields.def90
-rw-r--r--src/wasm-traversal.h40
8 files changed, 218 insertions, 218 deletions
diff --git a/src/ir/ExpressionAnalyzer.cpp b/src/ir/ExpressionAnalyzer.cpp
index db972e707..c6b24beaa 100644
--- a/src/ir/ExpressionAnalyzer.cpp
+++ b/src/ir/ExpressionAnalyzer.cpp
@@ -169,64 +169,64 @@ bool ExpressionAnalyzer::flexibleEqual(Expression* left,
WASM_UNUSED(castRight);
// Handle each type of field, comparing it appropriately.
-#define DELEGATE_FIELD_CHILD(id, name) \
- leftStack.push_back(castLeft->name); \
- rightStack.push_back(castRight->name);
+#define DELEGATE_FIELD_CHILD(id, field) \
+ leftStack.push_back(castLeft->field); \
+ rightStack.push_back(castRight->field);
-#define DELEGATE_FIELD_CHILD_VECTOR(id, name) \
- if (castLeft->name.size() != castRight->name.size()) { \
+#define DELEGATE_FIELD_CHILD_VECTOR(id, field) \
+ if (castLeft->field.size() != castRight->field.size()) { \
return false; \
} \
- for (auto* child : castLeft->name) { \
+ for (auto* child : castLeft->field) { \
leftStack.push_back(child); \
} \
- for (auto* child : castRight->name) { \
+ for (auto* child : castRight->field) { \
rightStack.push_back(child); \
}
-#define COMPARE_FIELD(name) \
- if (castLeft->name != castRight->name) { \
+#define COMPARE_FIELD(field) \
+ if (castLeft->field != castRight->field) { \
return false; \
}
-#define DELEGATE_FIELD_INT(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_LITERAL(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_NAME(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_SIGNATURE(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_TYPE(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_ADDRESS(id, name) COMPARE_FIELD(name)
+#define DELEGATE_FIELD_INT(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_LITERAL(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_NAME(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_SIGNATURE(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_TYPE(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_ADDRESS(id, field) COMPARE_FIELD(field)
-#define COMPARE_LIST(name) \
- if (castLeft->name.size() != castRight->name.size()) { \
+#define COMPARE_LIST(field) \
+ if (castLeft->field.size() != castRight->field.size()) { \
return false; \
} \
- for (Index i = 0; i < castLeft->name.size(); i++) { \
- if (castLeft->name[i] != castRight->name[i]) { \
+ for (Index i = 0; i < castLeft->field.size(); i++) { \
+ if (castLeft->field[i] != castRight->field[i]) { \
return false; \
} \
}
-#define DELEGATE_FIELD_INT_ARRAY(id, name) COMPARE_LIST(name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name) COMPARE_LIST(name)
+#define DELEGATE_FIELD_INT_ARRAY(id, field) COMPARE_LIST(field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field) COMPARE_LIST(field)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name) \
- if (castLeft->name.is() != castRight->name.is()) { \
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) \
+ if (castLeft->field.is() != castRight->field.is()) { \
return false; \
} \
- rightNames[castLeft->name] = castRight->name;
+ rightNames[castLeft->field] = castRight->field;
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name) \
- if (!compareNames(castLeft->name, castRight->name)) { \
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field) \
+ if (!compareNames(castLeft->field, castRight->field)) { \
return false; \
}
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name) \
- if (castLeft->name.size() != castRight->name.size()) { \
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field) \
+ if (castLeft->field.size() != castRight->field.size()) { \
return false; \
} \
- for (Index i = 0; i < castLeft->name.size(); i++) { \
- if (!compareNames(castLeft->name[i], castRight->name[i])) { \
+ for (Index i = 0; i < castLeft->field.size(); i++) { \
+ if (!compareNames(castLeft->field[i], castRight->field[i])) { \
return false; \
} \
}
@@ -303,31 +303,31 @@ struct Hasher {
WASM_UNUSED(cast);
// Handle each type of field, comparing it appropriately.
-#define DELEGATE_GET_FIELD(id, name) cast->name
+#define DELEGATE_GET_FIELD(id, field) cast->field
-#define DELEGATE_FIELD_CHILD(id, name) \
+#define DELEGATE_FIELD_CHILD(id, field) \
if (visitChildren) { \
- stack.push_back(cast->name); \
+ stack.push_back(cast->field); \
}
-#define HASH_FIELD(name) rehash(digest, cast->name);
+#define HASH_FIELD(field) rehash(digest, cast->field);
-#define DELEGATE_FIELD_INT(id, name) HASH_FIELD(name)
-#define DELEGATE_FIELD_LITERAL(id, name) HASH_FIELD(name)
-#define DELEGATE_FIELD_SIGNATURE(id, name) HASH_FIELD(name)
+#define DELEGATE_FIELD_INT(id, field) HASH_FIELD(field)
+#define DELEGATE_FIELD_LITERAL(id, field) HASH_FIELD(field)
+#define DELEGATE_FIELD_SIGNATURE(id, field) HASH_FIELD(field)
-#define DELEGATE_FIELD_NAME(id, name) visitNonScopeName(cast->name)
-#define DELEGATE_FIELD_TYPE(id, name) visitType(cast->name);
-#define DELEGATE_FIELD_HEAPTYPE(id, name) visitHeapType(cast->name);
-#define DELEGATE_FIELD_ADDRESS(id, name) visitAddress(cast->name);
+#define DELEGATE_FIELD_NAME(id, field) visitNonScopeName(cast->field)
+#define DELEGATE_FIELD_TYPE(id, field) visitType(cast->field);
+#define DELEGATE_FIELD_HEAPTYPE(id, field) visitHeapType(cast->field);
+#define DELEGATE_FIELD_ADDRESS(id, field) visitAddress(cast->field);
// Note that we only note the scope name, but do not also visit it. That means
// that (block $x) and (block) get the same hash. In other words, we only change
// the hash based on uses of scope names, that is when there is a noticeable
// difference in break targets.
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name) noteScopeName(cast->name);
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) noteScopeName(cast->field);
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name) visitScopeName(cast->name);
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field) visitScopeName(cast->field);
#include "wasm-delegations-fields.def"
}
diff --git a/src/ir/ExpressionManipulator.cpp b/src/ir/ExpressionManipulator.cpp
index 8ae3ddc1c..e92efa925 100644
--- a/src/ir/ExpressionManipulator.cpp
+++ b/src/ir/ExpressionManipulator.cpp
@@ -63,44 +63,44 @@ flexibleCopy(Expression* original, Module& wasm, CustomCopier custom) {
WASM_UNUSED(castCopy);
// Handle each type of field, copying it appropriately.
-#define DELEGATE_FIELD_CHILD(id, name) \
- tasks.push_back({castOriginal->name, &castCopy->name});
+#define DELEGATE_FIELD_CHILD(id, field) \
+ tasks.push_back({castOriginal->field, &castCopy->field});
-#define DELEGATE_FIELD_CHILD_VECTOR(id, name) \
- castCopy->name.resize(castOriginal->name.size()); \
- for (Index i = 0; i < castOriginal->name.size(); i++) { \
- tasks.push_back({castOriginal->name[i], &castCopy->name[i]}); \
+#define DELEGATE_FIELD_CHILD_VECTOR(id, field) \
+ castCopy->field.resize(castOriginal->field.size()); \
+ for (Index i = 0; i < castOriginal->field.size(); i++) { \
+ tasks.push_back({castOriginal->field[i], &castCopy->field[i]}); \
}
-#define COPY_FIELD(name) castCopy->name = castOriginal->name;
-
-#define DELEGATE_FIELD_INT(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_LITERAL(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_NAME(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_SIGNATURE(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_TYPE(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_ADDRESS(id, name) COPY_FIELD(name)
-
-#define COPY_FIELD_LIST(name) \
- for (Index i = 0; i < castOriginal->name.size(); i++) { \
- castCopy->name[i] = castOriginal->name[i]; \
+#define COPY_FIELD(field) castCopy->field = castOriginal->field;
+
+#define DELEGATE_FIELD_INT(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_LITERAL(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_NAME(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_SIGNATURE(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_TYPE(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_ADDRESS(id, field) COPY_FIELD(field)
+
+#define COPY_FIELD_LIST(field) \
+ for (Index i = 0; i < castOriginal->field.size(); i++) { \
+ castCopy->field[i] = castOriginal->field[i]; \
}
-#define COPY_VECTOR(name) \
- castCopy->name.resize(castOriginal->name.size()); \
- COPY_FIELD_LIST(name)
+#define COPY_VECTOR(field) \
+ castCopy->field.resize(castOriginal->field.size()); \
+ COPY_FIELD_LIST(field)
-#define COPY_ARRAY(name) \
- assert(castCopy->name.size() == castOriginal->name.size()); \
- COPY_FIELD_LIST(name)
+#define COPY_ARRAY(field) \
+ assert(castCopy->field.size() == castOriginal->field.size()); \
+ COPY_FIELD_LIST(field)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name) COPY_VECTOR(name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name) COPY_VECTOR(name)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field) COPY_VECTOR(field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field) COPY_VECTOR(field)
-#define DELEGATE_FIELD_INT_ARRAY(id, name) COPY_ARRAY(name)
+#define DELEGATE_FIELD_INT_ARRAY(id, field) COPY_ARRAY(field)
#include "wasm-delegations-fields.def"
diff --git a/src/ir/branch-utils.h b/src/ir/branch-utils.h
index 57bad2fb9..25bfd9255 100644
--- a/src/ir/branch-utils.h
+++ b/src/ir/branch-utils.h
@@ -50,22 +50,22 @@ template<typename T> void operateOnScopeNameUses(Expression* expr, T func) {
auto* cast = expr->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_GET_FIELD(id, name) cast->name
-
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name) func(cast->name);
-
-#define DELEGATE_FIELD_CHILD(id, name)
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
-#define DELEGATE_FIELD_SIGNATURE(id, name)
-#define DELEGATE_FIELD_TYPE(id, name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
-#define DELEGATE_FIELD_CHILD_VECTOR(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
+#define DELEGATE_GET_FIELD(id, field) cast->field
+
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field) func(cast->field);
+
+#define DELEGATE_FIELD_CHILD(id, field)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
+#define DELEGATE_FIELD_SIGNATURE(id, field)
+#define DELEGATE_FIELD_TYPE(id, field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
+#define DELEGATE_FIELD_CHILD_VECTOR(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
#include "wasm-delegations-fields.def"
}
@@ -117,21 +117,21 @@ template<typename T> void operateOnScopeNameDefs(Expression* expr, T func) {
auto* cast = expr->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name) func(cast->name)
-
-#define DELEGATE_FIELD_CHILD(id, name)
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SIGNATURE(id, name)
-#define DELEGATE_FIELD_TYPE(id, name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
-#define DELEGATE_FIELD_CHILD_VECTOR(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) func(cast->field)
+
+#define DELEGATE_FIELD_CHILD(id, field)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SIGNATURE(id, field)
+#define DELEGATE_FIELD_TYPE(id, field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
+#define DELEGATE_FIELD_CHILD_VECTOR(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
#include "wasm-delegations-fields.def"
}
diff --git a/src/ir/iteration.h b/src/ir/iteration.h
index 19bc44af1..b3553f1ec 100644
--- a/src/ir/iteration.h
+++ b/src/ir/iteration.h
@@ -79,27 +79,27 @@ public:
auto* cast = parent->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_GET_FIELD(id, name) cast->name
+#define DELEGATE_GET_FIELD(id, field) cast->field
-#define DELEGATE_FIELD_CHILD(id, name) self->addChild(parent, &cast->name);
+#define DELEGATE_FIELD_CHILD(id, field) self->addChild(parent, &cast->field);
-#define DELEGATE_FIELD_OPTIONAL_CHILD(id, name) \
- if (cast->name) { \
- self->addChild(parent, &cast->name); \
+#define DELEGATE_FIELD_OPTIONAL_CHILD(id, field) \
+ if (cast->field) { \
+ self->addChild(parent, &cast->field); \
}
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
-#define DELEGATE_FIELD_SIGNATURE(id, name)
-#define DELEGATE_FIELD_TYPE(id, name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
+#define DELEGATE_FIELD_SIGNATURE(id, field)
+#define DELEGATE_FIELD_TYPE(id, field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
#include "wasm-delegations-fields.def"
}
diff --git a/src/ir/properties.h b/src/ir/properties.h
index 841d154f7..f111d555f 100644
--- a/src/ir/properties.h
+++ b/src/ir/properties.h
@@ -321,27 +321,27 @@ inline Index getNumChildren(Expression* curr) {
auto* cast = curr->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_GET_FIELD(id, name) cast->name
+#define DELEGATE_GET_FIELD(id, field) cast->field
-#define DELEGATE_FIELD_CHILD(id, name) ret++;
+#define DELEGATE_FIELD_CHILD(id, field) ret++;
-#define DELEGATE_FIELD_OPTIONAL_CHILD(id, name) \
- if (cast->name) { \
+#define DELEGATE_FIELD_OPTIONAL_CHILD(id, field) \
+ if (cast->field) { \
ret++; \
}
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
-#define DELEGATE_FIELD_SIGNATURE(id, name)
-#define DELEGATE_FIELD_TYPE(id, name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
+#define DELEGATE_FIELD_SIGNATURE(id, field)
+#define DELEGATE_FIELD_TYPE(id, field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
#include "wasm-delegations-fields.def"
diff --git a/src/ir/type-updating.cpp b/src/ir/type-updating.cpp
index 91f74cff5..c69cbe1be 100644
--- a/src/ir/type-updating.cpp
+++ b/src/ir/type-updating.cpp
@@ -131,25 +131,25 @@ void GlobalTypeRewriter::update() {
auto* cast = curr->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_GET_FIELD(id, name) cast->name
+#define DELEGATE_GET_FIELD(id, field) cast->field
-#define DELEGATE_FIELD_TYPE(id, name) cast->name = getNew(cast->name);
+#define DELEGATE_FIELD_TYPE(id, field) cast->field = getNew(cast->field);
-#define DELEGATE_FIELD_HEAPTYPE(id, name) cast->name = getNew(cast->name);
+#define DELEGATE_FIELD_HEAPTYPE(id, field) cast->field = getNew(cast->field);
-#define DELEGATE_FIELD_SIGNATURE(id, name) cast->name = getNew(cast->name);
+#define DELEGATE_FIELD_SIGNATURE(id, field) cast->field = getNew(cast->field);
-#define DELEGATE_FIELD_CHILD(id, name)
-#define DELEGATE_FIELD_OPTIONAL_CHILD(id, name)
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
+#define DELEGATE_FIELD_CHILD(id, field)
+#define DELEGATE_FIELD_OPTIONAL_CHILD(id, field)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
#include "wasm-delegations-fields.def"
}
diff --git a/src/wasm-delegations-fields.def b/src/wasm-delegations-fields.def
index d5fc7b077..c214b5b6b 100644
--- a/src/wasm-delegations-fields.def
+++ b/src/wasm-delegations-fields.def
@@ -29,56 +29,56 @@
//
// DELEGATE_END(id) - called at the end of a case.
//
-// DELEGATE_GET_FIELD(id, name) - called to get a field by its name. This must
+// DELEGATE_GET_FIELD(id, field) - called to get a field by its name. This must
// know the object on which to get it, so it is just useful for the case
// where you operate on a single such object, but in that case it is nice
// because then other things can be defined automatically for you, see later.
//
-// DELEGATE_FIELD_CHILD(id, name) - called for each child field (note: children
+// DELEGATE_FIELD_CHILD(id, field) - called for each child field (note: children
// are visited in reverse order, which is convenient for walking by pushing
// them to a stack first).
//
-// DELEGATE_FIELD_OPTIONAL_CHILD(id, name) - called for a child that may not be
+// DELEGATE_FIELD_OPTIONAL_CHILD(id, field) - called for a child that may not be
// present (like a Return's value). If you do not define this then
// DELEGATE_FIELD_CHILD is called.
//
-// DELEGATE_FIELD_CHILD_VECTOR(id, name) - called for a variable-sized vector of
-// child pointers. If this is not defined, and DELEGATE_GET_FIELD is, then
+// DELEGATE_FIELD_CHILD_VECTOR(id, field) - called for a variable-sized vector
+// of child pointers. If this is not defined, and DELEGATE_GET_FIELD is, then
// DELEGATE_FIELD_CHILD is called on them.
//
-// DELEGATE_FIELD_INT(id, name) - called for an integer field (bool, enum,
+// DELEGATE_FIELD_INT(id, field) - called for an integer field (bool, enum,
// Index, int32, or int64).
//
-// DELEGATE_FIELD_INT_ARRAY(id, name) - called for a std::array of fixed size of
-// integer values (like a SIMD mask). If this is not defined, and
+// DELEGATE_FIELD_INT_ARRAY(id, field) - called for a std::array of fixed size
+// of integer values (like a SIMD mask). If this is not defined, and
// DELEGATE_GET_FIELD is, then DELEGATE_FIELD_INT is called on them.
//
-// DELEGATE_FIELD_LITERAL(id, name) - called for a Literal.
+// DELEGATE_FIELD_LITERAL(id, field) - called for a Literal.
//
-// DELEGATE_FIELD_NAME(id, name) - called for a Name.
+// DELEGATE_FIELD_NAME(id, field) - called for a Name.
//
-// DELEGATE_FIELD_NAME_VECTOR(id, name) - called for a variable-sized vector of
+// DELEGATE_FIELD_NAME_VECTOR(id, field) - called for a variable-sized vector of
// names (like try's catch tag names). If this is not defined, and
// DELEGATE_GET_FIELD is, then DELEGATE_FIELD_CHILD is called on them.
//
-// DELEGATE_FIELD_SCOPE_NAME_DEF(id, name) - called for a scope name definition
+// DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) - called for a scope name definition
// (like a block's name).
//
-// DELEGATE_FIELD_SCOPE_NAME_USE(id, name) - called for a scope name use (like
+// DELEGATE_FIELD_SCOPE_NAME_USE(id, field) - called for a scope name use (like
// a break's target).
//
-// DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name) - called for a variable-sized
+// DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field) - called for a variable-sized
// vector of scope names (like a switch's targets). If this is not defined,
// and DELEGATE_GET_FIELD is, then DELEGATE_FIELD_SCOPE_NAME_USE is called on
// them.
//
-// DELEGATE_FIELD_SIGNATURE(id, name) - called for a Signature.
+// DELEGATE_FIELD_SIGNATURE(id, field) - called for a Signature.
//
-// DELEGATE_FIELD_TYPE(id, name) - called for a Type.
+// DELEGATE_FIELD_TYPE(id, field) - called for a Type.
//
-// DELEGATE_FIELD_HEAPTYPE(id, name) - called for a HeapType.
+// DELEGATE_FIELD_HEAPTYPE(id, field) - called for a HeapType.
//
-// DELEGATE_FIELD_ADDRESS(id, name) - called for an Address.
+// DELEGATE_FIELD_ADDRESS(id, field) - called for an Address.
#ifndef DELEGATE_START
#define DELEGATE_START(id)
@@ -89,91 +89,91 @@
#endif
#ifndef DELEGATE_FIELD_CHILD
-#error please define DELEGATE_FIELD_CHILD(id, name)
+#error please define DELEGATE_FIELD_CHILD(id, field)
#endif
#ifndef DELEGATE_FIELD_OPTIONAL_CHILD
-#define DELEGATE_FIELD_OPTIONAL_CHILD(id, name) DELEGATE_FIELD_CHILD(id, name)
+#define DELEGATE_FIELD_OPTIONAL_CHILD(id, field) DELEGATE_FIELD_CHILD(id, field)
#endif
#ifndef DELEGATE_FIELD_CHILD_VECTOR
#ifdef DELEGATE_GET_FIELD
-#define DELEGATE_FIELD_CHILD_VECTOR(id, name) \
- for (int i = int((DELEGATE_GET_FIELD(id, name)).size()) - 1; i >= 0; i--) { \
- DELEGATE_FIELD_CHILD(id, name[i]); \
+#define DELEGATE_FIELD_CHILD_VECTOR(id, field) \
+ for (int i = int((DELEGATE_GET_FIELD(id, field)).size()) - 1; i >= 0; i--) { \
+ DELEGATE_FIELD_CHILD(id, field[i]); \
}
#else
-#error please define DELEGATE_FIELD_CHILD_VECTOR(id, name)
+#error please define DELEGATE_FIELD_CHILD_VECTOR(id, field)
#endif
#endif
#ifndef DELEGATE_FIELD_INT
-#error please define DELEGATE_FIELD_INT(id, name)
+#error please define DELEGATE_FIELD_INT(id, field)
#endif
#ifndef DELEGATE_FIELD_INT_ARRAY
#ifdef DELEGATE_GET_FIELD
-#define DELEGATE_FIELD_INT_ARRAY(id, name) \
- for (Index i = 0; i < (DELEGATE_GET_FIELD(id, name)).size(); i++) { \
- DELEGATE_FIELD_INT(id, name[i]); \
+#define DELEGATE_FIELD_INT_ARRAY(id, field) \
+ for (Index i = 0; i < (DELEGATE_GET_FIELD(id, field)).size(); i++) { \
+ DELEGATE_FIELD_INT(id, field[i]); \
}
#else
-#error please define DELEGATE_FIELD_INT_ARRAY(id, name)
+#error please define DELEGATE_FIELD_INT_ARRAY(id, field)
#endif
#endif
#ifndef DELEGATE_FIELD_LITERAL
-#error please define DELEGATE_FIELD_LITERAL(id, name)
+#error please define DELEGATE_FIELD_LITERAL(id, field)
#endif
#ifndef DELEGATE_FIELD_NAME
-#error please define DELEGATE_FIELD_NAME(id, name)
+#error please define DELEGATE_FIELD_NAME(id, field)
#endif
#ifndef DELEGATE_FIELD_NAME_VECTOR
#ifdef DELEGATE_GET_FIELD
-#define DELEGATE_FIELD_NAME_VECTOR(id, name) \
- for (Index i = 0; i < (DELEGATE_GET_FIELD(id, name)).size(); i++) { \
- DELEGATE_FIELD_NAME(id, name[i]); \
+#define DELEGATE_FIELD_NAME_VECTOR(id, field) \
+ for (Index i = 0; i < (DELEGATE_GET_FIELD(id, field)).size(); i++) { \
+ DELEGATE_FIELD_NAME(id, field[i]); \
}
#else
-#error please define DELEGATE_FIELD_NAME_VECTOR(id, name)
+#error please define DELEGATE_FIELD_NAME_VECTOR(id, field)
#endif
#endif
#ifndef DELEGATE_FIELD_SCOPE_NAME_DEF
-#error please define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
+#error please define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
#endif
#ifndef DELEGATE_FIELD_SCOPE_NAME_USE
-#error please define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
+#error please define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
#endif
#ifndef DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR
#ifdef DELEGATE_GET_FIELD
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name) \
- for (Index i = 0; i < (DELEGATE_GET_FIELD(id, name)).size(); i++) { \
- DELEGATE_FIELD_SCOPE_NAME_USE(id, name[i]); \
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field) \
+ for (Index i = 0; i < (DELEGATE_GET_FIELD(id, field)).size(); i++) { \
+ DELEGATE_FIELD_SCOPE_NAME_USE(id, field[i]); \
}
#else
-#error please define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
+#error please define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
#endif
#endif
#ifndef DELEGATE_FIELD_SIGNATURE
-#error please define DELEGATE_FIELD_SIGNATURE(id, name)
+#error please define DELEGATE_FIELD_SIGNATURE(id, field)
#endif
#ifndef DELEGATE_FIELD_TYPE
-#error please define DELEGATE_FIELD_TYPE(id, name)
+#error please define DELEGATE_FIELD_TYPE(id, field)
#endif
#ifndef DELEGATE_FIELD_HEAPTYPE
-#error please define DELEGATE_FIELD_HEAPTYPE(id, name)
+#error please define DELEGATE_FIELD_HEAPTYPE(id, field)
#endif
#ifndef DELEGATE_FIELD_ADDRESS
-#error please define DELEGATE_FIELD_ADDRESS(id, name)
+#error please define DELEGATE_FIELD_ADDRESS(id, field)
#endif
switch (DELEGATE_ID) {
diff --git a/src/wasm-traversal.h b/src/wasm-traversal.h
index 47e99226d..201cc95fa 100644
--- a/src/wasm-traversal.h
+++ b/src/wasm-traversal.h
@@ -355,26 +355,26 @@ struct PostWalker : public Walker<SubType, VisitorType> {
auto* cast = curr->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_GET_FIELD(id, name) cast->name
-
-#define DELEGATE_FIELD_CHILD(id, name) \
- self->pushTask(SubType::scan, &cast->name);
-
-#define DELEGATE_FIELD_OPTIONAL_CHILD(id, name) \
- self->maybePushTask(SubType::scan, &cast->name);
-
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
-#define DELEGATE_FIELD_SIGNATURE(id, name)
-#define DELEGATE_FIELD_TYPE(id, name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
+#define DELEGATE_GET_FIELD(id, field) cast->field
+
+#define DELEGATE_FIELD_CHILD(id, field) \
+ self->pushTask(SubType::scan, &cast->field);
+
+#define DELEGATE_FIELD_OPTIONAL_CHILD(id, field) \
+ self->maybePushTask(SubType::scan, &cast->field);
+
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
+#define DELEGATE_FIELD_SIGNATURE(id, field)
+#define DELEGATE_FIELD_TYPE(id, field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
#include "wasm-delegations-fields.def"
}