> In short, it leverages the inherent type information of a PIC to speculatively inline jitted methods directly at their call sites.
I'm not sure if you were suggesting that this was unique or novel, but the technique has been around since 1991 and most JITs for languages like Java, Smalltalk, Python, Ruby, etc already do this.
In many cases in those language, if we couldn't do this there wouldn't be any inlining at all and performance would be terrible.
I mean it inlines the the method itself at the callsite, eliding the overhead of a method invocation altogether, whereas a normal (P)IC simply elides the overhead of a class+selector method lookup.
Yeah I get that - but this inlining of the method itself within an IC, removing the method call overhead, has been done in every non-trivial dynamic language VM since the early 90s.
I'm not sure if you were suggesting that this was unique or novel, but the technique has been around since 1991 and most JITs for languages like Java, Smalltalk, Python, Ruby, etc already do this.
In many cases in those language, if we couldn't do this there wouldn't be any inlining at all and performance would be terrible.