-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Re-introduce the single arg contract call optimisation for IR. #1272
Conversation
f7103c1
to
3bedde4
Compare
3bedde4
to
ae3142e
Compare
Argh, the E2E test is failing, I assume because the code expects the single arg optimisation but the IR doesn't compile them. But I may be wrong... it's getting late for me, I'll revisit tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice to see stdlib tests re-enabled! Needs another set of eyes on IR stuff as I'm not familiar enough with it to give a thorough review.
86e45b6
to
da47b75
Compare
Re-introduce the special case where if there's a single argument to a function call it is embedded directly in the call frame rather than being a pointer to the args elsewhere.
da47b75
to
e5064f8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// the unnecessary copying eventually, though it feels like we're jumping | ||
// through a bunch of hoops here (employing the single arg optimisation) for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@otrho is letting his political opinions leak into the code again
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's just an observation. No judgement. 🙂
Re-introduce the special case where if there's a single argument to a function call it is embedded directly in the call frame rather than being a pointer to the args elsewhere.
This will fix for errors we currently get when trying to call some contract from the SDK.
I'm halfway through working out what else needs to be fixed for contract calls + SDK but I've been on the road a bit and haven't had time. So I thought I'd submit this PR now in case it's blocking anyone.
Closes #1138.