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

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

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

解决方法:

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

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

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

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

上一篇:[leetcode]经典算法题- String to Integer (atoi)


下一篇:嵌入式开发-迅为4418开发板Android4.4.4实现ble功能