aboutsummaryrefslogtreecommitdiff
path: root/src/utils/hash-table.H
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-06-27 17:34:51 +0000
committerdos-reis <gdr@axiomatics.org>2013-06-27 17:34:51 +0000
commitb52f0164b18f06db386d527be26e3a11deb1ab7d (patch)
treee68cb4ebe4afc5ad828e1fc5743a59c91b5dd0ea /src/utils/hash-table.H
parent8c11594887faf3a796729c4185143e1630b69d65 (diff)
downloadopen-axiom-b52f0164b18f06db386d527be26e3a11deb1ab7d.tar.gz
Add small Lisp evaluator for the benefit of new GUI.
Diffstat (limited to 'src/utils/hash-table.H')
-rw-r--r--src/utils/hash-table.H5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/utils/hash-table.H b/src/utils/hash-table.H
index f5a2c7d0..6d9da3d7 100644
--- a/src/utils/hash-table.H
+++ b/src/utils/hash-table.H
@@ -45,8 +45,11 @@ namespace OpenAxiom {
// --------------------
// Datatype for entries in a parameterized hash table.
// The type parameter is required to be a value-construcitble datatype.
+ // A table bucket entry is required to be at least 8-byte aligned
+ // so that an instance of it can be used directly as a VM value.
+ // See <open-axiom/vm> for more description.
template<typename T>
- struct HashTableEntry : T {
+ struct openaxiom_alignas(8) HashTableEntry : T {
HashTableEntry* chain; // previous item in the same bucket chain
size_t hash; // hash code of stored data
};