• DocumentCode
    3283611
  • Title

    Embedded JIT Compilation with CACAO on YARI

  • Author

    Brandner, Florian ; Thorn, Tommy ; Schoeberl, Martin

  • Author_Institution
    Inst. of Comput. Languages, Vienna Univ. of Technol., Vienna, Austria
  • fYear
    2009
  • fDate
    17-20 March 2009
  • Firstpage
    63
  • Lastpage
    70
  • Abstract
    Java is one of the most popular programming languages for thedevelopment of portable workstation and server applications availabletoday. Because of its clean design and typesafety, it is alsobecoming attractive in the domain of embedded systems. Unfortunately, the dynamic features of the language and its rich class library causeconsiderable overhead in terms of runtime and memory consumption. Efficient techniques to implement Java virtual machines that aresuitable for use in resource constrained environments are thusneeded. In this work we present a solution for very restrictedenvironments based on CACAO. CACAO is a just-in-time compilingvirtual machine implementation, combining high speed and small size. We have modified the original version of CACAO to run without anunderlying operating system within only 1 MB of memory. In additionwe present a new technique to selectively compile methods during theinitialization phase of real-time Java applications to preventunwanted interaction between dynamic compilation and critical tasks. Furthermore we present the YARI soft-core as the execution platformof CACAO within an field-programmable gate array. We compare ourimplementation with two well known Java processors, JOP and Sun´spicoJava-II, on the same technology. Although JOP achieves a higherclock frequency and picoJava-II occupies nearly 4 times the resourceof YARI, our solution is capable to outperform both of them by afactor of up to 2.8 and 2.2 respectively.
  • Keywords
    Java; embedded systems; field programmable gate arrays; program compilers; virtual machines; CACAO; JOP; Java processor; Java virtual machine; YARI soft-core; class library; embedded JIT compilation; field-programmable gate array; just-in-time compiling virtual machine; memory consumption; picoJava-II; programming language; real-time Java application; resource constrained environment; runtime consumption; Computer languages; Dynamic compiler; Embedded system; Field programmable gate arrays; Frequency; Java; Operating systems; Runtime library; Virtual machining; Workstations; JIT compilation; Java Virtual Machine; RISC soft-core; embedded system;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Object/Component/Service-Oriented Real-Time Distributed Computing, 2009. ISORC '09. IEEE International Symposium on
  • Conference_Location
    Tokyo
  • ISSN
    1555-0885
  • Print_ISBN
    978-0-7695-3573-9
  • Type

    conf

  • DOI
    10.1109/ISORC.2009.20
  • Filename
    5231991