2

如何让 SICStus Prolog JIT使用以下任何ISA

我需要它们来为增压。现在,我得到了:

  1. http://www.hackersdelight.org/

  2. 非 ISO 算术函数msb/1

一开始很好,但我想要更多请帮忙!

4

1 回答 1

3

不幸的是,对于这种情况,用户无法扩展 JIT。

我一直在考虑从 Prolog 访问人口计数指令(用于一些不相关的用途)。添加此指令和其他类似指令的方法是:

  1. 将新的算术指令添加到is/2. 这需要我们所有的代码都支持,而不仅仅是 JIT 编译的代码,还有解释器、WAM 模拟器、各种内部字节码处理器、我们IDE中的所有静态分析器等。
  2. 添加 JIT 编译,它只是回调到运行时系统中相应的 C 例程。
  3. 如果可以证明它可以充分提高性能,则让 JIT 编译器为具有它们的目标发出专用 CPU 指令。

(1) 需要足够的用户需求(当然也需要明确的融资)。(3) 需要令人信服的基准。目前这些都不可用,但当然,这可能会改变。

于 2019-09-30T10:19:23.097 回答