|
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 ... |