Google Native Client使得可以从服务器向浏览器发送标准的本机代码并执行它。代码运行速度很快。
最近,Mozilla发布了名为IonMonkey的新JavaScript VM,名为Middle-level Intermediate Representation。首先,将JavaScript转换为MIR,然后应用优化,然后生成本机代码。
是否可以像使用Native Client一样将MIR从服务器发送到浏览器?
Mozilla是否有任何计划使其成为可能?
Mozilla IonMonkey MIR可以变成类似于Google Native Client代码吗?
最佳答案
无法将MIR从服务器发送到浏览器。
没有计划使之成为可能。一方面,这将需要构建一个MIR验证器,并且没有构建一个MIR验证器的计划。此外,MIR取决于运行时观察到的类型信息。要使其可序列化,还需要对该类型信息进行序列化和反序列化,并在反序列化时将其传播到JS引擎的非MIR部分。这是一项很好的工作,带来了可疑的好处:生成的代码将比JS源代码大得多,并且一旦完成所有的验证和验证工作,就不清楚转换为二进制代码的速度会更快。没什么。