Skip to content

Opening book details…

Can I read Two-dimensional Bidirectional Object Layout on EtoBox?

Two-dimensional Bidirectional Object Layout by Joseph (Yossi) Gil; William Pugh; Grant E. Weddell; Yoav Zibin is a Computer Science article available to read on EtoBox.

What is Two-dimensional Bidirectional Object Layout about?

Object layout schemes used in C++ and other languages rely on (sometimes numerous) compiler generated fields. We describe a language-independent object layout scheme, which is space optimal, that is, objects are contiguous, and contain __no compiler generated fields__ other than a single type identifier. As in C++ and other multiple inheritance languages such as CECIL and DYLAN, the new scheme sometimes requires extra levels of indirection to access some of the fields. Using a data set of 28 hierarchies, totaling almost 50,000 types, we show that this scheme improves field access efficiency over standard implementations, and competes favorably with (the non-space-optimal) highly optimized C++ specific implementations. The benchmark includes an analytical model for computing the frequency of indirections in a sequence of field access operations. Our layout scheme relies on whole-program analysis, which requires about 10 microseconds per type on a contemporary architecture (Pentium III, 900Mhz, 256MB machine), even in very large hierarchies. We also present a layout scheme for separate compilation using the user-annotation of __virtual inheritance edge__ that is used in C++.

Who reads Two-dimensional Bidirectional Object Layout?

It is typically read by researchers, students, and practitioners in Computer Science.

Author
Joseph (Yossi) Gil; William Pugh; Grant E. Weddell; Yoav Zibin
Publisher
ACM
Published
2008
Language
EN
Field
Computer Science (Physical Sciences)

More by Joseph (Yossi) Gil; William Pugh; Grant E. Weddell; Yoav Zibin

Browse all works by Joseph (Yossi) Gil; William Pugh; Grant E. Weddell; Yoav Zibin