diff options
Diffstat (limited to 'src/libexpr/nixexpr.cc')
-rw-r--r-- | src/libexpr/nixexpr.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libexpr/nixexpr.cc b/src/libexpr/nixexpr.cc index 6fb72687d160..aee57acb116e 100644 --- a/src/libexpr/nixexpr.cc +++ b/src/libexpr/nixexpr.cc @@ -50,9 +50,10 @@ void ATermMap::copy(const ATermMap & map) { ATermList keys = map.keys(); - /* !!! adjust allocation for load pct */ + /* !!! We adjust for the maximum load pct by allocating twice as + much. Probably a bit too much. */ maxLoadPct = map.maxLoadPct; - table = ATtableCreate(ATgetLength(keys), maxLoadPct); + table = ATtableCreate(ATgetLength(keys) * 2, maxLoadPct); if (!table) throw Error("cannot create ATerm table"); add(map, keys); |