An interesting technical session to be held @ JavaOne 2008 on The Maxine Virtual M/C - A VM written *entirely* in Java!
2 posters
Page 1 of 1
An interesting technical session to be held @ JavaOne 2008 on The Maxine Virtual M/C - A VM written *entirely* in Java!
Session Details (Friday, May 09, 2008 from 12:10 - 13:10) | |
Session ID: | TS-5169 |
Session Title: | The Maxine Virtual Machine! |
Session Abstract: | The Maxine Virtual Machine (VM), which is written in the Java™ programming language, will support research and enable fast prototyping of VM technologies. By making extensive use of familiar object-oriented methodologies and development tools, Maxine is positioned to make VM development substantially more agile than has been possible in the past. It is also the first meta-circular VM implementation integrated with the latest JDK™ software from Sun. The productivity advantages enjoyed by application developers using Java technology are finally available for a low-level systems programming effort. VM developers can work with the Maxine code base in their choice of NetBeans™ software, Eclipse, IntelliJ, or JBuilder and need not be concerned with complications such as makefiles, Ant files, or preprocessors. Maxine’s source code leverages all the newest language features, including generics, annotations, static imports, return type overloading, enums, and others. This presentation demonstrates how these features benefit the nascent discipline of systems programming in the Java programming language. The Maxine design emphasizes ease of development, portability, maintainability, configurability, and malleability. It is unique in its extreme exploitation of meta-circularity, giving rise to the design principle “write everything only once.” This approach avoids many of the feature interdependencies that make conventional VM machine implementations intricate and fragile. Maxine requires extremely few handwritten assembler code routines and absolutely no compiler-specific intermediate representation manipulation for any purpose other than normal bytecode compilation. Features that are platform-dependent in conventional VM architecture (synchronized methods, exception dispatching, JNI™ API stubs, reflective invocation stubs) become portable when implemented via bytecode generation. The following Maxine features are configurable with alternative implementations of Java platform interfaces: optimizing compiler, just-in-time (JIT) compiler, dynamic compilation strategy, garbage collector, read and write barriers, object reference representation, object layout, thread synchronization (object monitor implementation), safe-point implementation, and VM machine startup sequence. Maxine represents all internal data structures, including classes and generated machine code, as Java technology-based objects. Among other benefits, this has facilitated the construction of the Maxine Inspector: an innovative visual program analysis tool that seamlessly integrates object browsing (inspired by Smalltalk) with source-level debugging (inspired by Java integrated development environments) and low-level debugging (inspired by gdb/dbx). The latter is crucial for VM software debugging, because in contrast to normal Java technology-based application debugging, one cannot simply postulate a generated machine to be correct. Moreover, the VM software executable’s code is statically optimized and the VM software dynamically optimizes itself, together with the applications it is running. The Maxine VM is being constructed for combinations of the Solaris™ Operating System, Linux , and Xen with the SPARC® and AMD64 instruction sets. Both the Maxine VM and the Maxine Inspector will be released as open source around the time of the 2008 JavaOne conference. This will be a pre-alpha release, providing the opportunity for early community participation and feedback. The long-term intention is to stimulate further VM research and development and provide the platform of choice for innovative projects. A layer of the Maxine code base--the Project Maxwell Assembler System--has been available since mid-2006 on http://www.java.net. This is an extensible assembler and dis-assembler framework, written in the Java programming language, which has been extremely well tested against pre-existing textual assemblers. |
Track: | Cool Java SE; Cool Stuff; Java Platform, Standard Edition (Java SE); Open Source; Open Source Java SE |
Duration: | 60 mins. |
Speaker(s): | Bernd Mathiske, Sun Microsystems |
ujjwal.khare- Developer
-
Number of posts : 15
Age : 42
Location : Bangalore
Registration date : 2008-05-08
Similar topics
» Better Programming with Java EE...
» An Introduction to the Java EE 5 Platform...
» Learn Java Struts
» Quick Java Code Samples...
» An Introduction to the Java EE 5 Platform...
» Learn Java Struts
» Quick Java Code Samples...
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
|
|