A method and computer program for allocating storage for a header and one
or more data elements in a data storage facility are disclosed. The method
and computer program include computing a hole size B that is a portion of
a word that would be unallocated if storage were allocated to the header
and to the data elements in a preferred order. The method and computer
program include finding a subset of data elements S={F.sub.i1, F.sub.i2, .
. . , F.sub.in } that satisfy the equation
(SizeModN(F.sub.i1)+SizeModN(F.sub.i2)+ . . . +SizeModN(F.sub.in))mod N=B
where N is the largest alignment requirement associated with any data
element. The method and computer program include allocating storage to
data elements in S first and allocating storage to the remaining elements
in the preferred order. A lookup table and a method for building the
lookup table are also disclosed.
Показаны метод и компьутерная программа для размещать хранение для коллектора и one or more элементы данных в средстве хранений данных. Метод и компьутерная программа вклюают вычислять размером б отверстия будет часть слова было unallocated если хранение было размещано к коллектору и к элементам данных в предпочеснном заказе. Метод и компьутерная программа вклюают находить подсовокупность элементов данных S={F.sub.i1, F.sub.i2. . . , F.sub.in} которые удовлетворяют уровнение (SizeModN(F.sub.i1)+SizeModN(F.sub.i2)+. . . +SizeModN(F.sub.in))mod N=B где н будет самое большое требование к выравнивания связанное с любым элементом данных. Метод и компьутерная программа вклюают размещать хранение к элементам данных в с сперва и размещать хранение к остальным элементам в предпочеснный заказ. Таблица взгляда вверх и метод для строить таблицу взгляда вверх также показаны.