Optimization of aspect-instantiation strategies in the JIT-compiler
Martin Zandberg
Abstract
Martin Zandberg
Abstract
Aspect-instantiation policies define the rules how aspect instances are, looked-up and instantiated. Current aspect-oriented languages implementations are restricted to generating bytecode for realizing the semantics of aspect instantiation. Often however, bytecode is not expressive enough to support the most efficient optimizations. The ALIA4J framework for implementing execution environments with support for aspect-oriented languages allows implementing the semantics of language features in terms of bytecode generation and JIT-compilation. In this thesis a JIT compilation strategy for aspect-instantiation is developed that supports a variety of aspect-instantiation policies, ranging from singleton and per-object policies to per-multiple-object policies. The compilation strategy is benchmarked and its performance is compared to state-of-the-art aspect-oriented language implementations.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Aspect-instantiation policies define the rules how aspect instances are, looked-up and instantiated. Current aspect-oriented languages implementations are restricted to generating bytecode for realizing the semantics of aspect instantiation. Often however, bytecode is not expressive enough to support the most efficient optimizations. The ALIA4J framework for implementing execution environments with support for aspect-oriented languages allows implementing the semantics of language features in terms of bytecode generation and JIT-compilation. In this thesis a JIT compilation strategy for aspect-instantiation is developed that supports a variety of aspect-instantiation policies, ranging from singleton and per-object policies to per-multiple-object policies. The compilation strategy is benchmarked and its performance is compared to state-of-the-art aspect-oriented language implementations.
Key concepts: Bytecode, Programming language, Computer science, Aspect-oriented programming, Compiler, Implementation, Semantics (computer science), Variety (cybernetics)