summaryrefslogtreecommitdiff
path: root/src/literal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/literal.h')
-rw-r--r--src/literal.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/literal.h b/src/literal.h
index 4f936153d..c58dbb35c 100644
--- a/src/literal.h
+++ b/src/literal.h
@@ -528,18 +528,19 @@ template<> struct hash<wasm::Literal> {
a.getBits(bytes);
int64_t chunks[2];
memcpy(chunks, bytes, sizeof(chunks));
- return wasm::rehash(wasm::rehash(uint64_t(hash<uint32_t>()(a.type.getID())),
- uint64_t(hash<int64_t>()(chunks[0]))),
- uint64_t(hash<int64_t>()(chunks[1])));
+ auto digest = wasm::hash(a.type.getID());
+ wasm::rehash(digest, chunks[0]);
+ wasm::rehash(digest, chunks[1]);
+ return digest;
}
};
template<> struct hash<wasm::Literals> {
size_t operator()(const wasm::Literals& a) const {
- size_t h = wasm::rehash(uint64_t(0), uint64_t(a.size()));
+ auto digest = wasm::hash(a.size());
for (const auto& lit : a) {
- h = wasm::rehash(uint64_t(h), uint64_t(hash<wasm::Literal>{}(lit)));
+ wasm::rehash(digest, lit);
}
- return h;
+ return digest;
}
};
template<> struct less<wasm::Literal> {