The VMIL workshop is a forum for research in virtual machines and intermediate languages. It is dedicated to identifying programming mechanisms and constructs that are currently realized as code transformations or implemented in libraries but should rather be supported at the VM level. Candidates for such mechanisms and constructs include modularity mechanisms, concurrency mechanisms, etc. Topics of interest include the investigation of which such mechanisms are worthwhile candidates for integration with the run-time environment, how said mechanisms can be elegantly (and reusably) expressed at the intermediate language level (e.g., in bytecode), how their implementations can be optimized, and how virtual machine architectures might be shaped to facilitate such implementation efforts. We especially welcome transformative ideas for virtual machines, including efficient support for game-changing IL mechanisms.
Click here to find out more about previous editions.
Call for Papers
Topics of interest include, but are not limited to:
- Compilation-based and interpreter-based virtual machine designs with better support for these modularization mechanisms
- Intermediate language constructs that better support these modularization mechanisms
- Compilation techniques from high-level languages to enhanced intermediate languages
- Optimization strategies for reduction of runtime overhead due to either compilation or interpretation
- Improved techniques for fast evaluation of pointcuts and other predicates
- Use cases for deeper support in the virtual machines and intermediate languages
- Advanced caching and memory management schemes in support of the mechanisms
In these key areas, we invite high-quality papers in the following two categories.
- Research and experience papers: These submissions should describe work that advances the current state of the art in support of advanced separation of concerns techniques in virtual machines and intermediate languages. Experience papers that are of broader interest and describe insights gained from practical applications. The page limit for these submissions is 10 pages.
- Position papers: These submissions present and defend the author’s position on a topic related to the broader area of the workshop. The page limit for these submissions is 6 pages.
The program committee will evaluate each paper based on its relevance, significance, clarity and originality. Each submission will be reviewed by at least three PC members.
Papers should be submitted in PDF format. The results described must be unpublished and must not be under review for another workshop, conference or journal. Submissions must conform to ACM SIGPLAN format, use 10 pt font, include the ACM general terms and categories on the first page, and must not exceed the page limit of the category in which it is classified by the authors (including all text, figures, references and appendices). Submissions which do not conform to this will be rejected without reviews.
Submission website for VMIL 2012 is available at: http://www.easychair.org/conferences/?conf=vmil2012
A Trace-based Java JIT Compiler for Large-scale Applications
IBM Research - Tokyo
Trace-based compilation uses dynamically-identified frequently-executed code sequences (traces) as units for compilation. We explore trace-based compilation in Java to see if a trace-based JIT compiler (trace-JIT) can address a limitation of method-based JIT compilers: limited compilation scope when dealing with those with largely flat execution profile. Although, trace-based compilation has gained popularity in dynamic scripting languages (e.g. TraceMonkey and pypy) or for embedded devices (e.g. Dalvik VM), the benefits and drawbacks of trace-JIT for large-scale applications have not yet been studied. We first describe the design and implementation of our trace-JIT with emphasis on efficient trace selection and code generation. Then we discuss how the trace selection algorithm affects the performance of a large-scale Java application server.
From Turtles to Hares – speeding up a dynamic language for data analytics