A machine code model for efficient advice dispatch

  • Authors:
  • Ryan M. Golbeck;Gregor Kiczales

  • Affiliations:
  • University of British Columbia;University of British Columbia

  • Venue:
  • Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The primary implementations of AspectJ to date are based on a compile- or load-time weaving process that produces Java byte code. Although this implementation strategy has been crucial to the adoption of AspectJ, it faces inherent performance constraints that stem from a mismatch between Java byte code and AspectJ semantics. We discuss these mismatches and show their performance impact on advice dispatch, and we present a machine code model that can be targeted by virtual machine JIT compilers to alleviate this inefficiency. We also present an implementation based on the Jikes RVM which targets this machine code model. Performance evaluation with a set of micro benchmarks shows that our machine code model provides improved performance over translation of advice dispatch to Java byte code.