我正在尝试使用 LLVM C API 为动态语言构建 JIT 编译器,但我坚持实现动态类型,例如在函数定义中,LLVM 需要每个参数的类型,但类型在运行时之前是未知的,基于什么用户通行证,我用谷歌搜索了一段时间,但没有任何关于它的好资源,我也尝试查看 Julia 的源代码,看看他们是如何做到的,不幸的是代码又大又复杂,我不得不到处寻找这样的一个小细节,从我目前看到的情况来看,它们将它们的类型表示为一个空的 LLVM 结构指针和一个保存一些额外数据的 func sig 类型,但我非常不确定它是如何工作的,或者即使我是解释正确,任何资源都可能有帮助,最感谢示例代码,示例不必使用 C API,C++ 也很好,我会以一种或另一种方式自己转换它。
提前致谢。