DevilKing's blog

冷灯看剑,剑上几分功名?炉香无需计苍生,纵一穿烟逝,万丈云埋,孤阳还照古陵

0%

JIT Compile

原文链接

其实不管jit的表现形式是怎样的,最后的本质一定是:

  • 在「runtime」期间,直接往「process的内存空间」注入「机器码」并执行代码。

因此到最后,实现方式一定是:

  • 在当前process里面划分出一片内存空间。
  • 将划分出来的内存空间标记为「可执行」。
  • 将运行时动态产生的机器码直接写入划分的内存空间。
  • 将「PC寄存器」(程序指针)指向上面产生的代码的起始位置。
  • 执行动态产生的代码。
  • 根据实际需求,销毁或保留上面申请到的内存空间。

原文链接2