Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
JAsCo: an aspect-oriented approach tailored for component based software development
Proceedings of the 2nd international conference on Aspect-oriented software development
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Just-in-time aspects: efficient dynamic weaving for Java
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Eos: instance-level aspects for integrated system design
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 3rd international conference on Aspect-oriented software development
Virtual machine support for dynamic join points
Proceedings of the 3rd international conference on Aspect-oriented software development
Proceedings of the 4th international conference on Aspect-oriented software development
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
An execution layer for aspect-oriented programming languages
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Efficient control flow quantification
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A flexible architecture for pointcut-advice language implementations
Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms
A machine code model for efficient advice dispatch
Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms
Statistically rigorous java performance evaluation
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Lightweight virtual machine support for AspectJ
Proceedings of the 7th international conference on Aspect-oriented software development
Proceedings of the 7th international conference on Aspect-oriented software development
A fine-grained join point model for more reusable aspects
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Hi-index | 0.00 |
The non-local nature of advice applicability in AspectJ means that in many implementations small changes to aspects can require much of the program code to be scanned and possibly rewritten. This can slow down application startup, including the edit-compile-debug development cycle. Late binding of advice has been suggested to improve the situation, at the potential cost of runtime performance. We propose and evaluate two virtual machine (VM) internal late binding approaches, that operate at whole-class and whole-method granularity. Our evaluation shows that in VMs that allow bytecode mutation the preferred approach is to scan and rewrite methods the first time they are executed. In other VMs, whole-class scanning and rewriting at load time performs better. A separate interpreter based approach has startup performance similar to that of the whole-class approach; but micro-benchmarks suggest the latter out-performs the former over time.