• Title of article

    Generation of fast interpreters for Huffman compressed bytecode

  • Author/Authors

    Mario Latendresse and Peter D. Karp، نويسنده , , Danny Dubé and Marc Feeley ، نويسنده ,

  • Issue Information
    دوهفته نامه با شماره پیاپی سال 2005
  • Pages
    23
  • From page
    295
  • To page
    317
  • Abstract
    Embedded systems often have severe memory constraints requiring careful encoding of programs. For example, smart cards have on the order of 1K of RAM, 16K of non-volatile memory, and 24K of ROM. A virtual machine can be an effective approach to obtain compact programs but instructions are commonly encoded using one byte for the opcode and multiple bytes for the operands, which can be wasteful and thus limit the size of programs runnable on embedded systems. Our approach uses canonical Huffman codes to generate compact opcodes with custom-sized operand fields and with a virtual machine that directly executes this compact code. We present techniques to automatically generate the new instruction formats and the decoder. In effect, this automatically creates both an instruction set for a customized virtual machine and an implementation of that machine. We demonstrate that, without prior decompression, fast decoding of these virtual compressed instructions is feasible. Through experiments on Scheme and Java, we demonstrate the speed of these decoders. Java benchmarks show an average execution slowdown of 9%. The reductions in size highly depend on the original bytecode and the training samples, but typically vary from 40% to 60%.
  • Journal title
    Science of Computer Programming
  • Serial Year
    2005
  • Journal title
    Science of Computer Programming
  • Record number

    1079809