• Corpus ID: 14736683

Runtime Code Generation with JVM and CLR

@inproceedings{Sestoft2002RuntimeCG,
  title={Runtime Code Generation with JVM and CLR},
  author={Peter Sestoft},
  year={2002}
}
Modern bytecode execution environments with optimizing just-in-time compilers, such as Sun’s Hotspot Java Virtual Machine, IBM’s Java Virtual Machine, and Microsoft’s Common Language Runtime, provide an infrastructure for generating fast code at runtime. Such runtime code generation can be used for efficient implementation of parametrized algorithms. More generally, with runtime code generation one can introduce an additional binding-time without performance loss. This permits improved… 
Jumbo: run-time code generation for Java and its applications
TLDR
Jumbo is a tool for easily creating run-time code generators for Java, a compiler for a two-level version of Java, where programs can contain quoted code fragments that allow the code fragments to be combined at run- time and then executed.
On expressing different concurrency paradigms on virtual execution systems.
TLDR
This PhD work wants to investigate general approaches to bridge the gap between computational paradigms, by provid-ing suitable programming abstractions not affecting the general structure of the virtualmachine, but consent control over the particular underlying architecture.
CodeBricks: code fragments as building blocks
We present a framework for code generation that allows programs to manipulate and generate code at the source level while the joining and splicing of executable code is carried out automatically at
CodeBricks: code fragments as building blocks
We present a framework for code generation that allows programs to manipulate and generate code at the source level while the joining and splicing of executable code is carried out automatically at
Multi-stage Programming for Mainstream Languages
TLDR
A new approach to combining MSP with imperative features that occupies a “sweet spot” in the design space in terms of expressiveness of useful MSP programs and being intuitive and easy for programmers to understand is proposed.
Common Language Runtime : a new virtual machine
Virtual Machines provide a runtime execution platform combining bytecode portability with a performance close to native code. An overview of current approaches precedes an insight into Microsoft CLR
Multi-stage and Meta-programming Support in Strongly Typed Execution Engines
TLDR
This thesis develops a technique suitable to express staged computations, targeted to modern execution environments, such as the JVM and the CLR, and shows that the staging operators of MetaML can be expressed in term of the mechanism.
On Expressing Different Concurrency Paradigms on Virtual Execution Systems
  • Cristian Dittamo
  • Computer Science
    2009 33rd Annual IEEE International Computer Software and Applications Conference
  • 2009
TLDR
This research introduces a set of types and meta-data to represent different parallel computations, so that programmers are freed from the task of specifying parallelism, communication, synchronization, etc.
Multistage programming support in CLI
TLDR
A possible CLR extension based on CodeBricks - a framework for run-time code generation which allows expressing homogenous transformations of intermediate language as a composition of methods to provide support for multi-stage languages is presented.
Mint: Java multi-stage programming using weak separability
TLDR
A new approach to combining MSP with imperative features that occupies a "sweet spot" in the design space in terms of how well useful MSP applications can be expressed and how easy it is for programmers to understand is proposed.
...
1
2
...

References

SHOWING 1-10 OF 48 REFERENCES
A case for runtime code generation
TLDR
This paper argues for the return of runtime code generation, compares static-code and RTCG implementations of several applications and shows that R TCG leads to performance improvements.
VCODE: a retargetable, extensible, very fast dynamic code generation system
TLDR
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.
C: a language for high-level, efficient, and machine-independent dynamic code generation
TLDR
'C (Tick C), a superset of ANSI C that allows flexible, high-level, efficient, and machine-independent specification of dynamically generated code, is described.
Optimizing ML with run-time code generation
TLDR
This work describes 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, and demonstrates how compile-time specialization can reduce the cost of run-time code generation by an order of magnitude.
Implementing dynamic language features in Java using dynamic code generation
  • T. Breuel
  • Computer Science
    Proceedings 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems. TOOLS 39
  • 2001
TLDR
Way in which structural conformance, automatic delegation and dynamic mix-ins can be provided efficiently and automatically in terms of Java's platform-independent binary format and dynamic loading mechanisms is described.
Fast, effective dynamic compilation
TLDR
This work targets general- purpose, imperative programming languages, initially C, and strives for both fast dynamic compilation and high-quality dynamically-compiled code.
Run-time code generation and modal-ML
TLDR
An overview of the language, called ML', is presented, with several examples of programs that illustrate key concepts and programming techniques, and the results of some experiments are shown, to demonstrate the benefits of this style of run-time code generation for some applications.
DynJava: Type Safe Dynamic Code Generation in Java
TLDR
This work presents a Java-based strongly-typed language that gives precise types to dynamic code fragments, to guarantee the type-safety of dynamically-composed codes.
A Bytecode-Compiled, Type-safe, Multi-Stage Language
TLDR
MetaOCaml is presented, a type-safe, multi-stage language, built as an extension to OCaml's byteode ompiler, and used to measure performan e for a set of small staged programs, showing that multi- stage languages are well-suited for building staged interpreters, even when the runtime ompilation times are taken into a ount.
Compiling Embedded Programs to Byte Code
TLDR
This article provides a library of OCamlb yte-code combinators that is reminiscent of quasi-quotation in Lisp and of 'C and that enables just-in-time compilation of embedded programs.
...
1
2
3
4
5
...