As programming has become more modular and component based, it is easier to maintain and favours reusability. However, in most cases, programs are being used for a single or a few certain tasks. Using general purpose software in order to perform a certain task has a loss in performance. Optimizing compilers have been given the task to define and optimize over common case scenarios and at the same time guarantee correct behaviour for the uncommon cases. Numerous compiler optimizations have been proposed, some static and others dynamic, i. e. performed at runtime. The work described in this thesis focuses on dynamic optimizations because they have some advantages over the static ones, such as access to runtime state, transparency and adaptability. More specifically, the work described in this thesis is about value specialization, a technique which eliminates computation that is based on constant values or values that are constant over a certain period of the program execution. In this thesis a specializer was implemented that applies to the category of object oriented programming language specializers. The specializer is part of a Java virtual machine, Jikes RVM, so it could take advantage of the runtime values that are unknown during the pre-run phase of the program
Identifer | oai:union.ndltd.org:bl.uk/oai:ethos.bl.uk:549159 |
Date | January 2008 |
Creators | Bilianou, Panagiota |
Publisher | University of Manchester |
Source Sets | Ethos UK |
Detected Language | English |
Type | Electronic Thesis or Dissertation |
Page generated in 0.002 seconds