符号表)转换成字节码写到磁盘中,编译器还进行了少量的代码添加和转换工作 Ruby原理剖析36页: 在解析完 词条生成AST之后,Ruby1.9和Ruby2.0继续把代码编译成一系列的底层指令,叫做YARV 指令 这里的YARV是Ruby的字节码解释器,而YARV指令自然就是对应的字节码。
当时 Ruby 1.9 也是第一次引入了字节码,名为 YARV,由笹田耕一领导主导开发完成。 而 YARV 则把抽象语法树(AST)先编译成字节码,然后再运行。引入字节码之后,Ruby 的性能得到了显著的提升。 而这次 V8 引入字节码却是向着相反的方向后退。
JavaScript源码的编译器 ColdRuby:一个Ruby 1.9 MRI字节码编译器和JS运行时,包括一个C++运行时以及用于本地执行的V8引擎 HotRuby:可以在浏览器内部或Flash平台上运行由YARV