MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

VCODE: A Retargetable, Extensible, Very Fast Dynamic Code Generation System (1996) [108 citations — 7 self]

by Dawson Engler
Add To MetaCart

Abstract:

Dynamic code generation is the creation of executable code at runtime. Such "on-the-fly" code generation is a powerful technique, enabling applications to use runtime information to improve performance by up to an order of magnitude [4, 8, 20, 22, 23]. Unfortunately, previous general-purpose dynamic code generation systems have been either inefficient or non-portable. We present VCODE, a retargetable, extensible, very fast dynamic code generation system. An important feature of VCODE is that it generates machine code "in-place" without the use of intermediate data structures. Eliminating the need to construct and consume an intermediate representation at runtime makes VCODE both efficient and extensible. VCODE dynamically generates code at an approximate cost of six to ten instructions per generated instruction, making it over an order of magnitude faster than the most efficient general-purpose code generation system in the literature [10]. Dynamic code generation is relatively well ...

Citations

672 Architectural considerations for a new generation of protocols – Clark, Tennenhouse - 1990
510 Exokernel: An operating system architecture for application-level resource management – Engler, Kaashoek, et al. - 1995
302 Shade: A fast instruction-set simulator for execution profiling – Cmelik, Keppel - 1994
202 Efficient implementation of the Smalltalk-80 system – Deutsch, Schiffman - 1984
202 The packet filter: An efficient mechanism for user-level network code – MOGUL, RASHID, et al. - 1987
185 Customization: Optimizing compiler technology for SELF, a dynamically-typed object-oriented programming language – Chambers, Ungar - 1989
184 A general approach for run-time specialization and its application to c – Consel, Fran - 1996
160 MINT: A Front End for Efficient Simulation of Shared-Memory – Veenstra, Fowler - 1994
145 Optimizing ML with run-time code generation – Lee, Leone - 1996
135 Optimizing dynamically-dispatched calls with run-time type feedback – Holze, Ungar - 1994
107 PATHFINDER: A pattern-based packet classifier – BAILEY, GOPAL, et al. - 1994
101 C: a language for high-level, efficient, and machine-independent dynamic code generation – Engler, Hsieh, et al. - 1996
101 E cient Packet Demultiplexing for Multiple Endpoints and Large Messages – Yuhara, Bershad, et al. - 1994
97 The Synthesis kernel – Pu, Massalin, et al. - 1988
81 Complete computer simulation: The SimOS approach – Rosenblum, Herrod, et al. - 1995
59 A case for runtime code generation – Keppel, Eggers, et al. - 1991
56 A retargetable compiler for ANSI – Fraser, Hanson - 1991
55 DCG: An Efficient, Retargetable Dynamic Code Generation System – Engler, Proebsting - 1994
53 Lightweight run-time code generation – Leone, Lee - 1994
41 The New Jersey Machine-Code Toolkit – Ramsey, Fernandez - 1995
39 Hardware/software trade-offs for bitmap graphics on the Blit – Pike, Locanthi, et al. - 1985
26 tcc: A templatebased compiler for `c – Poletto, Engler, et al. - 1996
18 A language for writing code generators – Fraser - 1989
8 application-specific message processing – Efficient - 1995