2004 · 180 citations · 13 references
ComputingComputer ScienceComputer SystemsComputer ArchitectureProgramming LanguagesVirtualizationApplication Programming InterfacesRuntime SystemsVirtual Machine MonitorsVirtualization ArchitectureAspect-oriented ProgrammingEmergenceExecution ModelExecution Model DesignVirtual MachinesVirtualization Extensions
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.
13
Dan Ingalls, Ted Kaehler, John Maloney et al. · 1997 · 457 citations · Full text
Erik Hilsdale, Jim Hugunin · 2004 · 342 citations
Adaptive optimization in the Jalapeno JVM
Matthew Arnold, Stephen J. Fink, David Grove et al. · ACM SIGPLAN Notices · 2011 · 334 citations
Conquering aspects with Caesar
Mira Mezini, Klaus Ostermann · 2003 · 303 citations
The Jalapeño dynamic optimizing compiler for Java
Michael Burke, Jong-Deok Choi, Stephen J. Fink et al. · 1999 · 275 citations