Wei Wu / @lazyparser

PLCT Lab. OSDT/HelloGCC/HelloLLVM. RISC-V Ambassador.

Download as .zip Download as .tar.gz View on GitHub

本文的内容整理自 https://wiki.mozilla.org/IonMonkey/Overview

IonMonkey的代码位于“Mozilla-central/js/src/ion”目录下,目前有149个文件,4个子目录,代码43679行。从编译器的角度来说这个代码的规模还不算大,结构相对简单。根据Mozilla Wiki的这张结构图可以看到IonMonkey使用了MIR和LIR两层IR结构:

[caption id=”attachment_341” align=”aligncenter” width=”522”]Ionmonkey_overview IonMonkey结构[/caption]

IonMonkey的代码可以按照这张结构图分成以下几个部分: