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

staticdata: remove reinit_ccallable #56987

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

aviatesk
Copy link
Member

@aviatesk aviatesk commented Jan 8, 2025

If #56499 is merged, the functionality of jl_reinit_ccallable will become incomplete. However, it is questionable whether jl_reinit_ccallable is truly necessary. It seems to have been added in #44527, but all test cases appear to pass without it. Therefore, it might be safe to remove it altogether.

If #56499 is merged, the functionality of
`jl_reinit_ccallable` will become incomplete. However, it is
questionable whether `jl_reinit_ccallable` is truly necessary.
It seems to have been added in #44527, but all test cases
appear to pass without it. Therefore, it might be safe to remove it
altogether.
@aviatesk aviatesk requested review from vtjnash and timholy and removed request for vtjnash January 8, 2025 04:36
@vchuravy
Copy link
Member

vchuravy commented Jan 8, 2025

We might be missing test coverage, but I think PkgEval found this back then ...

Generally speaking a package that has a @ccallable and then a user who uses ccall to call it by name.

@gbaraldi
Copy link
Member

gbaraldi commented Jan 8, 2025

I believe @topolarity touched this last, (I might be imagining it). But still we need this functionality. Otherwise what restores the ccallable pointer?

@vchuravy
Copy link
Member

vchuravy commented Jan 8, 2025

We have a test here

Base.@ccallable Cint f35014(x::Cint) = x+Cint(1)
&
@eval begin function ccallable_test()

And CI does complain: "JIT session error: Symbols not found: [ f35014 ]"

Copy link
Member

@vchuravy vchuravy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code (or equivalent) is still needed as seen on CI.

@topolarity
Copy link
Member

I believe @topolarity touched this last

Yeah, I was fixing a bug in this space in #55813 but I don't think it affects this PR much

@vtjnash
Copy link
Member

vtjnash commented Jan 8, 2025

Generally speaking a package that has a @ccallable and then a user who uses ccall to call it by name.

@vtjnash
Copy link
Member

vtjnash commented Jan 8, 2025

The test is for llvmcall, which is all experimental and can therefore just be deleted

@Keno
Copy link
Member

Keno commented Jan 8, 2025

Can you elaborate of what the difficulty of #56499 with jl_reinit_ccallable is? If we have a test for it that does raise the likelyhood that people are depending on it.

@vtjnash
Copy link
Member

vtjnash commented Jan 8, 2025

I fixed the test for CI, so that it uses the stable ccall interface instead of the unstable llvmcall one

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

Successfully merging this pull request may close these issues.

6 participants