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 28 articles )

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

1 2 next

  1. Haller, Philipp; Miller, Heather: A reduction semantics for direct-style asynchronous observables (2019)
  2. Lochbihler, Andreas: Mechanising a type-safe model of multithreaded Java with a verified compiler (2018)
  3. Paykin, Jennifer; Zdancewic, Steve: A linear/producer/consumer model of classical linear logic (2018)
  4. Birkedal, Lars; Jaber, Guilhem; Sieczkowski, Filip; Thamsborg, Jacob: A Kripke logical relation for effect-based program transformations (2016)
  5. Gay, Simon J.; Gesbert, Nils; Ravara, António; Vasconcelos, Vasco T.: Modular session types for objects (2015)
  6. Pun, Ka I; Steffen, Martin; Stolz, Volker: Deadlock checking by data race detection (2014)
  7. Jeannet, Bertrand; Sotin, Pascal: Inferring effective types for static analysis of C programs (2012)
  8. Markus Voelter, Daniel Ratiu, Bernhard Schaetz, Bernd Kolb: mbeddr: an extensible C-based programming language and IDE for embedded systems (2012) not zbMATH
  9. Pun, Ka I.; Steffen, Martin; Stolz, Volker: Deadlock checking by a behavioral effect system for lock handling (2012)
  10. Choi, Wontae; Aktemur, Baris; Yi, Kwangkeun; Tatsuta, Makoto: Static analysis of multi-staged programs via unstaging translation (2011)
  11. Siek, Jeremy G.; Lumsdaine, Andrew: A language for generic programming in the large (2011)
  12. Buss, Marcio; Brand, Daniel; Sreedhar, Vugranam; Edwards, Stephen A.: A novel analysis space for pointer analysis and its application for bug finding (2010)
  13. Moy, Yannick; Marché, Claude: Modular inference of subprogram contracts for safety checking (2010)
  14. Pedersen, Leif; Reza, Hassan: Using Pit to improve security in low-level programs (2010) ioport
  15. Spinellis, Diomidis: CScout: a refactoring browser for C (2010)
  16. Condit, Jeremy; Hackett, Brian; Lahiri, Shuvendu K.; Qadeer, Shaz: Unifying type checking and property checking for low-level code (2009)
  17. Tlili, Syrine; Debbabi, Mourad: Interprocedural and flow-sensitive type analysis for memory and type safety of C code (2009)
  18. Andreae, Chris; Coady, Yvonne; Gibbs, Celina; Noble, James; Vitek, Jan; Zhao, Tian: Scoped types and aspects for real-time Java memory management (2007)
  19. Charlton, Nathaniel: Program verification with interacting analysis plugins (2007)
  20. Jhala, Ranjit; Majumdar, Rupak; Xu, Ru-Gang: State of the union: Type inference via Craig interpolation (2007)

1 2 next