# 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.memoryrefnew` — Function

    Core.memoryrefnew(::GenericMemory)
    Core.memoryrefnew(::GenericMemoryRef, index::Int, [boundscheck::Bool])

Return a `GenericMemoryRef` for a `GenericMemory`. See `memoryref`.

Julia 1.11

This function requires Julia 1.11 or later.

source
`Core.memoryrefoffset` — Function

    Core..memoryrefoffset(::GenericMemoryRef)

Return the offset index that was used to construct the `MemoryRef`. See `memoryref`.

Julia 1.11

This function requires Julia 1.11 or later.

source
`Core.memoryrefget` — Function

    Core.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.

Julia 1.11

This function requires Julia 1.11 or later.

source
`Core.memoryrefset!` — Function

    Core.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.

Julia 1.11

This function requires Julia 1.11 or later.

source
`Core.memoryref_isassigned` — Function

    Core.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.

Julia 1.11

This function requires Julia 1.11 or later.

source
`Core.memoryrefswap!` — Function

    Core.memoryrefswap!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)

Atomically perform the operations to simultaneously get and set a `MemoryRef` value.

Julia 1.11

This function requires Julia 1.11 or later.

See also `swapproperty!` and `Core.memoryrefset!`.

source
`Core.memoryrefmodify!` — Function

    Core.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`.

Julia 1.11

This function requires Julia 1.11 or later.

See also `modifyproperty!` and `Core.memoryrefset!`.

source
`Core.memoryrefreplace!` — Function

    Core.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.

Julia 1.11

This function requires Julia 1.11 or later.

See also `replaceproperty!` and `Core.memoryrefset!`.

source
`Core.memoryrefsetonce!` — Function

    Core.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.

Julia 1.11

This function requires Julia 1.11 or later.

See also `setpropertyonce!` and `Core.memoryrefset!`.

source
`Core.Intrinsics.atomic_pointerref` — Function

    Core.Intrinsics.atomic_pointerref(pointer::Ptr{T}, order::Symbol) --> T

Julia 1.7

This function requires Julia 1.7 or later.

See `unsafe_load`.

source
`Core.Intrinsics.atomic_pointerset` — Function

    Core.Intrinsics.atomic_pointerset(pointer::Ptr{T}, new::T, order::Symbol) --> pointer

Julia 1.7

This function requires Julia 1.7 or later.

See `unsafe_store!`.

source
`Core.Intrinsics.atomic_pointerswap` — Function

    Core.Intrinsics.atomic_pointerswap(pointer::Ptr{T}, new::T, order::Symbol) --> old

Julia 1.7

This function requires Julia 1.7 or later.

See `unsafe_swap!`.

source
`Core.Intrinsics.atomic_pointermodify` — Function

    Core.Intrinsics.atomic_pointermodify(pointer::Ptr{T}, function::(old::T,arg::S)->T, arg::S, order::Symbol) --> old

Julia 1.7

This function requires Julia 1.7 or later.

See `unsafe_modify!`.

source
`Core.Intrinsics.atomic_pointerreplace` — Function

    Core.Intrinsics.atomic_pointerreplace(pointer::Ptr{T}, expected::Any, new::T, success_order::Symbol, failure_order::Symbol) --> (old, cmp)

Julia 1.7

This function requires Julia 1.7 or later.

See `unsafe_replace!`.

source
`Core.get_binding_type` — Function

    Core.get_binding_type(module::Module, name::Symbol)

Retrieve the declared type of the binding `name` from the module `module`.

Julia 1.9

This function requires Julia 1.9 or later.

source
`Core.IntrinsicFunction` — Type

    Core.IntrinsicFunction <: Core.Builtin <: Function

The `Core.IntrinsicFunction` function define some basic primitives for what defines the abilities and behaviors of a Julia program

source
`Core.Intrinsics` — Module

    Core.Intrinsics

The `Core.Intrinsics` module holds the `Core.IntrinsicFunction` objects.

source
`Core.IR` — Module

    Core.IR

The `Core.IR` module exports the IR object model.

source

Theme

This document was generated with Documenter.jl version 1.16.0 on Thursday 20 November 2025. Using Julia version 1.12.2.