Various high-level language virtual machines

Source: Internet
Author: User
Tags lua zend ocaml

Rednaxelafx 2010-01-06 focuses on the design and implementation of a variety of high-level language VMS (high-level language Virtual MACHINE,HLL VMS), as well as the design and implementation of runtimes that generalize to a variety of high-level languages, and also involve dynamic compilation, GC , dynamic language compilation and other topics. In short, the general direction is the semantic realization of high-level language on the >_<
I will write some posts for data accumulation, such as books, papers, tutorials, articles and related chain receive sets. Please do not reply to these information in the discussion of the accumulation of posts, so as to keep the information "neat", but you can open a corresponding discussion post discussion.
We also welcome you to discuss the topic of HLL VMs. Please tell me what you are interested in about the HLL VM ^_^
You can also send entertainment, a variety of strange and HLL VM-related code and so on can be placed under this category.
Need circle Administrator permissions of the classmate please PM me, interested in helping me to collect and organize HLL VM related data that's the best.

The scope of discussion includes, but is not limited to:
Java Virtual Machine
-Oracle (Sun) HotSpot VM (OPENJDK:GPLV2+CE)
--Da Vinci Machine
--JSR 292 Backport
--Ultraviolet™virtual Machine
-Azul HotSpot VM
-IBM J9
-Oracle JRockit
-Apache Harmony (Apache License v2)
-Jikes RVM (EPLV1)
-Kaffe (GPL)
-SABLEVM (LGPLv2.1)
-Oracle (Sun) CLDC HotSpot Implementation (GPLV2)
-Oracle (Sun) Project Monty virtual machine
-PSPKVM (GPL)
-Oracle (Sun) Squawk VM (GPLV2)
-Oracle (Sun) Javacard VMS
-Oracle (Sun) Maxine VM (GPLV2)
-Oracle (Sun) Mackinac
-Metacircular Platform (MRP) (Apache License, EPLV1, Gplv2+ce)
-Moxie JVM (Apache License v2)
-JAMVM (GPL) (Sourceforge Project Page)
-JAMAICAVM
-CACAOVM (GPL)
-Jelatine JVM (GPLV3)
-NANOVM (GPL)
-Open Mika (BSD)
-Wonka VMs
-Aegis VM (LGPL)
-Joeq (GPL)
-Kissme (GPL)
-Vmkit (University of Illinois Open Source License)
-Jupiter
-K Virtual Machine
-Nsicom Cre-me
-LaTTe (BSD)
-Esmertec jbed
-Symantec JIT
-Towerj Dynaflex
-Microsoft Java Virtual Machine/jview
-HP Chai VMS
-Oracle OJVM
-Oracle JVM (textual research, I don't know what this has to do with OJVM)
-Mozilla Electricalfire (Netscape PL)
-MACHJ
-JANOSVM
-Xam (GPLV3)
-E-bunny
-Jeode EVM
-Shujit
-Inprise "JavaComp" JIT
-Openjit (BSD)
-Tya
-Open Runtime Platform (ORP) (Intel open Source License)
-Jaos
-AROMAVM
-Sun Exact VM
-Sun Javainjava
-Ikvm.net (Custom bsd-like)
-TINYVM (MPLV1)
-OVM (Introduction) (New BSD)
-GCJ (GPL)
-Excelsior JET
-RoboVM (license)
-JC Virtual Machine (LGPL)
-MINIJAVAVM
-ARMJVM
-Rava (Ruby License)
-Ruva (Ruby License)
-Japhar
-JOKER-VM (GPL)
-Jato (Gplv2+le)
-Hornet (BSD)
-Another Open Javacard Virtual machine (GPL)
-Sun Spotless JVM
-Nemesis JVM
-Nanokit
-Aplix Jblend
-Orto JVM
-Avian (ISC License) GitHub link
-JNJVM
-Doppio (MIT License) Java on Coffeescript
-Mysaifu JVM
-NODE-JVM
-Fiji
Http://rtjava.blogspot.com/2011/07/fijivm-real-time-java-vm-overview.html

Google Dalvik VMs (Apache License v2)

NESTEDVM (Apache License v2)

Harissa

Dynamicjava (BSD)
This is a Java-implemented Java source code interpreter, not a JVM defined by the JVM specification.

FIJI forthish Java Interpreter (GPL)

Eve Virtual Machine

Parrot VMs (Artistic License 2.0)

Common Language Infrastructure (CLI)
-Common Language Runtime (CLR) (. NET Framework) Open sourcing!
-The. NET Compact Framework
-. NET Micro Framework (Apache License v2)
-Mono (LGPL/GPL/X11)
-DotGNU Portable. NET (GPL)
-Shared Source Common Language Infrastructure (SSCLI) (Microsoft Shared source Common Language Infrastructure license)
-Open Runtime Platform (ORP) (Intel open Source License)
-Starjit
-Ildjit (GPL)

Dynamic Language Runtime (DLR) (MS-PL)

Dis Virtual Machine

Python
-Python (CPython) (PSFL)
-PyPy (MIT)
-Pyston (Apache License v2)
-Jython (PSFLV2)
-IronPython (MS-PL)
-Unladen Swallow (Apache License v2)
-Pynie
-Psyco (MIT)
-Stackless Python (PSFL)
-Tinypy (MIT)
-Python-on-a-chip (p14p) (GPLV2)

Ruby
-Ruby 1.8.x (MRI) (Ruby License)
-Ruby 1.9 (YARV) (Ruby License)
-Rubinius (BSD)
-Macruby (Ruby License)
-JRuby (CPL/GPL/LGPL)
-IronRuby (MS-PL)
-MagLev (MIT)
-Ruby Enterprise Edition
-Blueruby
-The ludicrous JIT Compiler (BSD)
-Xruby (Apache License v2)
-Cardinal
-Ruby.net (New BSD)
-Hotruby (Ruby License)
-TINYRB (Ruby License)
-MIRC

JavaScript
-Google V8 (new BSD)
-Mozilla Jägermonkey/tracemonkey/tamarin/spidermonkey (MPL 1.1/GPL 2.0/LGPL 2.1)
-Apple Nitro (squirrelfish Extreme)/squirrelfish/javascriptcore (LGPL)
-KDE KJS (LGPLV2)
-Opera Carakan
-Dmdscript
-Managed JScript
-JScript
-JScript 9 "Chakra"
-Narcissus
-Besen (Ownlicense+agplv3)
-Jurassic (MS-PL)
-Ironjs (Apache License v2)
-LV5
-Tachyon
-Ejscript (embedthis Open Source software License)
-Qt V4
-Muscalietjs (MCJS): An extensible portable layered JavaScript Engine

ActionScript 3
-Adobe AVM2
-Lightspark
-JITB

Groovy (BSD)

Perl
-Perl
-Pugs
-Rakudo
-MOARVM (new VM for Rakudo)
-Tycho (by Matthew Wilson)

PHP
-PHP (PHP License v3.01)
-HipHop VMs (PHP and Zend License)
-HIPPYVM (Github) (MIT License)
-Phalanger (SS-PL)
-Zend
-Quercus

Smalltalk
-Smalltalk
-GNU Smalltalk (GPL)
-Squeak (SqL) http://www.squeakvm.org/index.html
-GEMSTONE/S
-Pharo (Mit/apache lisence)
-Strongtalk (New BSD)
-Cog (MIT License)
-Jtalk (MIT License)

Self
-Self
-Klein metacircular Virtual Machine Kit

Newspeak (Apache License v2/sql/mit)

Erlang (MPL)
-BEAM
-Erjang

Prolog

Mercury

Pure

BASIC

COBOL

Factor (BSD)

Neko
-Neko VM (LGPL)

Potion (MIT)

Forth

Scheme
-Ikarus (GPLV3)
-Wescheme

Common Lisp

HLVM (BSD)

Ela

SQLite Virtual Database Engine

An interpreter implementation called a "compiled language":

C
-Ch

C + +
-Cint

Well...... Haskell, OCaml and other languages are also implemented by interpreters, and are counted as well.
OCaml's interpreter is direct-threaded, and this must be said. There is not a very strong atmosphere to discuss various threaded techniques outside the Forth community.

There are also some interesting languages that are implemented with interpreters. Fortress also have interpreters, and have the opportunity to dig digging.

Commonly used as an embedded script:

Lua
-Lua (MIT)
-Luajit (mit/x)

Terra
http://terralang.org

Squirrel (Zlib/libpng)

Angelscript (zlib)

Jewelscript (Zlib/libpng)

Monster Script

Some scripting engines in the game engine:

Girigiri 2
-TJS2 (GPLV2)

Girigiri 3
-Risse

Reallive
-Reallive
-RLVM (GPLV3)
-Xclannad

Alicesoft
-System 3.x
-System 4.x

NScripter
-NScripter
-ONScripter

Yu-ris

Hot Soup Processor (HSP)

stuffスクリプトエンジン

Wintermute Engine (WME)

Unreal
-UnrealScript

Torque Game Engine
-Torquescript

Z Machine

Some implementations of El (Expression language, expressions language) can also be discussed:

Mvel

Janino (New BSD)

Unified Expression Language (JSR 245)
-Juel
-Resin EL

JSP 2.0 EL
-Commons EL

Jexl
Jeval
Spel
OGNL

IK Expression
Aviator
Jsel

Some template engines actually have a tree-traversal interpreter.

Velocity (Apache License v2)

Although it is not a HLL VM, it is often used for HLL VM implementations:

Low level Virtual Machine (LLVM) (University of Illinois Open Source License)
-Llvm-py

Age-old virtual machines:

SECD

The pioneer of dynamic compilation:

Oberon

There are also the SourceMod plugins like Half-Life 2 also have the JIT ... Sourcepawn?
Look at this http://www.bailopan.net/blog/?p=73.

A variety of machines, like the simulator of a game console, are naturally efficient compilers or binary translator implementations.
Dolphin Emulator

Some JIT libraries:

Xbyak (BSD)

Asmjit (MIT)

Jitasm (BSD)

libJIT (LGPLv2.1)
-Libjit-linear-scan-register-allocator (LGPL)

Some GC libraries:

Boehm GC

Qish (LGPL)

Tools to generate the interpreter:

Vmgen

Generic Interpreter

The following is a bit off the mark, but very tough:

Valgrind
Although it is considered by many to be a memory access check tool, it is actually x86-to-x86 dynamic instant compiler, very very strong ...

Various high-level language virtual machines

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.