2010/4/20 Richard Guenther <richard.guent...@gmail.com>: > On Mon, Apr 19, 2010 at 4:43 PM, Laurynas Biveinis [...] >> from >> foo *x = (foo *)ggc_alloc (sizeof (x)); >> to >> foo *x = ggc_alloc_foo (); [...] > Sounds good to me. With a typed interface we should know > the alignment requirements of allocations and so can pack > objects tighter - do your patches already do that?
No, they don't currently. My goal was to get the API conversion right, then proceed with the further changes. > Basically > we pad any object larger than 8 bytes to multiples of 8 bytes > even for say objects of size 12 bytes which wastes 50% > of the storage as we do not know whether 4 byte alignment > is enough. This should be one of the low hanging fruits once the branch is merged. Thanks, -- Laurynas