Copenhagen Programming Language Seminar
Runtime code generation means that program code is generated
at runtime, just before it will be executed. The `late' code
generation time means that the generated code may be optimized
(specialized) for parameters that become available only at runtime.
Examples of such parameters include configuration data, input or
output format descriptors, encryption keys in block encryption
Traditionally, runtime code generation has either generated native
code, which is non-portable, or bytecode, which is comparatively slow.
However, modern execution platforms are based on bytecode which is
translated into native code by a just-in-time compiler, thus combining
portability with efficiency. Examples of such platforms include the
Java Virtual Machine (JVM) and Microsoft's Common Language Runtime
(CLR), part of .Net.
We report on several experiments with runtime code generation using
the JVM and CLR, and give an assessment of these execution platforms.
We present several examples and two case studies:
Finally, we list some challenges that may be met by bringing previous academic work to bear on practical code generation in JVM and CLR.
Lecture slides and examples can be found at http://www.dina.kvl.dk/~sestoft/rtcg/.
Andrzej Filinski. Administrative host: Camilla Jørgensen. All are welcome.
The Copenhagen Programming Language Seminar (COPLAS) is a collaboration between DIKU, IT-C and KVL.
To receive information about COPLAS talks by email, send a message to firstname.lastname@example.org with the word 'subscribe' as subject or in the body.
For more information about COPLAS, see http://www.coplas.org