Advice weaving in AspectJ

  • Authors:
  • Erik Hilsdale;Jim Hugunin

  • Affiliations:
  • PARC, Palo Alto, CA;Want of a Nail Software, Sunnyvale, CA

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes the implementation of advice weaving in AspectJ. The AspectJ language picks out dynamic join points in a program's execution with pointcuts and uses advice to change the behavior at those join points. The core task of AspectJ's advice weaver is to statically transform a program so that at runtime it will behave according to the AspeetJ language semantics. This paper describes the 1.1 implementation which is based on transforming bytecode. We describe how AspectJ's join points are mapped to regions of bytecode, how these regions are efficiently matched by AspectJ's pointcuts, and how pieces of advice are efficiently implemented at these regions. We also discuss both run-time and compile-time performance of this implementation.