Compiling for template-based run-time code generation. Cyclone is a type-safe programming language that provides explicit run-time code generation. The Cyclone compiler uses a template-based strategy for run-time code generation in which pre-compiled code fragments are stitched together at run time. This strategy keeps the cost of code generation low, but it requires that optimizations, such as register allocation and code motion, are applied to templates at compile time. This paper describes a principled approach to implementing such optimizations. In particular, we generalize standard flowgraph intermediate representations to support templates, define a mapping from (a subset of) Cyclone to this representation, and describe a dataflow-analysis framework that supports standard optimizations across template boundaries.

References in zbMATH (referenced in 24 articles )

Showing results 1 to 20 of 24.
Sorted by year (citations)

1 2 next

  1. Birkedal, Lars; Jaber, Guilhem; Sieczkowski, Filip; Thamsborg, Jacob: A Kripke logical relation for effect-based program transformations (2016)
  2. Gay, Simon J.; Gesbert, Nils; Ravara, António; Vasconcelos, Vasco T.: Modular session types for objects (2015)
  3. Pun, Ka I; Steffen, Martin; Stolz, Volker: Deadlock checking by data race detection (2014)
  4. Jeannet, Bertrand; Sotin, Pascal: Inferring effective types for static analysis of C programs (2012)
  5. Markus Voelter, Daniel Ratiu, Bernhard Schaetz, Bernd Kolb: mbeddr: an extensible C-based programming language and IDE for embedded systems (2012)
  6. Pun, Ka I.; Steffen, Martin; Stolz, Volker: Deadlock checking by a behavioral effect system for lock handling (2012)
  7. Choi, Wontae; Aktemur, Baris; Yi, Kwangkeun; Tatsuta, Makoto: Static analysis of multi-staged programs via unstaging translation (2011)
  8. Siek, Jeremy G.; Lumsdaine, Andrew: A language for generic programming in the large (2011)
  9. Buss, Marcio; Brand, Daniel; Sreedhar, Vugranam; Edwards, Stephen A.: A novel analysis space for pointer analysis and its application for bug finding (2010)
  10. Moy, Yannick; Marché, Claude: Modular inference of subprogram contracts for safety checking (2010)
  11. Pedersen, Leif; Reza, Hassan: Using Pit to improve security in low-level programs (2010) ioport
  12. Spinellis, Diomidis: CScout: a refactoring browser for C (2010)
  13. Condit, Jeremy; Hackett, Brian; Lahiri, Shuvendu K.; Qadeer, Shaz: Unifying type checking and property checking for low-level code (2009)
  14. Tlili, Syrine; Debbabi, Mourad: Interprocedural and flow-sensitive type analysis for memory and type safety of C code (2009)
  15. Andreae, Chris; Coady, Yvonne; Gibbs, Celina; Noble, James; Vitek, Jan; Zhao, Tian: Scoped types and aspects for real-time Java memory management (2007)
  16. Charlton, Nathaniel: Program verification with interacting analysis plugins (2007)
  17. Jhala, Ranjit; Majumdar, Rupak; Xu, Ru-Gang: State of the union: Type inference via Craig interpolation (2007)
  18. Douence, Rémi; Fritz, Thomas; Loriant, Nicolas; Menaud, Jean-Marc; Ségura-Devillechaise, Marc; Südholt, Mario: An expressive aspect language for system applications with Arachne (2006)
  19. Swamy, Nikhil; Hicks, Michael; Morrisett, Greg; Grossman, Dan; Jim, Trevor: Safe manual memory management in Cyclone (2006)
  20. Vasconcelos, Vasco T.; Gay, Simon J.; Ravara, António: Type checking a multithreaded functional language with session types (2006)

1 2 next