Font Size: a A A

Generation de machines virtuelles pour l'execution de programmes compresses (French and English text)

Posted on:2001-09-29Degree:Ph.DType:Thesis
University:Universite de Montreal (Canada)Candidate:Latendresse, MarioFull Text:PDF
GTID:2468390014952908Subject:Computer Science
Abstract/Summary:
The general goal of this thesis is to design techniques and tools to generate virtual machines adapted for the execution of compressed programs.; A common representation of programs for virtual machines uses byte-code: the operational code is coded on one byte and an argument uses a multiple of eight bits. This codification simplifies decoding since all instructions are aligned on a byte boundary.; We use four methods to compress programs: the creation of new instructions from sequences of basic ones, that is macro-instructions, the compression of operational codes using canonical Huffman coding, the creation of compact formats for arguments and non alignment of instructions on byte boundary.; The techniques are embedded in tools to automatically generate virtual machines under the user's guidance.; For the Scheme language, compiled towards our general virtual machine Machina, the experimental results demonstrate the approach to generate new instructions and codification adapted to the language and the compression of its programs. Our approach generates very compact programs executing at speeds comparable to other Scheme interpreters. For the Java virtual machine, the JVM , our method discovers new instructions and formats producing good compression. For the benchmarks BYTEmark, and the JDK 1.0.2 library, the factor of compression is 60%.; These compression methods are combined with tools to generate automatically two types of decoders for fast execution without decompression. We apply several benchmarks on these decoders, running on two architecturally different processors, for virtual machines adapted for the programming languages Scheme and Java. The speeds obtained demonstrate the viability of the approach. For several benchmarks Java (BYTEmark), the slowdown is less than 10%.
Keywords/Search Tags:Machines, /tfont, Generate
Related items