1996 · 205 citations · 35 references
ComputingComputer EngineeringComputer ScienceCompilersProgramming LanguagesSoftware EngineeringCode GenerationCompiler ConstructionControl-flow AnalysisData-flow AnalysisRuntime SystemsStatic Code AnalysisCode OptimizationCode Quality ImprovementCompile-time OptimizationCompiler-based GenerationDynamic CompilationRuntime Code GenerationRuntime OptimizationRuntime Specialization
We describe the design and implementation of a compiler that automatically translates ordinary programs written in a subset of ML into code that generates native code at run time. Run-time code generation can make use of values and invariants that cannot be exploited at compile time, yielding code that is often superior to statically optimal code. But the cost of optimizing and generating code at run time can be prohibitive. We demonstrate how compile-time specialization can reduce the cost of run-time code generation by an order of magnitude without greatly affecting code quality. Several benchmark programs are examined, which exhibit an average cost of only six cycles per instruction generated at run time.
35
Extensibility safety and performance in the SPIN operating system
Brian N. Bershad, Stefan Savage, Przemysław Pardyak et al. · 1995 · 955 citations
Programming Techniques: Regular expression search algorithm
Thompson Ken · Communications of the ACM · 1968 · 839 citations · Full text
Shade: a fast instruction-set simulator for execution profiling
Bob Cmelik, David Keppel · 1994 · 642 citations
Efficient implementation of the smalltalk-80 system
L. Peter Deutsch, Allan M. Schiffman · 1984 · 589 citations