Dalvik (software)

Dalvik is open-source software, originally written by Dan Bornstein, who named it after the fishing village of Dalvík in Eyjafjörður, Iceland.

The compact Dalvik Executable format is designed for systems that are constrained in terms of memory and processor speed.

Dalvik, named after a town in Iceland by its creator Dan Bornstein,[6] was designed for embedded devices with very low RAM and CPU[7] to run Java code, and eventually support C++ for "heavy-duty apps" and JavaScript for "light-weight widget-like apps" as first-class languages with Java catering to the rest.

Android Native Development Kit which eventually paved way for C++ support has existed since Dalvik's first public release.

According to Bornstein, Memory-mapping executables and libraries across multiple process and building a faster interpreter with register-based semantics drove much of the early design of the byte-aligned instruction set and the Virtual Machine.

For Dalvik VM, Bornstein particularly took inspiration from The Case for Register Machines[6] authored by Brian Davis et al of Trinity College, Dublin.

[12][13] Android 2.2 "Froyo" brought trace-based just-in-time (JIT) compilation into Dalvik, optimizing the execution of applications by continually profiling applications each time they run and dynamically compiling frequently executed short segments of their bytecode into native machine code.

This difference is of importance to VM interpreters, for which opcode dispatch tends to be expensive, along with other factors similarly relevant to just-in-time compilation.

[24] On August 12, 2010, Oracle, which acquired Sun Microsystems in April 2009 and therefore owns the rights to Java, sued Google over claimed infringement of copyrights and patents.

A comparison of Dalvik and ART architectures
A Dalvik-powered phone