DyC swMATH ID: 9692 Software Authors: Grant, B., Mock, M., Philipose, M., Chambers, C., Eggers, S.J. Description: DyC: an expressive annotation-directed dynamic compiler for C. We present the design of DyC, a dynamic-compilation system for C based on run-time specialization. Directed by a few declarative user annotations that specify the variables and code on which dynamic compilation should take place, a binding-time analysis computes the set of run-time constants at each program point in the annotated procedure’s control-flow graph; the analysis supports program-point-specific polyvariant division and specialization. The results of the analysis guide the construction of a run-time specializer for each dynamically compiled region; the specializer supports various caching strategies for managing dynamically generated code and mixes of speculative and demand-driven specialization of dynamic branch successors. Most of the key cost/benefit trade-offs in the binding-time analysis and the run-time specializer are open to user control through declarative policy annotations. DyC has been implemented in the context of an optimizing compiler, and initial results have been promising. The speedups we have obtained are good, and the dynamic-compilation overhead is among the lowest of any dynamic-compilation system, typically 20-200 cycles per instruction generated on a Digital Alpha 21164. The majority of DyC’s functionality has been used to dynamically compile an instruction-set simulator. Only three annotations were required, but a few other changes to the program had to be made due to DyC’s lack of support for static global variables. This deficiency and DyC’s rudimentary support for partially static data structures are the primary obstacles to making DyC easy to use. Homepage: http://www.cs.washington.edu/research/dyncomp/Papers/tr-97-03-03-abstract.html Related Software: VCODE; ASM; TALx86; LMS; Flask; BCEL; Mnemonics; Scala; taskPR; RScaLAPACK; MaJIC; ScaLAPACK; R; Matlab; Twelf; Cyclone; ADAPT; Globus Toolkit; Smalltalk Cited in: 11 Publications Standard Articles 1 Publication describing the Software, including 1 Publication in zbMATH Year DyC: An expressive annotation-directed dynamic compiler for C. Zbl 0949.68052Grant, B.; Mock, M.; Philipose, M.; Chambers, C.; Eggers, S. J. 2000 all top 5 Cited by 31 Authors 2 Consel, Charles 2 Lawall, Julia L. 2 Le Meur, Anne-Françoise 1 Calder, Brad 1 Chambers, Craig 1 De Bosschere, Koen 1 Debray, Saumya K. 1 Eggers, Susan Jane 1 Eigenmann, Rudolf 1 Grant, B. 1 Grossman, Dan 1 Grove, David 1 Hornof, Luke 1 Jim, Trevor 1 Krintz, Chandra J. 1 Marlet, Renaud 1 Masuhara, Hidehiko 1 Mock, Michael S. 1 Morrisett, Greg 1 Muller, Gilles 1 Muth, Robert 1 Philipose, M. 1 Rudolph, Johannes 1 Sarkar, Vivek 1 Sheard, Tim 1 Smith, Frederick W. 1 Thiemann, Peter J. 1 Volanschi, E.-N. 1 Voss, Michael J. 1 Watterson, Scott 1 Yonezawa, Akinori all top 5 Cited in 7 Serials 2 Software. Practice & Experience 2 Theoretical Computer Science 2 Higher-Order and Symbolic Computation 1 Mathematics and Computers in Simulation 1 Science of Computer Programming 1 New Generation Computing 1 Journal of Functional Programming Cited in 1 Field 11 Computer science (68-XX) Citations by Year