[Truffle] IndirectCallNode vs. another inline cache?
Stefan Marr
java at stefan-marr.de
Mon Jul 7 14:29:53 UTC 2014
Hi Christian:
On 07 Jul 2014, at 14:51, Christian Humer <christian.humer at gmail.com> wrote:
>> I was wondering how exactly IndirectCallNode is optimized and what the characteristics are compared to using another inline cache.
>> Are the performance characteristics supposed to be similar?
>>
> No. IndirectCallNode does not implement an inline cache. The inline cache for calls is guest language specific at the moment.
> For DirectCallNodes inlining and splitting may be performed.
> For IndirectCallNodes inlining and splitting is not performed.
Ok, that’s what I wanted to know. And I already switched to another custom inline cache.
> However we plan to add an implementation of a call inline cache to the Truffle API.
What exactly do you plan? Do you plan support for inline caches in the TruffleDSL?
Looking at the different caches I got, they look extremely similar. I actually tried to keep them as similar as possible, because I think that much of the boilerplate could be generate. It is always the same structure. Only the cache key, the test, the initialization/specialization logic, and the passed parameters, and the implementation for the general case differ.
Around that, I got a very repetitive structure.
> Also, how are the interactions with tree inlining and splitting, etc?
>
>> There are quite a few interactions between them.
Sorry for the unclear question, it was in the context of IndirectCallNodes, but that seems to be answered, thanks.
Best regards
Stefan
--
Stefan Marr
INRIA Lille - Nord Europe
http://stefan-marr.de/research/
More information about the graal-dev
mailing list