Misplaced Pages

Maxine Virtual Machine

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (August 2012) (Learn how and when to remove this message)
This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "Maxine Virtual Machine" – news · newspapers · books · scholar · JSTOR (June 2011) (Learn how and when to remove this message)
(Learn how and when to remove this message)
Open source software
Maxine
Original author(s)Bernd Mathiske,
Douglas Simon
(Sun Labs, Oracle)
Developer(s)University of Manchester, Maxine team
Initial release2005; 20 years ago (2005)
Stable release2.9.0 / December 20, 2019; 5 years ago (2019-12-20)
Repository
Written inJava
Operating systemSolaris, Linux, macOS
Platformx64, ARM32, AArch64, RISC-V
TypeJava virtual machine
LicenseGPL version 2.0
Websitegithub.com/beehive-lab/Maxine-VM Edit this on Wikidata

The Maxine virtual machine is an open source virtual machine that is developed at the University of Manchester. It was formerly developed by Sun Microsystems Laboratories, since renamed Oracle Labs. The emphasis in Maxine's software architecture is on modular design and code reuse for flexibility, configurability, and productivity for industrial and academic virtual machine researchers. It is one of a growing number of Java virtual machines written entirely in Java in a meta-circular style. Examples include Squawk and Jikes RVM.

Architecture

The Maxine VM is characterized internally by aggressive use of advanced language features in Java 1.5 and 1.6, by modular subsystems coordinated through Java interfaces, by the absence of an interpreter, and by a tightly coupled debugger and visualization tool for VM development.

Compatibility

Maxine is plug compatible with an unmodified Java Development Kit (JDK). Maxine can be developed, built, and run in standard Java integrated development environments (IDEs), including NetBeans, Eclipse, and IntelliJ IDEA.

Systems programming in Java

A secondary goal of the project is to develop methods and tools for "systems programming in Java". Compiler extensions, configured in VM source code using Java annotations, allow use, with no performance penalty, of low-level operations otherwise disallowed in Java. These extensions provided the foundation for the Graal compiler.

The Maxine Inspector

Specialized debugging support for the Maxine VM is provided by the Maxine Inspector: a companion tool that acts as a combined object, class, and method browser, and as a machine- and bytecode-level debugger. The Inspector runs out-of-process, needs no active VM support, and leverages code shared with the VM for specialized developer services that exploit detailed knowledge of memory layout and VM design. Notable services include:

  • multiple mode views of code (source, bytecode, disassembled machine code) with multi-mode breakpoints and stepping;
  • thread, stack, register, and thread local variable inspection;
  • flexible low-level memory visualization with dynamic interpretation and linking of memory values, e.g. as code locations, object references;
  • dynamic visualization of object fields and metadata;
  • boot image configuration details; and
  • specialized algorithm-specific support for debugging during GC.

History

Maxine was created by Bernd Mathiske at Sun Labs in early 2005. He led its development among a growing team until late 2008 when he left Sun Microsystems and handed the project over to Doug Simon who had been the first engineer to join it. Doug Simon continued in this role throughout the acquisition of Sun by Oracle Corporation.

The static (heap inspection) version of the Maxine Inspector was created by Bernd Mathiske in 2006. Michael Van De Vanter assumed development of the Inspector in 2007, adding dynamic support as the VM became executable and continued to evolve throughout the acquisition of Sun by Oracle Corporation.

Oracle continued development of Maxine until the release of Maxine 2.0. The University of Manchester is developing Maxine as of release 2.1.

See also

References

Notes

  1. "Maxine VM: A Metacircular VM for Java in Java". GitHub. 18 November 2021.
  2. Wimmer et al. 2013, p. 1.
  3. "Oracle Labs – About". Labs.oracle.com. Retrieved 2017-06-25.
  4. "The Maxine Project: The Maxine Inspector". community.oracle.com. Retrieved 2019-04-08.
  5. "Introduction to the Maxine Inspector (Demo)". youtube.com. 5 April 2010. Retrieved 2019-04-08.
  6. "Maxine Inspector Mini-Demo 6 of 10 (2008): Multi-code Method Views". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  7. "Maxine Inspector Mini-Demo 5 of 10 (2008): Disassembled Bytecode". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  8. "Maxine Inspector Mini-Demo 4 of 10 (2008): Disassembled Machine Code". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  9. "Maxine Inspector Mini-Demo 10 of 10 (2008): Breakpoints". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  10. "Maxine Inspector Mini-Demo 7 of 10 (2008): Threads". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  11. "Maxine Inspector Mini-Demo 9 of 10 (2008): Stacks". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  12. "Maxine Inspector Mini-Demo 8 of 10 (2008): Registers". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  13. "Maxine Inspector Mini-Demo 2 of 10 (2008): Memory". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  14. "Maxine Inspector Mini-Demo 3 of 10 (2008): Heap Objects". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  15. "Maxine Inspector Mini-Demo 1 of 10 (2008): Boot Image Configuration". youtube.com. 28 August 2010. Retrieved 2019-04-08.
  16. "Archived copy". Archived from the original on 2016-03-04. Retrieved 2013-09-18.{{cite web}}: CS1 maint: archived copy as title (link)
  17. "Maxine-VM: Maxine VM: A meta-circular research VM". GitHub. 21 June 2017. Retrieved 2017-06-25.

Bibliography

External links

Java virtual machines (comparison)
Sun, Oracle
Major implementations
Embedded
Others
Discontinued
Java (software platform)
Platforms
Oracle technologies
Platform technologies
Major third-party
technologies
History
JVM languages
Community
Conferences
Organizations
People
Category   icon Computer programming portal
Oracle free and open-source software (FOSS)
Software
Applications
Programming languages
Databases
Frameworks and
development tools
Operating systems
Other
Related
Categories: