其他分享
首页 > 其他分享> > 脚本语言解释器如何引用其基础功能?

脚本语言解释器如何引用其基础功能?

作者:互联网

当涉及脚本解释器时,例如Rhino,Google V8,Python等-仅给出一串脚本语言,是否有任何通用方法来确定底层本机方法?

在某些时候,这些解释器是否将带有字符串的哈希映射用于键?还是有很多字符串相等性测试和分支?

解决方法:

他们通常将哈希映射与字符串键一起使用,但是通常会缓存功能查找的结果,以避免在数纳秒后再次进行完全相同的查找.

当然,如果发生某些疯狂的事情,例如程序分配给或删除该函数,则必须清除缓存.

一旦填充了缓存,JIT编译器就可以使用inline caching使可预测的函数调用运行得非常快.

编译器甚至可以吐出直接调用底层函数的机器代码.同样,如果程序替换或删除了该功能,则编译后的代码将变为无效;因此,解释器必须有一种方法可以检测到这种情况并更新或丢弃无效的JIT代码.

标签:hashmap,interpreter,v8,python,rhino
来源: https://codeday.me/bug/20191127/2077000.html