Advanced Design and Implementation of Virtual Machines by Xiao-Feng Li

By Xiao-Feng Li

In addition to the more and more vital runtime engines pervasive in our daily-life computing, there's a robust call for from the software program neighborhood for an exceptional presentation at the layout and implementation of recent digital machines, together with the Java digital computer, javascript engine and Android execution engine. The neighborhood expects to determine not just formal set of rules description, but additionally pragmatic code snippets to appreciate not just learn issues, but additionally engineering strategies. This ebook meets those calls for by means of delivering a different description that mixes excessive point layout with low point implementations and educational complicated themes with advertisement recommendations. This publication takes a holistic method of the layout of VM structure, with contents equipped right into a constant framework, introducing issues and algorithms in an simply understood step-by-step approach. It makes a speciality of the severe elements of VM layout, that are frequently neglected in different works, corresponding to runtime helpers, stack unwinding and local interface. The algorithms are totally illustrated in figures and carried out in effortless to digest code snippets, making the summary suggestions tangible and programmable for procedure software program builders.

Show description

Read Online or Download Advanced Design and Implementation of Virtual Machines PDF

Similar design & architecture books

Operational Amplifiers: Theory and Design

Operational Amplifiers – conception and layout, moment variation provides a scientific circuit layout of operational amplifiers. Containing state of the art fabric in addition to the necessities, the ebook is written to attract either the circuit dressmaker and the method dressmaker. it really is proven that the topology of all operational amplifiers could be divided into 9 major total configurations.

Computer and Information Security Handbook

The second edition of this accomplished instruction manual of laptop and data security provides the main entire view of laptop defense and privateness to be had. It bargains in-depth assurance of defense idea, know-how, and perform as they relate to tested applied sciences in addition to contemporary advances.

Languages, Design Methods, and Tools for Electronic System Design: Selected Contributions from FDL 2015

This e-book brings jointly a range of the simplest papers from the eighteenth version of the discussion board on specification and layout Languages convention (FDL), which came about on September 14-16, 2015, in Barcelona, Spain. FDL is a well-established overseas discussion board dedicated to dissemination of study effects, functional studies and new principles within the software of specification, layout and verification languages to the layout, modeling and verification of built-in circuits, complicated hardware/software embedded platforms, and mixed-technology platforms.

Extra info for Advanced Design and Implementation of Virtual Machines

Example text

Metadata are language specific, and the underlying system cannot provide the data. A memory manager is necessary as a middle layer between what the application can see and what the underlying system can provide. • Desirable: Application in safe language usually does not explicitly release the memory allocated for its data. The application may give hint on the data’s life time but relies on the virtual machine to dispose. Although the underlying system may provide certain level of memory reclamation support, it is desirable for the virtual machine to directly manage the application data (and the associated memory), because only virtual machine accurately knows the application’s data type and life cycles.

In reality, compiling a method may throw exception, or enter Java code execution and trigger garbage collection (GC), so the procedure from Java code execution to JIT compiler (written in native code) needs full Java-to-native transition. Bookkeeping is needed to make sure all the information be well prepared before entering the native code and be cleaned up after returning from the native code. We leave this discussion to Chapter 7. 2 Trace-Based JIT In recent years, trace-based JIT has attracted lots of attentions.

2a. Although there are many different implementations, the most common design is for the object to have a pointer pointing to a virtual method pointer table (called “vtable”). Vtable includes the function pointers to the virtual methods so that the virtual method invocation can be executed with only a few instructions. This design is based on an observation that the most frequent memory accesses in a VM are two kinds of operations. 2 Object representation with metadata in its header and fields in its body.

Download PDF sample

Rated 4.80 of 5 – based on 49 votes