|
RednaxelaFX 2010-01-06 关注各种高级语言虚拟机(high-level language virtual machine,HLL VM)的设计与实现,泛化至各种高级语言的运行时的设计与实现,也会涉及动态编译、GC、动态语言的编译等话题。总之大方向是高级语言的语义的实现方式就对了 >_< 讨论范围包括但不限于: ●Google Dalvik VM (Apache License v2) ●NestedVM (Apache License v2) ●DynamicJava (BSD) ●FIJI ForthIsh Java Interpreter (GPL) ●Parrot VM (Artistic License 2.0) ●Common Language Infrastructure (CLI) ●Dynamic Language Runtime (DLR) (Ms-PL) ●Python ●Ruby ●JavaScript ●ActionScript 3 ●Groovy (BSD) ●Perl ●PHP ●Smalltalk ●Self ●Newspeak (Apache License v2/SqL/MIT) ●Prolog ●Pure ●BASIC ●COBOL ●Factor (BSD) ●Neko ●Potion (MIT) ●Scheme ●Common Lisp ●HLVM (BSD) ●Ela ●SQLite Virtual Database Engine 被称为“编译型语言”的解释器实现: ●C ●C++ 嗯……Haskell、OCaml之类的语言也是有解释器实现的,也算在内。 还有些有趣的语言也是用解释器实现的。Fortress也有解释器,有机会也要拿来挖掘挖掘。 常用作嵌入式脚本的: ●Lua Terra ●Squirrel (zlib/libpng) ●AngelScript (zlib) ●JewelScript (zlib/libpng) 一些游戏引擎里的脚本引擎: ●吉里吉里2 ●RealLive ●AliceSoft ●NScripter ●Stuff スクリプトエンジン ●Unreal ●Torque Game Engine 有些EL(表达式语言,expression language)的实现也可以拿来讨论: ●MVEL ●janino (New BSD) ●Unified Expression Language (JSR 245) ●JSP 2.0 EL ●JEXL 一些模板引擎里其实也有树遍历式的解释器 ●Velocity (Apache License v2) 虽然自身不是HLL VM,但经常被用于HLL VM实现的: ●Low Level Virtual Machine (LLVM) (University of Illinois Open Source License) 年代久远的虚拟机: ●SECD 动态编译的先驱: ●Oberon 还有像Half-Life 2的SourceMod插件里也有JIT…SourcePawn? 各种机器像是游戏机的模拟器里自然也有高效的编译器或者说binary translator的实现 一些JIT库: ●Xbyak (BSD) ●asmjit (MIT) ●jitasm (BSD) ●libjit (LGPLv2.1) 一些GC库: ●Qish (LGPL) 生成解释器的工具: 下面这个有点离题,但非常强悍: ●Valgrind |
各种高级语言虚拟机
时间: 2024-10-04 03:44:08
各种高级语言虚拟机的相关文章
虚拟机字节码操作引擎-----基于栈的字节码解释引擎
虚拟机调用方法可以有解析和分派两种方式,那么虚拟机是如何执行方法中的字节码指令的? 1.解释执行 谈是解释执行还是翻译执行没有意义了,只有确定了某种具体的java实现版本和执行引擎运行模式时,谈解释执行还是编译执行才比较贴切. 如今,基于物理机.java虚拟机,或者非Java的其他高级语言虚拟机的语言,大多都会遵循这种基于现代经典编译原理的思路,在执行前先对程序源码进行词法分析和语法分析处理,把源码转化为抽象语法树 .对于一门具体语言的实现来说,词法分析.语法分析以致后面的优化器和目标代码生
java虚拟机和java内存区域概述
什么是虚拟机,什么是Java虚拟机 虚拟机 定义:模拟某种计算机体系结构,执行特定指令集的软件 系统虚拟机(Virtual Box.VMware),进程虚拟机 进程虚拟机 jvm.Adobe FlashPlayer.FC模拟器 高级语言虚拟机 JVM ..NET CLR.P-Code java语言虚拟机 可以执行Java语言的高级语言虚拟机.Java语言虚拟机并不一定就可以称为JVM,譬如: Apache Harmony JavaTM虚拟机 必须通过Java TCK(Technology Com
Java Hotspot G1 GC的一些关键技术
G1 GC,全称Garbage-First Garbage Collector,通过-XX:+UseG1GC参数来启用,作为体验版随着JDK 6u14版本面世,在JDK 7u4版本发行时被正式推出,相信熟悉JVM的同学们都不会对它感到陌生.在JDK 9中,G1被提议设置为默认垃圾收集器(JEP 248).在官网中,是这样描述G1的: The Garbage-First (G1) collector is a server-style garbage collector, targeted for
计算机组成原理答疑--来源于南京大学课件
1.数据通路宽度.机器字长.“字”宽.存储单元宽度.编址单位.总线宽度.指令字长各指什么?它们之间有何关系? 答:在计算机内部,有指令和数据两大类信息.指令和数据都以二进制形式存放在存储器中,运行程序时,需要把指令和数据从存储器读出,通过总线传输到CPU,然后,CPU再通过执行指令来对操作数进行相应的运算,最后把结果数据送到寄存器或存储器中.所以,在设计或使用计算机过程中,要涉及到:指令和数据在存储器中按什么长度存放:写入或读出时按什么长度存取:在总线上传输时同时传送多少位:数据和指令送到CPU
计算机体系结构2次阅读
计算机体系结构 白中英编 我还是准备再读一遍,至少整理一下,所有书本的(关于实在的知识)是共同的,要看书的表述和你的的理解. 不用过度在意细节. 第一章 体系结构相关概念 1. 对计算机描述的一种方法是基于层次,具体的说基于操作的语言层次: L0,硬联逻辑层,逻辑设计员,逻辑电路: L1,微程序机器层,微程序设计员,微程序就是微指令的集合,一个机器指令往往就是一段微程序,当然也可以超出机器指令: L2,传统机器层,机器语言程序员,指令集:L3,操作系统虚拟机:L4,汇编语言虚拟机:L5高级语言虚
JVM学习笔记:JVM的体系结构与JVM的生命周期
1 JVM在java平台中的位置 1.1 Java平台组成 Java平台主要由Java虚拟机和Java API这两部分组成.参考Oracle官网. 1.2 java平台结构图 JDK1.2开始,迫于Java运行始终笔C++慢的压力,JVM的结构也慢慢发生了一些变化,JVM在某些场景下可以操作一定的硬件平台,一些核心的Java库甚至也可以操作底层的硬件平台,从而大大提升了Java的执行效率.JDK1.2之后的整个java平台如下图所示: 1.3 JVM与JRE.JDK的关系 参照Oracle官网的
字节码解释执行引擎
虚拟机是如何执行方法中的字节码指令的.许多Java虚拟机的执行引擎在执行Java代码的时候都有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择,在解释执行时,虚拟机执行引擎是如何工作的. 解释执行 不论是解释还是编译,也不论是物理机还是虚拟机,对于应用程序,机器都不可能如人那样阅读.理解,然后就获得了执行能力.大部分的程序代码到物理机的目标代码或虚拟机能执行的指令集之前,都需要经过图中的各个步骤.很容易就会发现图中下面那条分支,就是传统编译原理中程序代码到目标机器代
虚拟化的层次与机制
最近几年随着并行计算.集群等技术的火热,虚拟机领域焕发了第二春.虚拟化就是指多台虚拟机共享一台物理机硬件的计算机体系结构技术.虚拟化的基本思想是分割软硬件以产生更好的系统性能(实际上,软硬件资源并没有增加,只是利用率提高了).一个例子就是常见的"虚拟内存",通过将一部分不用的磁盘写为页面文件,可以获得更大的内存地址空间,我们就可以跑更大的程序了. 1. 层次 我们都知道,传统方式是应用程序跑在操作系统上,而操作系统需要适应主机的特定体系结构,比如x86的机器上就只能跑win,linu
openjdk源码阅读导航
转自:http://rednaxelafx.iteye.com/blog/1549577 这是链接帖.主体内容都在各链接中. 怕放草稿箱里过会儿又坑掉了,总之先发出来再说…回头再慢慢补充内容. 先把ItEye网站上的信息聚合起来. 近期提问帖: 阅读openjdk源代码 如何来看OpenJDK源码 如何分析OpenJDK中JVM的实现 一个个回复太麻烦了,合在一块儿写这么一篇. ================ 前言 我的VM帖的索引 高级语言虚拟机(HLLVM)群组 新浪微群“JVM源码阅读活