Strength Reduction for Loop-Invariant Types

12 years 1 months ago
Strength Reduction for Loop-Invariant Types
Types are fundamental for enforcing levels of abstraction in modern high-level programming languages and their lower-level representations. However, some type-related features such as dynamic method calls and dynamic type casts can contribute substantially to the performance of a program. Loop-invariant type is a concept relating to an object whose dynamic type never changes inside a loop. In this case, operations on the type of the object may be redundant in the loop. As these operations often cause exceptions, existing redundancy elimination techniques usually fail to optimise them. This paper proposes a new approach to reducing the cost of two important operations on loop-invariant types: method tests and dynamic type checking. We demonstrate its usefulness and benefit in IBM's Jikes RVM, a dynamic compilation system for Java.
Phung Hua Nguyen, Jingling Xue
Added 20 Aug 2010
Updated 20 Aug 2010
Type Conference
Year 2004
Where ACSC
Authors Phung Hua Nguyen, Jingling Xue
Comments (0)