Our research involves improving performance of programs written in the Java programming language. By selective specialization of generic types, we enable the compiler to eliminate typecasting, and provide type information to remove dynamic method lookup at runtime. An example of this specialization using Quicksort showed performance improvement of about 25%.
Java 5.0 added classes with a type parameter, also known as generic types, to better support generic programming. Generic types in Java allow programmers to write code that works for different types, with the type safety checks performed at compilation time. Generic classes in Java function by type erasure. Type erasure works by creating a single instance… (More)
According to Eli Hirsch many ontological disputes are verbal because, in these disputes, each side is most charitably interpreted as speaking the truth in its own language. In this thesis I argue that the ontological disputes Hirsch targets can't be verbal. The problem with Hirsch's proposal is that these ontological disputes are explicable in terms of… (More)
Generic types in the Java programming language provide the convenience of writing generic code and perform compilation-time type checking. However, the implementation based on type erasure discards type instance information before run time, complicating dynamic optimizations. We propose a specialization of generic types-a source-to-source transformation… (More)