在对invokeDynamic做了很多阅读之后,我仍然有点困惑。一个重复的主题似乎是Clojure实际上并不需要它,或者至少比JVM上的其他动态语言实现更少需要它(Jruby,JPython,Groovy等.).我不了解所有细节,但似乎有类型注释是主要原因,它简单地消除了动态调度问题。
1-将调用动态描述为有效实现复杂方法调度场景的方式是否安全?(还有更多吗?)
2-不应该有一个 jit 消除对调用动态的需要吗?问题似乎是由于缺少运行时类型信息而引起的,jit应该有这些信息。
3-JRuby好像有个jit,用invokdynamic,为什么?