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

hook up runtime intrinsics #18382

Merged
merged 3 commits into from
Sep 7, 2016
Merged

hook up runtime intrinsics #18382

merged 3 commits into from
Sep 7, 2016

Conversation

vtjnash
Copy link
Sponsor Member

@vtjnash vtjnash commented Sep 6, 2016

This long-overdue PR makes the intrinsic functions work just like normal builtin functions instead of requiring special rules in the compiler.

incorporates parts of jn/jlinterpreter and #14918

…ocator::eraseFunction doesn't delete our global

this only comes up if a finalizer runs something that wasn't already compiled
which currently apparently doesn't happen on master
and fix runtime setting of intrinsic properties array
{
jl_sym_t *sname = jl_symbol(name);
jl_value_t *f = jl_new_generic_function_with_supertype(sname, jl_core_module, jl_builtin_type, 0);
if (dt == NULL) {
jl_value_t *f = jl_new_generic_function_with_supertype(sname, jl_core_module, jl_builtin_type, 0);
Copy link
Contributor

Choose a reason for hiding this comment

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

indent slightly off here

now IntrinsicFunctions works just like any other BuiltinFunction
(except for ccall and llvmcall, which don't yet have runtime versions)
@vtjnash vtjnash merged commit e3d3b3a into master Sep 7, 2016
@vtjnash vtjnash deleted the jn/runtime-intrinsics branch September 7, 2016 18:14
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.

None yet

4 participants