Skip to content

Commit 41f4c38

Browse files
ndmitchellfacebook-github-bot
authored andcommitted
Fix the memory size computation
Summary: Make sure you include the header size. Reviewed By: krallin Differential Revision: D30939478 fbshipit-source-id: ea1b56e2685b8a11eab9d26ca734b8ff9d87b253
1 parent 3c051ea commit 41f4c38

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

starlark/src/values/layout/arena.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ impl Arena {
282282
.entry(x.dupe())
283283
.or_insert_with(|| (v.get_type(), (0, 0)));
284284
e.1.0 += 1;
285-
e.1.1 += v.memory_size() + v.extra_memory();
285+
e.1.1 += mem::size_of::<AValueHeader>() + v.memory_size() + v.extra_memory();
286286
};
287287
for_each(&self.drop, &mut f);
288288
for_each(&self.non_drop, &mut f);
@@ -476,6 +476,8 @@ mod test {
476476
arena.alloc(mk_str("test"));
477477
let res = arena.allocated_summary().summary;
478478
assert_eq!(res.len(), 1);
479-
assert_eq!(res.values().next().unwrap().0, 2);
479+
let entry = res.values().next().unwrap();
480+
assert_eq!(entry.0, 2);
481+
assert_eq!(entry.1, arena.allocated_bytes())
480482
}
481483
}

0 commit comments

Comments
 (0)