Skip to main content
eScholarship
Open Access Publications from the University of California

Slim binaries

Abstract

The traditional path to software portability among various hardware platforms has been the provision of "fat binaries", object files that contain multiple instruction sequences for different target architectures. This paper presents an alternative approach based on "slim binaries", files that contain a target-machine-independent program representation from which native code is generated on-the-fly at load-time. The slim binaries used in our implementation are based on adaptive compression of syntax trees, and not on a virtual-machine representation such as p-code or Java byte-codes. They are highly compact and can be read from a storage medium very efficiently, significantly reducing the I/O cost of loading. The time thus saved is then spent on code generation, making the implemented system fast enough to compete with traditional loaders. Slim binaries are well suited for realizing portable software components, such as downloadable content-specific editor applets for multimedia documents on the World Wide Web, or "intelligent agents" that move from machine to machine and perform computing tasks locally.

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View