We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.
I think the two approaches are incompatible with each other, since @Executed will call executeGeneric(), while what we need to call in FunctionCallExprNode is evaluateAsReceiver().
In my implementation, I had changed the
FunctionCallExprNodenode to use specializations and made the targetFunction@Executed. This resulted in a significant boost in performance in GraalVM 23+ (nearly 15% for the fibonacci benchmark on my M1 2020 macbook with 8GB RAM with GraalVM 24 and about 8% with GraalVM 25 early access).Is there a way to keep this implementation and still separate the evaluation of the receiver and function?? A nudge in the right direction will be appreciated.