Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2542142acmconferencesBook PagePublication PagessplashConference Proceedingsconference-collections
VMIL '13: Proceedings of the 7th ACM workshop on Virtual machines and intermediate languages
ACM2013 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
SPLASH '13: Conference on Systems, Programming, and Applications: Software for Humanity Indianapolis Indiana USA 28 October 2013
ISBN:
978-1-4503-2601-8
Published:
28 October 2013
Sponsors:
Reflects downloads up to 12 Nov 2024Bibliometrics
Skip Abstract Section
Abstract

An increasing number of high-level programming language implementations is realized using standard virtual machines. Recent examples of this trend include the Clojure (Lisp) and Potato (Squeak Smalltalk) projects, which are implemented on top of the Java Virtual Machine (JVM); and also F# (ML) and IronPython, which target the .NET CLR. Making diverse languages--possibly even adopting different paradigms--available on a robust and efficient common platform leverages language interoperability.

Vendors of standard virtual machine implementations have started to adopt extensions supporting this trend from the run-time environment side. For instance, the Sun standard JVM will include the invokedynamic instruction, which will facilitate a simpler implementation of dynamic programming languages on the JVM.

The observation that many language constructs are supported in library code, or through code transformations leading to over-generalized results, has led to efforts to make the core mechanisms of certain programming paradigms available at the level of the virtual machine implementation. Thus, dedicated support for language constructs enables sophisticated optimization by direct access to the running system. This approach has been adopted by several projects aiming at providing support for aspect-oriented programming or dynamic dispatch in general-purpose virtual machines (Steamloom, Nu, ALIA4J).

The main themes of this workshop are to investigate which programming language mechanisms are worthwhile candidates for integration with the run-time environment, how said mechanisms can be declaratively (and re-usably) 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. Possible candidates for investigation include modularity mechanisms (aspects, context-dependent layers), concurrency (threads and locking, actors, software transactional memory), transactions, paradigm-specific abstractions, and combinations of paradigms.

The areas of interest include, but are not limited to, compilation-based and interpreter-based virtual machines as well as intermediate-language designs with better support for investigated language mechanisms, compilation techniques from high-level languages to enhanced intermediate languages as well as native machine code, optimization strategies for reduction of run-time overhead due to either compilation or interpretation, advanced caching and memory management schemes in support of the mechanisms, and additional virtual machine components required to manage them.

Skip Table Of Content Section
SESSION: Workshop presentations
research-article
An intermediate representation for speculative optimizations in a dynamic compiler

We present a compiler intermediate representation (IR) that allows dynamic speculative optimizations for high-level languages. The IR is graph-based and contains nodes fixed to control flow as well as floating nodes. Side-effecting nodes include a ...

research-article
Characteristics of dynamic JVM languages

The Java Virtual Machine (JVM) has become an execution platform targeted by many programming languages. However, unlike with Java, a statically-typed language, the performance of the JVM and its Just-In-Time (JIT) compiler with dynamically-typed ...

research-article
Dynamic optimization of bytecode instrumentation

Accuracy, completeness, and performance are all major concerns in the context of dynamic program analysis. Emphasizing one of these factors may compromise the other factors. For example, improving completeness of an analysis may seriously impair ...

research-article
Unipycation: a case study in cross-language tracing

Language composition approaches have traditionally suffered from poor performance. In this paper we hypothesise that meta-tracing provides a means to compose independent language interpreters while retaining the performance levels of each. To study this ...

keynote
Do computer programs have to be as dumb as they are?: input-centric dynamic program optimizations

Looking around this world, we see that a fledgling can fly faster and faster, a pupil can calculate quicker and quicker, and a graduate student can write papers better and better. But since the birth of computers, it has been the case that after the ...

Contributors
  • Philipps University of Marburg
  • Oracle Corporation
  • The Australian National University
  • Iowa State University

Index Terms

  1. Proceedings of the 7th ACM workshop on Virtual machines and intermediate languages
        Index terms have been assigned to the content through auto-classification.
        Please enable JavaScript to view thecomments powered by Disqus.

        Recommendations

        Acceptance Rates

        VMIL '13 Paper Acceptance Rate 4 of 4 submissions, 100%;
        Overall Acceptance Rate 4 of 4 submissions, 100%
        YearSubmittedAcceptedRate
        VMIL '1344100%
        Overall44100%