Virtual machine support for dynamic join points

  • Authors:
  • Christoph Bockisch;Michael Haupt;Mira Mezini;Klaus Ostermann

  • Affiliations:
  • Darmstadt University of Technology, Germany;Darmstadt University of Technology, Germany;Darmstadt University of Technology, Germany;Darmstadt University of Technology, Germany

  • Venue:
  • Proceedings of the 3rd international conference on Aspect-oriented software development
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

A widespread implementation approach for the join point mechanism of aspect-oriented languages is to instrument areas in code that match the static part of pointcut designators, inserting dynamic checks for that part of matching that depends on run-time conditions, if needed. For performance reasons, such dynamic checks should be avoided whenever possible. One way to do so is to postpone weaving of advice calls until run-time, when conditions determining the emergence of join points hold. This calls for fluid code---code that adapts itself to the join point emergence at run-time, and suggests that AOP concepts should be integrated into the execution model underlying a VM. In this paper, we present first steps toward such an integration in Steamloom, an extension of IBM's Jikes Research Virtual Machine. Steamloom is fairly restricted, but our initial experimental results indicate that aspect-aware VMs and fluid code are promising w.r.t performance. While the focus in this paper is on performance, there are other advantages of aspect-aware VMs to be investigated in the future.