Core.Builtins
Builtin Function APIs
The following Builtin function APIs are considered unstable, but provide the basic definitions for what defines the abilities and behaviors of a Julia program. They are typically accessed through a higher level generic API.
Core.memoryref
— FunctionCore.memoryref(::GenericMemory)
Core.memoryref(::GenericMemoryRef, index::Int, [boundscheck::Bool])
Return a GenericMemoryRef
for a GenericMemory
. See MemoryRef
.
This function requires Julia 1.11 or later.
Core.memoryrefoffset
— FunctionCore..memoryrefoffset(::GenericMemoryRef)
Return the offset index that was used to construct the MemoryRef
. See Core.memoryref
.
This function requires Julia 1.11 or later.
Core.memoryrefget
— FunctionCore.memoryrefget(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)
Return the value stored at the MemoryRef
, throwing a BoundsError
if the Memory
is empty. See ref[]
. The memory ordering specified must be compatible with the isatomic
parameter.
This function requires Julia 1.11 or later.
Core.memoryrefset!
— FunctionCore.memoryrefset!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)
Store the value to the MemoryRef
, throwing a BoundsError
if the Memory
is empty. See ref[] = value
. The memory ordering specified must be compatible with the isatomic
parameter.
This function requires Julia 1.11 or later.
Core.memoryref_isassigned
— FunctionCore.memoryref_isassigned(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)
Return whether there is a value stored at the MemoryRef
, returning false if the Memory
is empty. See isassigned(::Base.RefValue)
, Core.memoryrefget
. The memory ordering specified must be compatible with the isatomic
parameter.
This function requires Julia 1.11 or later.
Core.memoryrefswap!
— FunctionCore.memoryrefswap!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)
Atomically perform the operations to simultaneously get and set a MemoryRef
value.
This function requires Julia 1.11 or later.
See also swapproperty!
and Core.memoryrefset!
.
Core.memoryrefmodify!
— FunctionCore.memoryrefmodify!(::GenericMemoryRef, op, value, ordering::Symbol, boundscheck::Bool) -> Pair
Atomically perform the operations to get and set a MemoryRef
value after applying the function op
.
This function requires Julia 1.11 or later.
See also modifyproperty!
and Core.memoryrefset!
.
Core.memoryrefreplace!
— FunctionCore.memoryrefreplace!(::GenericMemoryRef, expected, desired,
success_order::Symbol, fail_order::Symbol=success_order, boundscheck::Bool) -> (; old, success::Bool)
Atomically perform the operations to get and conditionally set a MemoryRef
value.
This function requires Julia 1.11 or later.
See also replaceproperty!
and Core.memoryrefset!
.
Core.memoryrefsetonce!
— FunctionCore.memoryrefsetonce!(::GenericMemoryRef, value,
success_order::Symbol, fail_order::Symbol=success_order, boundscheck::Bool) -> success::Bool
Atomically perform the operations to set a MemoryRef
to a given value, only if it was previously not set.
This function requires Julia 1.11 or later.
See also setpropertyonce!
and Core.memoryrefset!
.
Core.Intrinsics.atomic_pointerref
— FunctionCore.Intrinsics.atomic_pointerref(pointer::Ptr{T}, order::Symbol) --> T
This function requires Julia 1.7 or later.
See unsafe_load
.
Core.Intrinsics.atomic_pointerset
— FunctionCore.Intrinsics.atomic_pointerset(pointer::Ptr{T}, new::T, order::Symbol) --> pointer
This function requires Julia 1.7 or later.
See unsafe_store!
.
Core.Intrinsics.atomic_pointerswap
— FunctionCore.Intrinsics.atomic_pointerswap(pointer::Ptr{T}, new::T, order::Symbol) --> old
This function requires Julia 1.7 or later.
See unsafe_swap!
.
Core.Intrinsics.atomic_pointermodify
— FunctionCore.Intrinsics.atomic_pointermodify(pointer::Ptr{T}, function::(old::T,arg::S)->T, arg::S, order::Symbol) --> old
This function requires Julia 1.7 or later.
See unsafe_modify!
.
Core.Intrinsics.atomic_pointerreplace
— FunctionCore.Intrinsics.atomic_pointerreplace(pointer::Ptr{T}, expected::Any, new::T, success_order::Symbol, failure_order::Symbol) --> (old, cmp)
This function requires Julia 1.7 or later.
See unsafe_replace!
.
Core.get_binding_type
— FunctionCore.get_binding_type(module::Module, name::Symbol)
Retrieve the declared type of the binding name
from the module module
.
This function requires Julia 1.9 or later.
Core.set_binding_type!
— FunctionCore.set_binding_type!(module::Module, name::Symbol, [type::Type])
Set the declared type of the binding name
in the module module
to type
. Error if the binding already has a type that is not equivalent to type
. If the type
argument is absent, set the binding type to Any
if unset, but do not error.
This function requires Julia 1.9 or later.
Core.IntrinsicFunction
— TypeCore.IntrinsicFunction <: Core.Builtin <: Function
The Core.IntrinsicFunction
function define some basic primitives for what defines the abilities and behaviors of a Julia program
Core.Intrinsics
— ModuleCore.Intrinsics
The Core.Intrinsics
module holds the Core.IntrinsicFunction
objects.
Core.IR
— ModuleCore.IR
The Core.IR
module exports the IR object model.