weliveindetail wrote:

Alright. The above change makes it as cheap as it gets with an abstraction: 
virtual function calls only on init and one function pointer call for each 
processed statement.

> I was wondering if we can extend that functionality via a callback mechanism 

How would that look like? I assume the runtime interface will have other 
functions than `getCall()` in the future right? Then we need to keep it as an 
entity. What is the difference between a callback and the virtual function call 
from the first patch?

We can change it to provide function pointers instead like in my last patch. 
It's less idiomatic but a bit cheaper. Of course we could use `std::function` 
callbacks and capturing lambdas instead, but I am afraid that would be even 
more expensive than the virtual function proposal.

> We also have some pending work (which I was planning on working when time 
> permits) in that area [D146809](https://reviews.llvm.org/D146809). I was 
> wondering if that'd interfere with your work...

Your patch doesn't actually touch the `RuntimeInterfaceBuilder`, so this should 
be no problem.


https://github.com/llvm/llvm-project/pull/83126
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to