Skip to content
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

Idea: no-store and no-load FFI calling convention annotations #232

Open
lukego opened this issue Feb 11, 2019 · 0 comments
Open

Idea: no-store and no-load FFI calling convention annotations #232

lukego opened this issue Feb 11, 2019 · 0 comments

Comments

@lukego
Copy link
Contributor

lukego commented Feb 11, 2019

Here is an idea to optimize calls to FFI code when we know that the call won't load and/or store C values that might be cached in JIT registers. This complements #231 to solve #230.

The idea is simply to declare when a load and/or store barrier is not needed as in:

void __noload foo();
void __nostore bar();
void __noload __nostore baz();

This would make calls to "pure" functions efficient e.g. to an assembler routine that loads the CPU timestamp from RDTSCP without touching memory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant