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

Proposal: run all ccall/llvmcall functions in Compiled mode #460

Open
timholy opened this issue Dec 17, 2020 · 2 comments
Open

Proposal: run all ccall/llvmcall functions in Compiled mode #460

timholy opened this issue Dec 17, 2020 · 2 comments

Comments

@timholy
Copy link
Member

timholy commented Dec 17, 2020

Most of the remaining bugs seem to have to do with ccall and llvmcall. Here's a daring proposal: when we're constructing the framecode, what if we scan it and return Compiled() whenever we detect a :foreigncall or :llvmcall? That's basically just giving up on our optimizations that snip these out into separate functions; instead it says that any method that contains a ccall in it is one you can't step into.

Obviously this will reduce the number of methods accessible to JuliaInterpreter, but I've not noticed much of a chorus of "I can't step into this function" for the list of things we've added to compiled_methods. Of course this would expand them a lot, but 🤷?

@VarLad
Copy link

VarLad commented Nov 17, 2021

Any way to run ccall with JuliaInterpretter?
Such that we can use ccall with julia --compile=no

@KristofferC
Copy link
Member

No, JuliaInterpreter ends up asking the Julia compiler to run the ccall:

compiled_calls[cc_key] = f
.

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

3 participants