libAtomVM Indexļƒ

__attribute__

Public Members

char magic[4]
uint32_t size
uint32_t info_size
uint32_t version
uint32_t opcode_max
uint32_t labels
uint32_t functions_count
uint8_t code[1]
struct AtomsHashTable

Collaboration diagram for AtomsHashTable:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="AtomsHashTable" tooltip="AtomsHashTable" fillcolor="#BFBFBF"]
    "2" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

int capacity
int count
RWLock *lock
struct HNode **buckets
struct AtomStringIntPair

Public Members

AtomString as_val
int i_val
struct AtomTable

Collaboration diagram for AtomTable:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="HNodeGroup" tooltip="HNodeGroup"]
    "1" [label="AtomTable" tooltip="AtomTable" fillcolor="#BFBFBF"]
    "2" [label="HNode" tooltip="HNode"]
    "3" -> "2" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

int capacity
int count
int last_node_group_avail
RWLock *lock
struct HNode **buckets
struct HNodeGroup *first_node_group
struct HNodeGroup *last_node_group
struct AVMPackData

Collaboration diagram for AVMPackData:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="AVMPackData" tooltip="AVMPackData" fillcolor="#BFBFBF"]
    "3" [label="ListHead" tooltip="ListHead"]
    "2" [label="AVMPackInfo" tooltip="AVMPackInfo"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
}

Public Members

const struct AVMPackInfo *obj_info
struct ListHead avmpack_head
bool in_use
int name_atom_id
const void *data
struct AVMPackInfo

Public Members

void (*destructor)(struct AVMPackData *obj, GlobalContext *global)
struct Bif

Collaboration diagram for Bif:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "20" [label="SpinLock" tooltip="SpinLock"]
    "8" [label="Module" tooltip="Module"]
    "7" [label="ListHead" tooltip="ListHead"]
    "12" [label="HeapFragment" tooltip="HeapFragment"]
    "13" [label="GlobalContext" tooltip="GlobalContext"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "16" [label="HNodeGroup" tooltip="HNodeGroup"]
    "19" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "5" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" [label="Bif" tooltip="Bif" fillcolor="#BFBFBF"]
    "11" [label="Heap" tooltip="Heap"]
    "3" [label="Context" tooltip="Context"]
    "18" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "4" [label="Mailbox" tooltip="Mailbox"]
    "14" [label="AtomTable" tooltip="AtomTable"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "6" [label="TimerListItem" tooltip="TimerListItem"]
    "17" [label="SyncList" tooltip="SyncList"]
    "15" [label="HNode" tooltip="HNode"]
    "8" -> "2" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "8" -> "7" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "12" -> "12" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "17" [dir=forward tooltip="usage"]
    "13" -> "8" [dir=forward tooltip="usage"]
    "13" -> "18" [dir=forward tooltip="usage"]
    "13" -> "19" [dir=forward tooltip="usage"]
    "13" -> "20" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "16" -> "15" [dir=forward tooltip="usage"]
    "16" -> "16" [dir=forward tooltip="usage"]
    "19" -> "7" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "6" [dir=forward tooltip="usage"]
    "3" -> "8" [dir=forward tooltip="usage"]
    "3" -> "11" [dir=forward tooltip="usage"]
    "3" -> "13" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="usage"]
    "18" -> "15" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "16" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "17" -> "7" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
BifImpl0 bif0_ptr
BifImpl1 bif1_ptr
BifImpl2 bif2_ptr
union Bif::[anonymous] [anonymous]
struct BuiltInAtomRequestSignal

Collaboration diagram for BuiltInAtomRequestSignal:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="BuiltInAtomRequestSignal" tooltip="BuiltInAtomRequestSignal" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
int32_t sender_pid
term atom
struct BuiltInAtomSignal

Collaboration diagram for BuiltInAtomSignal:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="BuiltInAtomSignal" tooltip="BuiltInAtomSignal" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
term atom
struct CharDataToBytesAcc

Collaboration diagram for CharDataToBytesAcc:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="HeapFragment" tooltip="HeapFragment"]
    "2" [label="Heap" tooltip="Heap"]
    "1" [label="CharDataToBytesAcc" tooltip="CharDataToBytesAcc" fillcolor="#BFBFBF"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

enum CharDataEncoding in_encoding
enum CharDataEncoding out_encoding
uint8_t *output
term *rest
Heap *heap
bool badarg
bool incomplete_transform
struct CharDataToBytesSizeAcc

Public Members

enum CharDataEncoding in_encoding
enum CharDataEncoding out_encoding
size_t size
size_t rest_size
bool badarg
bool incomplete_transform
struct ConstAVMPack

Collaboration diagram for ConstAVMPack:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="AVMPackData" tooltip="AVMPackData"]
    "4" [label="ListHead" tooltip="ListHead"]
    "3" [label="AVMPackInfo" tooltip="AVMPackInfo"]
    "1" [label="ConstAVMPack" tooltip="ConstAVMPack" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct AVMPackData base
struct Context

Collaboration diagram for Context:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "19" [label="SpinLock" tooltip="SpinLock"]
    "6" [label="Module" tooltip="Module"]
    "5" [label="ListHead" tooltip="ListHead"]
    "11" [label="HeapFragment" tooltip="HeapFragment"]
    "12" [label="GlobalContext" tooltip="GlobalContext"]
    "8" [label="ModuleFilename" tooltip="ModuleFilename"]
    "15" [label="HNodeGroup" tooltip="HNodeGroup"]
    "18" [label="TimerList" tooltip="TimerList"]
    "9" [label="LiteralEntry" tooltip="LiteralEntry"]
    "3" [label="MailboxMessage" tooltip="MailboxMessage"]
    "10" [label="Heap" tooltip="Heap"]
    "1" [label="Context" tooltip="Context" fillcolor="#BFBFBF"]
    "17" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "2" [label="Mailbox" tooltip="Mailbox"]
    "13" [label="AtomTable" tooltip="AtomTable"]
    "7" [label="ExportedFunction" tooltip="ExportedFunction"]
    "4" [label="TimerListItem" tooltip="TimerListItem"]
    "16" [label="SyncList" tooltip="SyncList"]
    "14" [label="HNode" tooltip="HNode"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "6" -> "8" [dir=forward tooltip="usage"]
    "6" -> "9" [dir=forward tooltip="usage"]
    "6" -> "5" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "11" -> "11" [dir=forward tooltip="usage"]
    "12" -> "13" [dir=forward tooltip="usage"]
    "12" -> "16" [dir=forward tooltip="usage"]
    "12" -> "6" [dir=forward tooltip="usage"]
    "12" -> "17" [dir=forward tooltip="usage"]
    "12" -> "18" [dir=forward tooltip="usage"]
    "12" -> "19" [dir=forward tooltip="usage"]
    "12" -> "5" [dir=forward tooltip="usage"]
    "15" -> "14" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
    "18" -> "5" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "10" -> "11" [dir=forward tooltip="usage"]
    "1" -> "1" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "4" [dir=forward tooltip="usage"]
    "1" -> "6" [dir=forward tooltip="usage"]
    "1" -> "10" [dir=forward tooltip="usage"]
    "1" -> "12" [dir=forward tooltip="usage"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "17" -> "14" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "15" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "16" -> "5" [dir=forward tooltip="usage"]
    "14" -> "14" [dir=forward tooltip="usage"]
}

Public Members

GlobalContext *global
Heap heap
term *e
term x[MAX_REG]
struct ListHead processes_list_head
struct ListHead processes_table_head
int32_t process_id
struct TimerListItem timer_list_head
struct ListHead monitors_head
avm_float_t *fr
size_t min_heap_size
size_t max_heap_size
enum HeapGrowthStrategy heap_growth_strategy
unsigned long cp
Module *saved_module
const void *saved_ip
void *restore_trap_handler
Mailbox mailbox
struct ListHead dictionary
native_handler_f native_handler
uint64_t reductions
unsigned int leader
unsigned int has_min_heap_size
unsigned int has_max_heap_size
bool trap_exit
enum ContextFlags ATOMIC flags
void *platform_data
term group_leader
term bs
size_t bs_offset
term exit_reason
struct ContextAccumulator

Collaboration diagram for ContextAccumulator:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "20" [label="SpinLock" tooltip="SpinLock"]
    "7" [label="Module" tooltip="Module"]
    "6" [label="ListHead" tooltip="ListHead"]
    "12" [label="HeapFragment" tooltip="HeapFragment"]
    "13" [label="GlobalContext" tooltip="GlobalContext"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "16" [label="HNodeGroup" tooltip="HNodeGroup"]
    "19" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "4" [label="MailboxMessage" tooltip="MailboxMessage"]
    "11" [label="Heap" tooltip="Heap"]
    "2" [label="Context" tooltip="Context"]
    "18" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "1" [label="ContextAccumulator" tooltip="ContextAccumulator" fillcolor="#BFBFBF"]
    "3" [label="Mailbox" tooltip="Mailbox"]
    "14" [label="AtomTable" tooltip="AtomTable"]
    "8" [label="ExportedFunction" tooltip="ExportedFunction"]
    "5" [label="TimerListItem" tooltip="TimerListItem"]
    "17" [label="SyncList" tooltip="SyncList"]
    "15" [label="HNode" tooltip="HNode"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "7" -> "9" [dir=forward tooltip="usage"]
    "7" -> "10" [dir=forward tooltip="usage"]
    "7" -> "6" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
    "12" -> "12" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "17" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "13" -> "18" [dir=forward tooltip="usage"]
    "13" -> "19" [dir=forward tooltip="usage"]
    "13" -> "20" [dir=forward tooltip="usage"]
    "13" -> "6" [dir=forward tooltip="usage"]
    "16" -> "15" [dir=forward tooltip="usage"]
    "16" -> "16" [dir=forward tooltip="usage"]
    "19" -> "6" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "5" [dir=forward tooltip="usage"]
    "2" -> "7" [dir=forward tooltip="usage"]
    "2" -> "11" [dir=forward tooltip="usage"]
    "2" -> "13" [dir=forward tooltip="usage"]
    "2" -> "6" [dir=forward tooltip="usage"]
    "18" -> "15" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "16" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "17" -> "6" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
}

Public Members

Context *ctx
term result
struct CtrDrbgResource

Public Members

mbedtls_ctr_drbg_context context
struct DictEntry

Collaboration diagram for DictEntry:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" [label="DictEntry" tooltip="DictEntry" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
term key
term value
struct dreg_gc_safe_t

Public Members

term *base
int index
struct EntropyContextResource

Public Members

mbedtls_entropy_context context
struct ErlNifEnv

Collaboration diagram for ErlNifEnv:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="SpinLock" tooltip="SpinLock"]
    "10" [label="Module" tooltip="Module"]
    "9" [label="ListHead" tooltip="ListHead"]
    "3" [label="HeapFragment" tooltip="HeapFragment"]
    "4" [label="GlobalContext" tooltip="GlobalContext"]
    "12" [label="ModuleFilename" tooltip="ModuleFilename"]
    "7" [label="HNodeGroup" tooltip="HNodeGroup"]
    "15" [label="TimerList" tooltip="TimerList"]
    "13" [label="LiteralEntry" tooltip="LiteralEntry"]
    "2" [label="Heap" tooltip="Heap"]
    "14" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "1" [label="ErlNifEnv" tooltip="ErlNifEnv" fillcolor="#BFBFBF"]
    "5" [label="AtomTable" tooltip="AtomTable"]
    "11" [label="ExportedFunction" tooltip="ExportedFunction"]
    "8" [label="SyncList" tooltip="SyncList"]
    "6" [label="HNode" tooltip="HNode"]
    "10" -> "11" [dir=forward tooltip="usage"]
    "10" -> "12" [dir=forward tooltip="usage"]
    "10" -> "13" [dir=forward tooltip="usage"]
    "10" -> "9" [dir=forward tooltip="usage"]
    "9" -> "9" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "4" -> "8" [dir=forward tooltip="usage"]
    "4" -> "10" [dir=forward tooltip="usage"]
    "4" -> "14" [dir=forward tooltip="usage"]
    "4" -> "15" [dir=forward tooltip="usage"]
    "4" -> "16" [dir=forward tooltip="usage"]
    "4" -> "9" [dir=forward tooltip="usage"]
    "7" -> "6" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "15" -> "9" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "14" -> "6" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "4" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "5" -> "7" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
}

Public Members

GlobalContext *global
Heap heap
term *stack_pointer
term x[2]
struct ErlNifResourceTypeInit

Public Members

int members
ErlNifResourceDtor *dtor
ErlNifResourceStop *stop
ErlNifResourceDown *down
struct ExportedFunction

Public Members

enum FunctionType type
union float_term_t

Public Members

term t
avm_float_t f
struct FprintfFun

Collaboration diagram for FprintfFun:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="FprintfFun" tooltip="FprintfFun" fillcolor="#BFBFBF"]
    "2" [label="PrinterFun" tooltip="PrinterFun"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

PrinterFun base
FILE *stream
struct GCBif

Collaboration diagram for GCBif:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="GCBif" tooltip="GCBif" fillcolor="#BFBFBF"]
    "20" [label="SpinLock" tooltip="SpinLock"]
    "8" [label="Module" tooltip="Module"]
    "7" [label="ListHead" tooltip="ListHead"]
    "12" [label="HeapFragment" tooltip="HeapFragment"]
    "13" [label="GlobalContext" tooltip="GlobalContext"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "16" [label="HNodeGroup" tooltip="HNodeGroup"]
    "19" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "5" [label="MailboxMessage" tooltip="MailboxMessage"]
    "11" [label="Heap" tooltip="Heap"]
    "3" [label="Context" tooltip="Context"]
    "18" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "4" [label="Mailbox" tooltip="Mailbox"]
    "14" [label="AtomTable" tooltip="AtomTable"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "6" [label="TimerListItem" tooltip="TimerListItem"]
    "17" [label="SyncList" tooltip="SyncList"]
    "15" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "8" -> "2" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "8" -> "7" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "12" -> "12" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "17" [dir=forward tooltip="usage"]
    "13" -> "8" [dir=forward tooltip="usage"]
    "13" -> "18" [dir=forward tooltip="usage"]
    "13" -> "19" [dir=forward tooltip="usage"]
    "13" -> "20" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "16" -> "15" [dir=forward tooltip="usage"]
    "16" -> "16" [dir=forward tooltip="usage"]
    "19" -> "7" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "6" [dir=forward tooltip="usage"]
    "3" -> "8" [dir=forward tooltip="usage"]
    "3" -> "11" [dir=forward tooltip="usage"]
    "3" -> "13" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="usage"]
    "18" -> "15" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "16" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "17" -> "7" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
GCBifImpl1 gcbif1_ptr
GCBifImpl2 gcbif2_ptr
GCBifImpl3 gcbif3_ptr
union GCBif::[anonymous] [anonymous]
struct GenMessage

Public Members

term req
term pid
term ref
struct GlobalContext

Collaboration diagram for GlobalContext:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "13" [label="SpinLock" tooltip="SpinLock"]
    "7" [label="Module" tooltip="Module"]
    "6" [label="ListHead" tooltip="ListHead"]
    "1" [label="GlobalContext" tooltip="GlobalContext" fillcolor="#BFBFBF"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "4" [label="HNodeGroup" tooltip="HNodeGroup"]
    "12" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "11" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "2" [label="AtomTable" tooltip="AtomTable"]
    "8" [label="ExportedFunction" tooltip="ExportedFunction"]
    "5" [label="SyncList" tooltip="SyncList"]
    "3" [label="HNode" tooltip="HNode"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "7" -> "9" [dir=forward tooltip="usage"]
    "7" -> "10" [dir=forward tooltip="usage"]
    "7" -> "6" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "1" -> "7" [dir=forward tooltip="usage"]
    "1" -> "11" [dir=forward tooltip="usage"]
    "1" -> "12" [dir=forward tooltip="usage"]
    "1" -> "13" [dir=forward tooltip="usage"]
    "1" -> "6" [dir=forward tooltip="usage"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
    "12" -> "6" [dir=forward tooltip="usage"]
    "11" -> "3" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead ready_processes
struct ListHead running_processes
struct ListHead waiting_processes
SpinLock processes_spinlock
struct SyncList refc_binaries
struct SyncList processes_table
struct SyncList registered_processes
struct SyncList listeners
struct SyncList resource_types
struct SyncList select_events
int32_t last_process_id
struct AtomTable *atom_table
struct AtomsHashTable *modules_table
RWLock *modules_lock
Module **modules_by_index
int loaded_modules_count
struct SyncList avmpack_data
struct TimerList timer_list
SpinLock timer_spinlock
unsigned long long ref_ticks
SpinLock ref_ticks_spinlock
int ATOMIC online_schedulers
int running_schedulers
bool ATOMIC waiting_scheduler
Mutex *schedulers_mutex
CondVar *schedulers_cv
bool ATOMIC scheduler_stop_all
SpinLock env_spinlock
void *platform_data
struct Heap

Collaboration diagram for Heap:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="HeapFragment" tooltip="HeapFragment"]
    "1" [label="Heap" tooltip="Heap" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

HeapFragment *root
term *heap_start
term *heap_ptr
term *heap_end
struct HeapFragment

Collaboration diagram for HeapFragment:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="HeapFragment" tooltip="HeapFragment" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

HeapFragment *next
term mso_list
term *heap_end
union HeapFragment::[anonymous] [anonymous]
term storage[]
struct HNode

Collaboration diagram for HNode:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="HNode" tooltip="HNode" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

struct HNode *next
AtomString key
long index
unsigned long value
unsigned long key
struct HNodeGroup

Collaboration diagram for HNodeGroup:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="HNodeGroup" tooltip="HNodeGroup" fillcolor="#BFBFBF"]
    "2" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "1" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct HNodeGroup *next
long first_index
uint16_t len
struct HNode nodes[]
struct IFFRecord

Public Members

const char name[4]
uint32_t size
struct InMemoryAVMPack

Collaboration diagram for InMemoryAVMPack:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="InMemoryAVMPack" tooltip="InMemoryAVMPack" fillcolor="#BFBFBF"]
    "2" [label="AVMPackData" tooltip="AVMPackData"]
    "4" [label="ListHead" tooltip="ListHead"]
    "3" [label="AVMPackInfo" tooltip="AVMPackInfo"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
}

Public Members

struct AVMPackData base
struct Int24

Public Members

int32_t val24
struct Int40

Public Members

int64_t val40
struct Int48

Public Members

int64_t val48
struct Int56

Public Members

int64_t val56
struct kv_pair

Public Members

term key
term value
struct LineRefOffset

Collaboration diagram for LineRefOffset:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="LineRefOffset" tooltip="LineRefOffset" fillcolor="#BFBFBF"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
unsigned int offset
uint16_t line_ref
struct ListHead

Collaboration diagram for ListHead:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="ListHead" tooltip="ListHead" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead *next
struct ListHead *prev
struct LiteralEntry

Public Members

uint32_t size
void const *data
struct Mailbox

Collaboration diagram for Mailbox:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" [label="Mailbox" tooltip="Mailbox" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage *ATOMIC outer_first
MailboxMessage *inner_first
MailboxMessage *inner_last
MailboxMessage *receive_pointer
MailboxMessage *receive_pointer_prev
struct MailboxMessage

Collaboration diagram for MailboxMessage:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="MailboxMessage" tooltip="MailboxMessage" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage *next
enum MessageType type
term *heap_fragment_end
union MailboxMessage::[anonymous] [anonymous]
union maybe_unsigned_int16

Public Members

uint16_t u
int16_t s
union maybe_unsigned_int32

Public Members

uint32_t u
int32_t s
union maybe_unsigned_int64

Public Members

uint64_t u
int64_t s
union maybe_unsigned_int8

Public Members

uint8_t u
int8_t s
struct Message

Collaboration diagram for Message:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="Message" tooltip="Message" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
term message
term *heap_end
term storage[]
struct Module

Collaboration diagram for Module:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="Module" tooltip="Module" fillcolor="#BFBFBF"]
    "5" [label="ListHead" tooltip="ListHead"]
    "3" [label="ModuleFilename" tooltip="ModuleFilename"]
    "4" [label="LiteralEntry" tooltip="LiteralEntry"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "1" -> "4" [dir=forward tooltip="usage"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
}

Public Members

CodeChunk *code
void *export_table
void *local_table
void *atom_table
void *fun_table
void *str_table
size_t str_table_len
uint16_t *line_refs
struct ModuleFilename *filenames
struct ListHead line_ref_offsets
const struct ExportedFunction **imported_funcs
const uint8_t **labels
void *literals_data
struct LiteralEntry *literals_table
int *local_atoms_to_global_table
void *module_platform_data
int module_index
int end_instruction_ii
unsigned int free_literals_data
Mutex *mutex
struct ModuleFilename

Public Members

uint8_t *data
size_t len
struct ModuleFunction

Collaboration diagram for ModuleFunction:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="Module" tooltip="Module"]
    "1" [label="ModuleFunction" tooltip="ModuleFunction" fillcolor="#BFBFBF"]
    "6" [label="ListHead" tooltip="ListHead"]
    "4" [label="ModuleFilename" tooltip="ModuleFilename"]
    "5" [label="LiteralEntry" tooltip="LiteralEntry"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "3" -> "2" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "6" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
Module *target
int label
struct Monitor

Collaboration diagram for Monitor:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="Monitor" tooltip="Monitor" fillcolor="#BFBFBF"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead monitor_list_head
uint64_t ref_ticks
term monitor_obj
struct Nif

Collaboration diagram for Nif:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "20" [label="SpinLock" tooltip="SpinLock"]
    "8" [label="Module" tooltip="Module"]
    "7" [label="ListHead" tooltip="ListHead"]
    "12" [label="HeapFragment" tooltip="HeapFragment"]
    "13" [label="GlobalContext" tooltip="GlobalContext"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "16" [label="HNodeGroup" tooltip="HNodeGroup"]
    "19" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "5" [label="MailboxMessage" tooltip="MailboxMessage"]
    "11" [label="Heap" tooltip="Heap"]
    "1" [label="Nif" tooltip="Nif" fillcolor="#BFBFBF"]
    "3" [label="Context" tooltip="Context"]
    "18" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "4" [label="Mailbox" tooltip="Mailbox"]
    "14" [label="AtomTable" tooltip="AtomTable"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "6" [label="TimerListItem" tooltip="TimerListItem"]
    "17" [label="SyncList" tooltip="SyncList"]
    "15" [label="HNode" tooltip="HNode"]
    "8" -> "2" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "8" -> "7" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "12" -> "12" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "17" [dir=forward tooltip="usage"]
    "13" -> "8" [dir=forward tooltip="usage"]
    "13" -> "18" [dir=forward tooltip="usage"]
    "13" -> "19" [dir=forward tooltip="usage"]
    "13" -> "20" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "16" -> "15" [dir=forward tooltip="usage"]
    "16" -> "16" [dir=forward tooltip="usage"]
    "19" -> "7" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "6" [dir=forward tooltip="usage"]
    "3" -> "8" [dir=forward tooltip="usage"]
    "3" -> "11" [dir=forward tooltip="usage"]
    "3" -> "13" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="usage"]
    "18" -> "15" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "16" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "17" -> "7" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
NifImpl nif_ptr
struct PrinterFun

Collaboration diagram for PrinterFun:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="PrinterFun" tooltip="PrinterFun" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

printer_function_t print
struct RefcBinary

Collaboration diagram for RefcBinary:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="SpinLock" tooltip="SpinLock"]
    "2" [label="ResourceType" tooltip="ResourceType"]
    "9" [label="Module" tooltip="Module"]
    "8" [label="ListHead" tooltip="ListHead"]
    "3" [label="GlobalContext" tooltip="GlobalContext"]
    "11" [label="ModuleFilename" tooltip="ModuleFilename"]
    "6" [label="HNodeGroup" tooltip="HNodeGroup"]
    "14" [label="TimerList" tooltip="TimerList"]
    "12" [label="LiteralEntry" tooltip="LiteralEntry"]
    "13" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "1" [label="RefcBinary" tooltip="RefcBinary" fillcolor="#BFBFBF"]
    "4" [label="AtomTable" tooltip="AtomTable"]
    "10" [label="ExportedFunction" tooltip="ExportedFunction"]
    "7" [label="SyncList" tooltip="SyncList"]
    "5" [label="HNode" tooltip="HNode"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "8" [dir=forward tooltip="usage"]
    "9" -> "10" [dir=forward tooltip="usage"]
    "9" -> "11" [dir=forward tooltip="usage"]
    "9" -> "12" [dir=forward tooltip="usage"]
    "9" -> "8" [dir=forward tooltip="usage"]
    "8" -> "8" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="usage"]
    "3" -> "9" [dir=forward tooltip="usage"]
    "3" -> "13" [dir=forward tooltip="usage"]
    "3" -> "14" [dir=forward tooltip="usage"]
    "3" -> "15" [dir=forward tooltip="usage"]
    "3" -> "8" [dir=forward tooltip="usage"]
    "6" -> "5" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
    "14" -> "8" [dir=forward tooltip="usage"]
    "13" -> "5" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "8" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "4" -> "6" [dir=forward tooltip="usage"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
size_t ATOMIC ref_count
size_t size
struct ResourceType *resource_type
uint8_t data[]
struct RefcBinaryAVMPack

Collaboration diagram for RefcBinaryAVMPack:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "18" [label="SpinLock" tooltip="SpinLock"]
    "6" [label="ResourceType" tooltip="ResourceType"]
    "12" [label="Module" tooltip="Module"]
    "2" [label="AVMPackData" tooltip="AVMPackData"]
    "4" [label="ListHead" tooltip="ListHead"]
    "7" [label="GlobalContext" tooltip="GlobalContext"]
    "3" [label="AVMPackInfo" tooltip="AVMPackInfo"]
    "14" [label="ModuleFilename" tooltip="ModuleFilename"]
    "10" [label="HNodeGroup" tooltip="HNodeGroup"]
    "17" [label="TimerList" tooltip="TimerList"]
    "15" [label="LiteralEntry" tooltip="LiteralEntry"]
    "1" [label="RefcBinaryAVMPack" tooltip="RefcBinaryAVMPack" fillcolor="#BFBFBF"]
    "16" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "5" [label="RefcBinary" tooltip="RefcBinary"]
    "8" [label="AtomTable" tooltip="AtomTable"]
    "13" [label="ExportedFunction" tooltip="ExportedFunction"]
    "11" [label="SyncList" tooltip="SyncList"]
    "9" [label="HNode" tooltip="HNode"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "6" -> "4" [dir=forward tooltip="usage"]
    "12" -> "13" [dir=forward tooltip="usage"]
    "12" -> "14" [dir=forward tooltip="usage"]
    "12" -> "15" [dir=forward tooltip="usage"]
    "12" -> "4" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "7" -> "11" [dir=forward tooltip="usage"]
    "7" -> "12" [dir=forward tooltip="usage"]
    "7" -> "16" [dir=forward tooltip="usage"]
    "7" -> "17" [dir=forward tooltip="usage"]
    "7" -> "18" [dir=forward tooltip="usage"]
    "7" -> "4" [dir=forward tooltip="usage"]
    "10" -> "9" [dir=forward tooltip="usage"]
    "10" -> "10" [dir=forward tooltip="usage"]
    "17" -> "4" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "16" -> "9" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "11" -> "4" [dir=forward tooltip="usage"]
    "9" -> "9" [dir=forward tooltip="usage"]
}

Public Members

struct AVMPackData base
struct RefcBinary *refc
struct RefSignal

Collaboration diagram for RefSignal:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="RefSignal" tooltip="RefSignal" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
uint64_t ref_ticks
struct RegisteredProcess

Collaboration diagram for RegisteredProcess:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="RegisteredProcess" tooltip="RegisteredProcess" fillcolor="#BFBFBF"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead registered_processes_list_head
int atom_index
int local_process_id
struct ResourceMonitor

Collaboration diagram for ResourceMonitor:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="Monitor" tooltip="Monitor"]
    "3" [label="ListHead" tooltip="ListHead"]
    "1" [label="ResourceMonitor" tooltip="ResourceMonitor" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
}

Public Members

struct Monitor base
struct ListHead resource_list_head
struct ResourceType

Collaboration diagram for ResourceType:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="SpinLock" tooltip="SpinLock"]
    "1" [label="ResourceType" tooltip="ResourceType" fillcolor="#BFBFBF"]
    "8" [label="Module" tooltip="Module"]
    "7" [label="ListHead" tooltip="ListHead"]
    "2" [label="GlobalContext" tooltip="GlobalContext"]
    "10" [label="ModuleFilename" tooltip="ModuleFilename"]
    "5" [label="HNodeGroup" tooltip="HNodeGroup"]
    "13" [label="TimerList" tooltip="TimerList"]
    "11" [label="LiteralEntry" tooltip="LiteralEntry"]
    "12" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "3" [label="AtomTable" tooltip="AtomTable"]
    "9" [label="ExportedFunction" tooltip="ExportedFunction"]
    "6" [label="SyncList" tooltip="SyncList"]
    "4" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "7" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "8" -> "11" [dir=forward tooltip="usage"]
    "8" -> "7" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "6" [dir=forward tooltip="usage"]
    "2" -> "8" [dir=forward tooltip="usage"]
    "2" -> "12" [dir=forward tooltip="usage"]
    "2" -> "13" [dir=forward tooltip="usage"]
    "2" -> "14" [dir=forward tooltip="usage"]
    "2" -> "7" [dir=forward tooltip="usage"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "12" -> "4" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
const char *name
GlobalContext *global
struct ListHead monitors
ErlNifResourceDtor *dtor
ErlNifResourceStop *stop
ErlNifResourceDown *down
struct SelectEvent

Collaboration diagram for SelectEvent:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="SpinLock" tooltip="SpinLock"]
    "1" [label="SelectEvent" tooltip="SelectEvent" fillcolor="#BFBFBF"]
    "3" [label="ResourceType" tooltip="ResourceType"]
    "10" [label="Module" tooltip="Module"]
    "9" [label="ListHead" tooltip="ListHead"]
    "4" [label="GlobalContext" tooltip="GlobalContext"]
    "12" [label="ModuleFilename" tooltip="ModuleFilename"]
    "7" [label="HNodeGroup" tooltip="HNodeGroup"]
    "15" [label="TimerList" tooltip="TimerList"]
    "13" [label="LiteralEntry" tooltip="LiteralEntry"]
    "14" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "2" [label="RefcBinary" tooltip="RefcBinary"]
    "5" [label="AtomTable" tooltip="AtomTable"]
    "11" [label="ExportedFunction" tooltip="ExportedFunction"]
    "8" [label="SyncList" tooltip="SyncList"]
    "6" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "9" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "9" [dir=forward tooltip="usage"]
    "10" -> "11" [dir=forward tooltip="usage"]
    "10" -> "12" [dir=forward tooltip="usage"]
    "10" -> "13" [dir=forward tooltip="usage"]
    "10" -> "9" [dir=forward tooltip="usage"]
    "9" -> "9" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "4" -> "8" [dir=forward tooltip="usage"]
    "4" -> "10" [dir=forward tooltip="usage"]
    "4" -> "14" [dir=forward tooltip="usage"]
    "4" -> "15" [dir=forward tooltip="usage"]
    "4" -> "16" [dir=forward tooltip="usage"]
    "4" -> "9" [dir=forward tooltip="usage"]
    "7" -> "6" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "15" -> "9" [dir=forward tooltip="usage"]
    "14" -> "6" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "9" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "5" -> "7" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
ErlNifEvent event
struct RefcBinary *resource
bool read
bool write
bool close
int32_t local_pid
uint64_t ref_ticks
struct SnprintfFun

Collaboration diagram for SnprintfFun:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="SnprintfFun" tooltip="SnprintfFun" fillcolor="#BFBFBF"]
    "2" [label="PrinterFun" tooltip="PrinterFun"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

PrinterFun base
int size
char *buf
struct SpinLock

Public Members

int ATOMIC lock
struct SSLConfigResource

Public Members

mbedtls_ssl_config config
struct SSLContextResource

Public Members

mbedtls_ssl_context context
struct SyncList

Collaboration diagram for SyncList:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" [label="SyncList" tooltip="SyncList" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

RWLock *lock
struct ListHead head
struct TempStack

Public Members

term *stack_start
term *stack_pos
term *stack_end
term min_stack[MIN_STACK_SIZE]
struct TermSignal

Collaboration diagram for TermSignal:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="TermSignal" tooltip="TermSignal" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
term signal_term
term *heap_end
term storage[]
struct TimerList

Collaboration diagram for TimerList:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" [label="TimerList" tooltip="TimerList" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
int timers
uint64_t next_timer
struct TimerListItem

Collaboration diagram for TimerListItem:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" [label="TimerListItem" tooltip="TimerListItem" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

uint64_t expiry_time
struct ListHead head
struct UnresolvedFunctionCall

Collaboration diagram for UnresolvedFunctionCall:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="UnresolvedFunctionCall" tooltip="UnresolvedFunctionCall" fillcolor="#BFBFBF"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
int module_atom_index
int function_atom_index
int arity
struct ValuesHashTable

Collaboration diagram for ValuesHashTable:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="ValuesHashTable" tooltip="ValuesHashTable" fillcolor="#BFBFBF"]
    "2" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

int capacity
int count
RWLock *lock
struct HNode **buckets
file atom.c

Include dependency graph for atom.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c" fillcolor="#BFBFBF"]
    "2" [label="atom.h" tooltip="atom.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "4" [label="stdlib.h" tooltip="stdlib.h"]
    "7" [label="utils.h" tooltip="utils.h"]
    "8" [label="stddef.h" tooltip="stddef.h"]
    "6" [label="string.h" tooltip="string.h"]
    "5" [label="stdio.h" tooltip="stdio.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
}

Functions

void atom_string_to_c(AtomString atom_string, char *buf, size_t bufsize)
int atom_are_equals(AtomString a, AtomString b)
void atom_write_mfa(char *buf, size_t buf_size, AtomString module, AtomString function, unsigned int arity)
file atom.h

Include dependency graph for atom.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.h" fillcolor="#BFBFBF"]
    "2" [label="stdint.h" tooltip="stdint.h"]
    "3" [label="stdlib.h" tooltip="stdlib.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include atom.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.h" fillcolor="#BFBFBF"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "9" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "35" -> "9" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "52" [dir=back tooltip="include"]
    "1" -> "13" [dir=back tooltip="include"]
    "1" -> "12" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "34" [dir=back tooltip="include"]
    "1" -> "39" [dir=back tooltip="include"]
    "1" -> "33" [dir=back tooltip="include"]
    "51" -> "5" [dir=back tooltip="include"]
    "51" -> "9" [dir=back tooltip="include"]
    "51" -> "21" [dir=back tooltip="include"]
    "51" -> "23" [dir=back tooltip="include"]
    "48" -> "13" [dir=back tooltip="include"]
    "48" -> "49" [dir=back tooltip="include"]
    "48" -> "50" [dir=back tooltip="include"]
    "48" -> "5" [dir=back tooltip="include"]
    "48" -> "31" [dir=back tooltip="include"]
    "48" -> "9" [dir=back tooltip="include"]
    "48" -> "15" [dir=back tooltip="include"]
    "48" -> "32" [dir=back tooltip="include"]
    "48" -> "30" [dir=back tooltip="include"]
    "48" -> "21" [dir=back tooltip="include"]
    "48" -> "22" [dir=back tooltip="include"]
    "48" -> "44" [dir=back tooltip="include"]
    "48" -> "45" [dir=back tooltip="include"]
    "48" -> "23" [dir=back tooltip="include"]
    "48" -> "25" [dir=back tooltip="include"]
    "48" -> "37" [dir=back tooltip="include"]
    "28" -> "29" [dir=back tooltip="include"]
    "28" -> "30" [dir=back tooltip="include"]
    "28" -> "21" [dir=back tooltip="include"]
    "28" -> "22" [dir=back tooltip="include"]
    "46" -> "47" [dir=back tooltip="include"]
    "46" -> "9" [dir=back tooltip="include"]
    "46" -> "15" [dir=back tooltip="include"]
    "46" -> "21" [dir=back tooltip="include"]
    "46" -> "19" [dir=back tooltip="include"]
    "11" -> "12" [dir=back tooltip="include"]
    "11" -> "10" [dir=back tooltip="include"]
    "11" -> "16" [dir=back tooltip="include"]
    "11" -> "20" [dir=back tooltip="include"]
    "11" -> "26" [dir=back tooltip="include"]
    "11" -> "5" [dir=back tooltip="include"]
    "11" -> "27" [dir=back tooltip="include"]
    "11" -> "18" [dir=back tooltip="include"]
    "11" -> "14" [dir=back tooltip="include"]
    "11" -> "34" [dir=back tooltip="include"]
    "11" -> "9" [dir=back tooltip="include"]
    "11" -> "39" [dir=back tooltip="include"]
    "11" -> "32" [dir=back tooltip="include"]
    "11" -> "30" [dir=back tooltip="include"]
    "11" -> "21" [dir=back tooltip="include"]
    "11" -> "22" [dir=back tooltip="include"]
    "11" -> "44" [dir=back tooltip="include"]
    "11" -> "45" [dir=back tooltip="include"]
    "11" -> "24" [dir=back tooltip="include"]
    "11" -> "25" [dir=back tooltip="include"]
    "11" -> "46" [dir=back tooltip="include"]
    "11" -> "36" [dir=back tooltip="include"]
    "11" -> "33" [dir=back tooltip="include"]
    "45" -> "29" [dir=back tooltip="include"]
    "45" -> "9" [dir=back tooltip="include"]
    "45" -> "30" [dir=back tooltip="include"]
    "45" -> "21" [dir=back tooltip="include"]
    "45" -> "22" [dir=back tooltip="include"]
    "45" -> "44" [dir=back tooltip="include"]
    "4" -> "3" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "6" [dir=back tooltip="include"]
    "4" -> "31" [dir=back tooltip="include"]
    "4" -> "34" [dir=back tooltip="include"]
    "4" -> "9" [dir=back tooltip="include"]
    "4" -> "33" [dir=back tooltip="include"]
    "36" -> "15" [dir=back tooltip="include"]
    "36" -> "37" [dir=back tooltip="include"]
    "34" -> "12" [dir=back tooltip="include"]
    "34" -> "14" [dir=back tooltip="include"]
    "34" -> "9" [dir=back tooltip="include"]
    "34" -> "15" [dir=back tooltip="include"]
    "34" -> "35" [dir=back tooltip="include"]
    "34" -> "36" [dir=back tooltip="include"]
    "34" -> "38" [dir=back tooltip="include"]
    "7" -> "8" [dir=back tooltip="include"]
    "7" -> "5" [dir=back tooltip="include"]
    "7" -> "9" [dir=back tooltip="include"]
    "27" -> "28" [dir=back tooltip="include"]
    "27" -> "31" [dir=back tooltip="include"]
    "27" -> "9" [dir=back tooltip="include"]
    "27" -> "32" [dir=back tooltip="include"]
    "27" -> "30" [dir=back tooltip="include"]
    "27" -> "21" [dir=back tooltip="include"]
    "27" -> "22" [dir=back tooltip="include"]
    "27" -> "23" [dir=back tooltip="include"]
    "27" -> "33" [dir=back tooltip="include"]
    "43" -> "22" [dir=back tooltip="include"]
    "40" -> "32" [dir=back tooltip="include"]
    "41" -> "30" [dir=back tooltip="include"]
    "20" -> "10" [dir=back tooltip="include"]
    "20" -> "5" [dir=back tooltip="include"]
    "20" -> "18" [dir=back tooltip="include"]
    "20" -> "21" [dir=back tooltip="include"]
    "20" -> "22" [dir=back tooltip="include"]
    "20" -> "23" [dir=back tooltip="include"]
    "20" -> "24" [dir=back tooltip="include"]
    "20" -> "25" [dir=back tooltip="include"]
    "38" -> "10" [dir=back tooltip="include"]
    "38" -> "5" [dir=back tooltip="include"]
    "38" -> "14" [dir=back tooltip="include"]
    "38" -> "9" [dir=back tooltip="include"]
    "38" -> "21" [dir=back tooltip="include"]
    "38" -> "25" [dir=back tooltip="include"]
    "38" -> "19" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "52" -> "5" [dir=back tooltip="include"]
    "52" -> "34" [dir=back tooltip="include"]
    "39" -> "14" [dir=back tooltip="include"]
    "39" -> "9" [dir=back tooltip="include"]
    "39" -> "15" [dir=back tooltip="include"]
    "39" -> "32" [dir=back tooltip="include"]
    "39" -> "40" [dir=back tooltip="include"]
    "39" -> "30" [dir=back tooltip="include"]
    "39" -> "41" [dir=back tooltip="include"]
    "39" -> "21" [dir=back tooltip="include"]
    "39" -> "42" [dir=back tooltip="include"]
    "39" -> "22" [dir=back tooltip="include"]
    "39" -> "43" [dir=back tooltip="include"]
    "39" -> "23" [dir=back tooltip="include"]
    "15" -> "10" [dir=back tooltip="include"]
    "15" -> "14" [dir=back tooltip="include"]
    "16" -> "17" [dir=back tooltip="include"]
    "16" -> "18" [dir=back tooltip="include"]
    "16" -> "15" [dir=back tooltip="include"]
    "16" -> "19" [dir=back tooltip="include"]
    "6" -> "7" [dir=back tooltip="include"]
    "6" -> "10" [dir=back tooltip="include"]
    "6" -> "11" [dir=back tooltip="include"]
    "6" -> "48" [dir=back tooltip="include"]
    "6" -> "5" [dir=back tooltip="include"]
    "6" -> "14" [dir=back tooltip="include"]
    "6" -> "34" [dir=back tooltip="include"]
    "6" -> "9" [dir=back tooltip="include"]
    "6" -> "32" [dir=back tooltip="include"]
    "6" -> "30" [dir=back tooltip="include"]
    "6" -> "41" [dir=back tooltip="include"]
    "6" -> "21" [dir=back tooltip="include"]
    "6" -> "42" [dir=back tooltip="include"]
    "6" -> "22" [dir=back tooltip="include"]
    "6" -> "43" [dir=back tooltip="include"]
    "6" -> "44" [dir=back tooltip="include"]
    "6" -> "45" [dir=back tooltip="include"]
    "6" -> "23" [dir=back tooltip="include"]
    "6" -> "51" [dir=back tooltip="include"]
    "6" -> "46" [dir=back tooltip="include"]
    "6" -> "37" [dir=back tooltip="include"]
    "6" -> "38" [dir=back tooltip="include"]
    "42" -> "21" [dir=back tooltip="include"]
    "42" -> "22" [dir=back tooltip="include"]
}

Defines

ATOM_STR(LENSTR, STR)

Typedefs

typedef const void *AtomString

Functions

void atom_string_to_c(AtomString atom_string, char *buf, size_t bufsize)
int atom_are_equals(AtomString a, AtomString b)
static inline size_t atom_string_len(AtomString atom_str)
static inline const void *atom_string_data(AtomString atom_str)
void atom_write_mfa(char *buf, size_t buf_size, AtomString module, AtomString function, unsigned int arity)
file atom_table.c

Include dependency graph for atom_table.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "6" [label="stdbool.h" tooltip="stdbool.h"]
    "9" [label="stdatomic.h" tooltip="stdatomic.h"]
    "3" [label="atom.h" tooltip="atom.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "10" [label="utils.h" tooltip="utils.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" fillcolor="#BFBFBF"]
    "2" [label="atom_table.h" tooltip="atom_table.h"]
    "11" [label="stddef.h" tooltip="stddef.h"]
    "7" [label="string.h" tooltip="string.h"]
    "8" [label="smp.h" tooltip="smp.h"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "10" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
}

Defines

SMP_RDLOCK(htable)
SMP_WRLOCK(htable)
SMP_UNLOCK(htable)
DEFAULT_SIZE
CAPACITY_INCREASE
ATOM_TABLE_THRESHOLD(capacity)
ATOM_TABLE_NEW_CAPACITY(new_count)

Functions

static struct HNodeGroup *new_node_group(struct AtomTable *table, int len)
struct AtomTable *atom_table_new()
void atom_table_destroy(struct AtomTable *table)
int atom_table_count(struct AtomTable *table)
static unsigned long sdbm_hash(const unsigned char *str, int len)
static inline struct HNode *get_node_from_bucket(const struct AtomTable *hash_table, unsigned long bucket_index, AtomString string)
static inline struct HNode *get_node_with_hash(const struct AtomTable *hash_table, AtomString string, unsigned long hash)
static inline struct HNode *get_node(const struct AtomTable *hash_table, AtomString string)
long atom_table_get_index(struct AtomTable *table, AtomString string)
static struct HNode *get_node_using_index(struct AtomTable *table, long index)
AtomString atom_table_get_atom_string(struct AtomTable *table, long index)
int atom_table_cmp_using_atom_index(struct AtomTable *table, int t_atom_index, int other_atom_index)
atom_ref_t atom_table_get_atom_ptr_and_len(struct AtomTable *table, long index, size_t *out_len)
void atom_table_write_bytes(struct AtomTable *table, atom_ref_t atom, size_t buf_len, void *outbuf)
void atom_table_write_cstring(struct AtomTable *table, atom_ref_t atom, size_t buf_len, char *outbuf)
static inline void init_node(struct HNode *node, AtomString atom, long index)
static inline void insert_node_into_bucket(struct AtomTable *table, int bucket_index, struct HNode *node)
static inline long insert_node(struct AtomTable *table, struct HNodeGroup *node_group, unsigned long bucket_index, AtomString string)
static bool do_rehash(struct AtomTable *table, int new_capacity)
static inline bool maybe_rehash(struct AtomTable *table, int new_entries)
long atom_table_ensure_atom(struct AtomTable *table, AtomString string, enum AtomTableCopyOpt opts)
int atom_table_ensure_atoms(struct AtomTable *table, const void *atoms, int count, int *translate_table)
file atom_table.h

Include dependency graph for atom_table.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="atom.h" tooltip="atom.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "4" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include atom_table.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" fillcolor="#BFBFBF"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "10" -> "11" [dir=back tooltip="include"]
    "10" -> "12" [dir=back tooltip="include"]
    "10" -> "7" [dir=back tooltip="include"]
    "10" -> "13" [dir=back tooltip="include"]
    "33" -> "7" [dir=back tooltip="include"]
    "49" -> "3" [dir=back tooltip="include"]
    "49" -> "7" [dir=back tooltip="include"]
    "49" -> "19" [dir=back tooltip="include"]
    "49" -> "21" [dir=back tooltip="include"]
    "46" -> "11" [dir=back tooltip="include"]
    "46" -> "47" [dir=back tooltip="include"]
    "46" -> "48" [dir=back tooltip="include"]
    "46" -> "3" [dir=back tooltip="include"]
    "46" -> "29" [dir=back tooltip="include"]
    "46" -> "7" [dir=back tooltip="include"]
    "46" -> "13" [dir=back tooltip="include"]
    "46" -> "30" [dir=back tooltip="include"]
    "46" -> "28" [dir=back tooltip="include"]
    "46" -> "19" [dir=back tooltip="include"]
    "46" -> "20" [dir=back tooltip="include"]
    "46" -> "42" [dir=back tooltip="include"]
    "46" -> "43" [dir=back tooltip="include"]
    "46" -> "21" [dir=back tooltip="include"]
    "46" -> "23" [dir=back tooltip="include"]
    "46" -> "35" [dir=back tooltip="include"]
    "26" -> "27" [dir=back tooltip="include"]
    "26" -> "28" [dir=back tooltip="include"]
    "26" -> "19" [dir=back tooltip="include"]
    "26" -> "20" [dir=back tooltip="include"]
    "44" -> "45" [dir=back tooltip="include"]
    "44" -> "7" [dir=back tooltip="include"]
    "44" -> "13" [dir=back tooltip="include"]
    "44" -> "19" [dir=back tooltip="include"]
    "44" -> "17" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "8" [dir=back tooltip="include"]
    "9" -> "14" [dir=back tooltip="include"]
    "9" -> "18" [dir=back tooltip="include"]
    "9" -> "24" [dir=back tooltip="include"]
    "9" -> "3" [dir=back tooltip="include"]
    "9" -> "25" [dir=back tooltip="include"]
    "9" -> "16" [dir=back tooltip="include"]
    "9" -> "12" [dir=back tooltip="include"]
    "9" -> "32" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
    "9" -> "37" [dir=back tooltip="include"]
    "9" -> "30" [dir=back tooltip="include"]
    "9" -> "28" [dir=back tooltip="include"]
    "9" -> "19" [dir=back tooltip="include"]
    "9" -> "20" [dir=back tooltip="include"]
    "9" -> "42" [dir=back tooltip="include"]
    "9" -> "43" [dir=back tooltip="include"]
    "9" -> "22" [dir=back tooltip="include"]
    "9" -> "23" [dir=back tooltip="include"]
    "9" -> "44" [dir=back tooltip="include"]
    "9" -> "34" [dir=back tooltip="include"]
    "9" -> "31" [dir=back tooltip="include"]
    "43" -> "27" [dir=back tooltip="include"]
    "43" -> "7" [dir=back tooltip="include"]
    "43" -> "28" [dir=back tooltip="include"]
    "43" -> "19" [dir=back tooltip="include"]
    "43" -> "20" [dir=back tooltip="include"]
    "43" -> "42" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "29" [dir=back tooltip="include"]
    "1" -> "32" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "31" [dir=back tooltip="include"]
    "34" -> "13" [dir=back tooltip="include"]
    "34" -> "35" [dir=back tooltip="include"]
    "32" -> "10" [dir=back tooltip="include"]
    "32" -> "12" [dir=back tooltip="include"]
    "32" -> "7" [dir=back tooltip="include"]
    "32" -> "13" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "32" -> "34" [dir=back tooltip="include"]
    "32" -> "36" [dir=back tooltip="include"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "3" [dir=back tooltip="include"]
    "5" -> "7" [dir=back tooltip="include"]
    "25" -> "26" [dir=back tooltip="include"]
    "25" -> "29" [dir=back tooltip="include"]
    "25" -> "7" [dir=back tooltip="include"]
    "25" -> "30" [dir=back tooltip="include"]
    "25" -> "28" [dir=back tooltip="include"]
    "25" -> "19" [dir=back tooltip="include"]
    "25" -> "20" [dir=back tooltip="include"]
    "25" -> "21" [dir=back tooltip="include"]
    "25" -> "31" [dir=back tooltip="include"]
    "41" -> "20" [dir=back tooltip="include"]
    "38" -> "30" [dir=back tooltip="include"]
    "39" -> "28" [dir=back tooltip="include"]
    "18" -> "8" [dir=back tooltip="include"]
    "18" -> "3" [dir=back tooltip="include"]
    "18" -> "16" [dir=back tooltip="include"]
    "18" -> "19" [dir=back tooltip="include"]
    "18" -> "20" [dir=back tooltip="include"]
    "18" -> "21" [dir=back tooltip="include"]
    "18" -> "22" [dir=back tooltip="include"]
    "18" -> "23" [dir=back tooltip="include"]
    "36" -> "8" [dir=back tooltip="include"]
    "36" -> "3" [dir=back tooltip="include"]
    "36" -> "12" [dir=back tooltip="include"]
    "36" -> "7" [dir=back tooltip="include"]
    "36" -> "19" [dir=back tooltip="include"]
    "36" -> "23" [dir=back tooltip="include"]
    "36" -> "17" [dir=back tooltip="include"]
    "37" -> "12" [dir=back tooltip="include"]
    "37" -> "7" [dir=back tooltip="include"]
    "37" -> "13" [dir=back tooltip="include"]
    "37" -> "30" [dir=back tooltip="include"]
    "37" -> "38" [dir=back tooltip="include"]
    "37" -> "28" [dir=back tooltip="include"]
    "37" -> "39" [dir=back tooltip="include"]
    "37" -> "19" [dir=back tooltip="include"]
    "37" -> "40" [dir=back tooltip="include"]
    "37" -> "20" [dir=back tooltip="include"]
    "37" -> "41" [dir=back tooltip="include"]
    "37" -> "21" [dir=back tooltip="include"]
    "13" -> "8" [dir=back tooltip="include"]
    "13" -> "12" [dir=back tooltip="include"]
    "14" -> "15" [dir=back tooltip="include"]
    "14" -> "16" [dir=back tooltip="include"]
    "14" -> "13" [dir=back tooltip="include"]
    "14" -> "17" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "8" [dir=back tooltip="include"]
    "4" -> "9" [dir=back tooltip="include"]
    "4" -> "46" [dir=back tooltip="include"]
    "4" -> "3" [dir=back tooltip="include"]
    "4" -> "12" [dir=back tooltip="include"]
    "4" -> "32" [dir=back tooltip="include"]
    "4" -> "7" [dir=back tooltip="include"]
    "4" -> "30" [dir=back tooltip="include"]
    "4" -> "28" [dir=back tooltip="include"]
    "4" -> "39" [dir=back tooltip="include"]
    "4" -> "19" [dir=back tooltip="include"]
    "4" -> "40" [dir=back tooltip="include"]
    "4" -> "20" [dir=back tooltip="include"]
    "4" -> "41" [dir=back tooltip="include"]
    "4" -> "42" [dir=back tooltip="include"]
    "4" -> "43" [dir=back tooltip="include"]
    "4" -> "21" [dir=back tooltip="include"]
    "4" -> "49" [dir=back tooltip="include"]
    "4" -> "44" [dir=back tooltip="include"]
    "4" -> "35" [dir=back tooltip="include"]
    "4" -> "36" [dir=back tooltip="include"]
    "40" -> "19" [dir=back tooltip="include"]
    "40" -> "20" [dir=back tooltip="include"]
}

Defines

ATOM_TABLE_NOT_FOUND
ATOM_TABLE_ALLOC_FAIL

Typedefs

typedef const void *atom_ref_t

Enums

enum AtomTableCopyOpt

Values:

enumerator AtomTableNoOpts
enumerator AtomTableCopyAtom
enumerator AtomTableAlreadyExisting

Functions

struct AtomTable *atom_table_new()
void atom_table_destroy(struct AtomTable *table)
int atom_table_count(struct AtomTable *table)
long atom_table_ensure_atom(struct AtomTable *table, AtomString string, enum AtomTableCopyOpt opts)
AtomString atom_table_get_atom_string(struct AtomTable *table, long index)
long atom_table_get_index(struct AtomTable *table, AtomString string)
int atom_table_ensure_atoms(struct AtomTable *table, const void *atoms, int count, int *translate_table)
int atom_table_cmp_using_atom_index(struct AtomTable *table, int t_atom_index, int other_atom_index)
atom_ref_t atom_table_get_atom_ptr_and_len(struct AtomTable *table, long index, size_t *out_len)
void atom_table_write_bytes(struct AtomTable *table, atom_ref_t atom, size_t buf_len, void *outbuf)
void atom_table_write_cstring(struct AtomTable *table, atom_ref_t atom, size_t buf_len, char *outbuf)
file atomshashtable.c

Include dependency graph for atomshashtable.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "7" [label="stdbool.h" tooltip="stdbool.h"]
    "8" [label="stdatomic.h" tooltip="stdatomic.h"]
    "3" [label="atom.h" tooltip="atom.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "9" [label="utils.h" tooltip="utils.h"]
    "10" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="string.h" tooltip="string.h"]
    "6" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" fillcolor="#BFBFBF"]
    "2" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "8" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "9" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "11" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
}

Defines

SMP_RDLOCK(htable)
SMP_WRLOCK(htable)
SMP_UNLOCK(htable)
DEFAULT_SIZE

Functions

static unsigned long sdbm_hash(const unsigned char *str, int len)
struct AtomsHashTable *atomshashtable_new()
int atomshashtable_insert(struct AtomsHashTable *hash_table, AtomString string, unsigned long value)
unsigned long atomshashtable_get_value(const struct AtomsHashTable *hash_table, const AtomString string, unsigned long default_value)
int atomshashtable_has_key(const struct AtomsHashTable *hash_table, const AtomString string)
file atomshashtable.h

Include dependency graph for atomshashtable.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="atom.h" tooltip="atom.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "4" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include atomshashtable.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" fillcolor="#BFBFBF"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "7" [dir=back tooltip="include"]
    "5" -> "8" [dir=back tooltip="include"]
    "5" -> "9" [dir=back tooltip="include"]
    "11" -> "8" [dir=back tooltip="include"]
    "12" -> "9" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "7" [dir=back tooltip="include"]
    "4" -> "8" [dir=back tooltip="include"]
    "4" -> "9" [dir=back tooltip="include"]
    "4" -> "11" [dir=back tooltip="include"]
    "4" -> "12" [dir=back tooltip="include"]
    "4" -> "14" [dir=back tooltip="include"]
    "14" -> "10" [dir=back tooltip="include"]
    "14" -> "3" [dir=back tooltip="include"]
    "14" -> "7" [dir=back tooltip="include"]
    "14" -> "8" [dir=back tooltip="include"]
    "14" -> "15" [dir=back tooltip="include"]
    "14" -> "16" [dir=back tooltip="include"]
    "14" -> "17" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
}

Defines

TYPEDEF_RWLOCK
TO_ATOMSHASHTABLE_VALUE(value)

Typedefs

typedef struct RWLock RWLock

Functions

struct AtomsHashTable *atomshashtable_new()
int atomshashtable_insert(struct AtomsHashTable *hash_table, AtomString string, unsigned long value)
unsigned long atomshashtable_get_value(const struct AtomsHashTable *hash_table, AtomString string, unsigned long default_value)
int atomshashtable_has_key(const struct AtomsHashTable *hash_table, AtomString string)
file avmpack.c

Include dependency graph for avmpack.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" fillcolor="#BFBFBF"]
    "2" [label="avmpack.h" tooltip="avmpack.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "20" [dir=forward tooltip="include"]
    "1" -> "18" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "15" [dir=forward tooltip="include"]
    "2" -> "23" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Defines

AVMPACK_SIZE

Functions

static inline int pad(int size)
int avmpack_is_valid(const void *avmpack_binary, uint32_t size)
int avmpack_find_section_by_flag(const void *avmpack_binary, uint32_t flags_mask, const void **ptr, uint32_t *size, const char **name)
int avmpack_find_section_by_name(const void *avmpack_binary, const char *name, const void **ptr, uint32_t *size)
void *avmpack_fold(void *accum, const void *avmpack_binary, avmpack_fold_fun fold_fun)
static void in_memory_avm_pack_destructor(struct AVMPackData *obj, GlobalContext *global)
static void const_avm_pack_destructor(struct AVMPackData *obj, GlobalContext *global)

Variables

const struct AVMPackInfo in_memory_avm_pack_info  = {.destructor = in_memory_avm_pack_destructor}
const struct AVMPackInfo const_avm_pack_info  = {.destructor = const_avm_pack_destructor}
file avmpack.h

Include dependency graph for avmpack.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" fillcolor="#BFBFBF"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "12" [dir=forward tooltip="include"]
    "1" -> "14" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include avmpack.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" fillcolor="#BFBFBF"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
}

Defines

END_OF_FILE
BEAM_START_FLAG
BEAM_CODE_FLAG

Typedefs

typedef void *(*avmpack_fold_fun)(void *accum, const void *section_ptr, uint32_t section_size, const void *beam_ptr, uint32_t flags, const char *section_name)

Functions

static inline void avmpack_data_init(struct AVMPackData *avm_pack_data, const struct AVMPackInfo *info)
static inline void avmpack_data_destroy(struct AVMPackData *avm_pack_data, GlobalContext *global)
int avmpack_find_section_by_flag(const void *avmpack_binary, uint32_t flags_mask, const void **ptr, uint32_t *size, const char **name)
int avmpack_find_section_by_name(const void *avmpack_binary, const char *name, const void **ptr, uint32_t *size)
int avmpack_is_valid(const void *avmpack_binary, uint32_t size)
void *avmpack_fold(void *accum, const void *avmpack_binary, avmpack_fold_fun fold_fun)

Variables

const struct AVMPackInfo in_memory_avm_pack_info
const struct AVMPackInfo const_avm_pack_info
file bif.c

Include dependency graph for bif.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" fillcolor="#BFBFBF"]
    "2" [label="bif.h" tooltip="bif.h"]
    "35" [label="dictionary.h" tooltip="dictionary.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "37" [label="trace.h" tooltip="trace.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "34" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "32" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "29" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "38" [label="bifs_hash.h" tooltip="bifs_hash.h"]
    "7" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "9" [label="atom_table.h" tooltip="atom_table.h"]
    "36" [label="overflow_helpers.h" tooltip="overflow_helpers.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "30" [label="module.h" tooltip="module.h"]
    "20" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "33" [label="math.h" tooltip="math.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "16" [label="smp.h" tooltip="smp.h"]
    "31" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "8" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "15" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "34" [dir=forward tooltip="include"]
    "1" -> "35" [dir=forward tooltip="include"]
    "1" -> "36" [dir=forward tooltip="include"]
    "1" -> "37" [dir=forward tooltip="include"]
    "1" -> "23" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "29" [dir=forward tooltip="include"]
    "2" -> "30" [dir=forward tooltip="include"]
    "35" -> "15" [dir=forward tooltip="include"]
    "35" -> "20" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "16" [dir=forward tooltip="include"]
    "34" -> "8" [dir=forward tooltip="include"]
    "29" -> "20" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "15" [dir=forward tooltip="include"]
    "7" -> "28" [dir=forward tooltip="include"]
    "7" -> "16" [dir=forward tooltip="include"]
    "7" -> "20" [dir=forward tooltip="include"]
    "7" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "36" -> "20" [dir=forward tooltip="include"]
    "36" -> "5" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "5" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "11" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "30" -> "3" [dir=forward tooltip="include"]
    "30" -> "5" [dir=forward tooltip="include"]
    "30" -> "4" [dir=forward tooltip="include"]
    "30" -> "9" [dir=forward tooltip="include"]
    "30" -> "31" [dir=forward tooltip="include"]
    "30" -> "7" [dir=forward tooltip="include"]
    "30" -> "29" [dir=forward tooltip="include"]
    "30" -> "8" [dir=forward tooltip="include"]
    "30" -> "20" [dir=forward tooltip="include"]
    "30" -> "32" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "6" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "26" -> "6" [dir=forward tooltip="include"]
    "26" -> "10" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "16" -> "3" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "31" -> "4" [dir=forward tooltip="include"]
    "8" -> "5" [dir=forward tooltip="include"]
    "8" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "15" [dir=forward tooltip="include"]
    "8" -> "16" [dir=forward tooltip="include"]
    "8" -> "18" [dir=forward tooltip="include"]
    "8" -> "20" [dir=forward tooltip="include"]
    "8" -> "27" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "11" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "6" [dir=forward tooltip="include"]
    "27" -> "3" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
}

Defines

RAISE_ERROR(error_type_atom)
VALIDATE_VALUE(value, verify_function)

Typedefs

typedef int64_t (*bitwise_op)(int64_t a, int64_t b)
typedef int64_t (*bitshift_op)(int64_t a, avm_int_t b)

Functions

const struct ExportedFunction *bif_registry_get_handler(AtomString module, AtomString function, int arity)
term bif_erlang_self_0(Context *ctx)
term bif_erlang_byte_size_1(Context *ctx, int live, term arg1)
term bif_erlang_bit_size_1(Context *ctx, int live, term arg1)
term bif_erlang_is_atom_1(Context *ctx, term arg1)
term bif_erlang_is_binary_1(Context *ctx, term arg1)
term bif_erlang_is_boolean_1(Context *ctx, term arg1)
term bif_erlang_is_float_1(Context *ctx, term arg1)
term bif_erlang_is_function_1(Context *ctx, term arg1)
term bif_erlang_is_integer_1(Context *ctx, term arg1)
term bif_erlang_is_list_1(Context *ctx, term arg1)
term bif_erlang_is_number_1(Context *ctx, term arg1)
term bif_erlang_is_pid_1(Context *ctx, term arg1)
term bif_erlang_is_reference_1(Context *ctx, term arg1)
term bif_erlang_is_tuple_1(Context *ctx, term arg1)
term bif_erlang_is_map_1(Context *ctx, term arg1)
term bif_erlang_is_map_key_2(Context *ctx, term arg1, term arg2)
term bif_erlang_length_1(Context *ctx, int live, term arg1)
term bif_erlang_hd_1(Context *ctx, term arg1)
term bif_erlang_tl_1(Context *ctx, term arg1)
term bif_erlang_element_2(Context *ctx, term arg1, term arg2)
term bif_erlang_tuple_size_1(Context *ctx, term arg1)
term bif_erlang_map_size_1(Context *ctx, int live, term arg1)
term bif_erlang_map_get_2(Context *ctx, term arg1, term arg2)
static inline term make_boxed_int(Context *ctx, uint32_t live, avm_int_t value)
static inline term make_boxed_int64(Context *ctx, uint32_t live, avm_int64_t value)
static inline term make_maybe_boxed_int(Context *ctx, uint32_t live, avm_int_t value)
static inline term make_maybe_boxed_int64(Context *ctx, uint32_t live, avm_int64_t value)
static term add_overflow_helper(Context *ctx, uint32_t live, term arg1, term arg2)
static term add_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_add_2(Context *ctx, int live, term arg1, term arg2)
static term sub_overflow_helper(Context *ctx, uint32_t live, term arg1, term arg2)
static term sub_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_sub_2(Context *ctx, int live, term arg1, term arg2)
static term mul_overflow_helper(Context *ctx, uint32_t live, term arg1, term arg2)
static term mul_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_mul_2(Context *ctx, int live, term arg1, term arg2)
static term div_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_div_2(Context *ctx, int live, term arg1, term arg2)
static term neg_boxed_helper(Context *ctx, uint32_t live, term arg1)
term bif_erlang_neg_1(Context *ctx, int live, term arg1)
static term abs_boxed_helper(Context *ctx, uint32_t live, term arg1)
term bif_erlang_abs_1(Context *ctx, int live, term arg1)
static term rem_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_rem_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_ceil_1(Context *ctx, int live, term arg1)
term bif_erlang_floor_1(Context *ctx, int live, term arg1)
term bif_erlang_round_1(Context *ctx, int live, term arg1)
term bif_erlang_trunc_1(Context *ctx, int live, term arg1)
static inline term bitwise_helper(Context *ctx, int live, term arg1, term arg2, bitwise_op op)
static inline int64_t bor(int64_t a, int64_t b)
term bif_erlang_bor_2(Context *ctx, int live, term arg1, term arg2)
static inline int64_t band(int64_t a, int64_t b)
term bif_erlang_band_2(Context *ctx, int live, term arg1, term arg2)
static inline int64_t bxor(int64_t a, int64_t b)
term bif_erlang_bxor_2(Context *ctx, int live, term arg1, term arg2)
static inline term bitshift_helper(Context *ctx, int live, term arg1, term arg2, bitshift_op op)
static inline int64_t bsl(int64_t a, avm_int_t b)
term bif_erlang_bsl_2(Context *ctx, int live, term arg1, term arg2)
static inline int64_t bsr(int64_t a, avm_int_t b)
term bif_erlang_bsr_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bnot_1(Context *ctx, int live, term arg1)
term bif_erlang_not_1(Context *ctx, term arg1)
term bif_erlang_and_2(Context *ctx, term arg1, term arg2)
term bif_erlang_or_2(Context *ctx, term arg1, term arg2)
term bif_erlang_xor_2(Context *ctx, term arg1, term arg2)
term bif_erlang_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_not_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_exactly_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_exactly_not_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_greater_than_2(Context *ctx, term arg1, term arg2)
term bif_erlang_less_than_2(Context *ctx, term arg1, term arg2)
term bif_erlang_less_than_or_equal_2(Context *ctx, term arg1, term arg2)
term bif_erlang_greater_than_or_equal_2(Context *ctx, term arg1, term arg2)
term bif_erlang_get_1(Context *ctx, term arg1)
term bif_erlang_min_2(Context *ctx, term arg1, term arg2)
term bif_erlang_max_2(Context *ctx, term arg1, term arg2)
file bif.h

Include dependency graph for bif.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" fillcolor="#BFBFBF"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "3" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "31" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "28" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "6" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "29" [label="module.h" tooltip="module.h"]
    "19" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "30" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "7" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "15" [dir=forward tooltip="include"]
    "28" -> "19" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "14" [dir=forward tooltip="include"]
    "6" -> "27" [dir=forward tooltip="include"]
    "6" -> "15" [dir=forward tooltip="include"]
    "6" -> "19" [dir=forward tooltip="include"]
    "6" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "24" -> "2" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "27" -> "2" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "10" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "29" -> "2" [dir=forward tooltip="include"]
    "29" -> "4" [dir=forward tooltip="include"]
    "29" -> "3" [dir=forward tooltip="include"]
    "29" -> "8" [dir=forward tooltip="include"]
    "29" -> "30" [dir=forward tooltip="include"]
    "29" -> "6" [dir=forward tooltip="include"]
    "29" -> "28" [dir=forward tooltip="include"]
    "29" -> "7" [dir=forward tooltip="include"]
    "29" -> "19" [dir=forward tooltip="include"]
    "29" -> "31" [dir=forward tooltip="include"]
    "19" -> "2" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "5" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "25" -> "5" [dir=forward tooltip="include"]
    "25" -> "9" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "15" -> "2" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "30" -> "3" [dir=forward tooltip="include"]
    "7" -> "4" [dir=forward tooltip="include"]
    "7" -> "3" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "9" [dir=forward tooltip="include"]
    "7" -> "14" [dir=forward tooltip="include"]
    "7" -> "15" [dir=forward tooltip="include"]
    "7" -> "17" [dir=forward tooltip="include"]
    "7" -> "19" [dir=forward tooltip="include"]
    "7" -> "26" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "10" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "5" [dir=forward tooltip="include"]
    "26" -> "2" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include bif.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" fillcolor="#BFBFBF"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "3" [dir=back tooltip="include"]
}

Defines

MAX_BIF_NAME_LEN

Functions

const struct ExportedFunction *bif_registry_get_handler(AtomString module, AtomString function, int arity)
term bif_erlang_self_0(Context *ctx)
term bif_erlang_byte_size_1(Context *ctx, int live, term arg1)
term bif_erlang_bit_size_1(Context *ctx, int live, term arg1)
term bif_erlang_length_1(Context *ctx, int live, term arg1)
term bif_erlang_is_atom_1(Context *ctx, term arg1)
term bif_erlang_is_binary_1(Context *ctx, term arg1)
term bif_erlang_is_boolean_1(Context *ctx, term arg1)
term bif_erlang_is_float_1(Context *ctx, term arg1)
term bif_erlang_is_function_1(Context *ctx, term arg1)
term bif_erlang_is_integer_1(Context *ctx, term arg1)
term bif_erlang_is_list_1(Context *ctx, term arg1)
term bif_erlang_is_number_1(Context *ctx, term arg1)
term bif_erlang_is_pid_1(Context *ctx, term arg1)
term bif_erlang_is_reference_1(Context *ctx, term arg1)
term bif_erlang_is_tuple_1(Context *ctx, term arg1)
term bif_erlang_is_map_1(Context *ctx, term arg1)
term bif_erlang_is_map_key_2(Context *ctx, term arg1, term arg2)
term bif_erlang_hd_1(Context *ctx, term arg1)
term bif_erlang_tl_1(Context *ctx, term arg1)
term bif_erlang_element_2(Context *ctx, term arg1, term arg2)
term bif_erlang_tuple_size_1(Context *ctx, term arg1)
term bif_erlang_map_size_1(Context *ctx, int live, term arg1)
term bif_erlang_map_get_2(Context *ctx, term arg1, term arg2)
term bif_erlang_add_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_sub_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_mul_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_div_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_rem_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_neg_1(Context *ctx, int live, term arg1)
term bif_erlang_abs_1(Context *ctx, int live, term arg1)
term bif_erlang_ceil_1(Context *ctx, int live, term arg1)
term bif_erlang_floor_1(Context *ctx, int live, term arg1)
term bif_erlang_round_1(Context *ctx, int live, term arg1)
term bif_erlang_trunc_1(Context *ctx, int live, term arg1)
term bif_erlang_bor_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_band_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bxor_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bsl_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bsr_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bnot_1(Context *ctx, int live, term arg1)
term bif_erlang_not_1(Context *ctx, term arg1)
term bif_erlang_and_2(Context *ctx, term arg1, term arg2)
term bif_erlang_or_2(Context *ctx, term arg1, term arg2)
term bif_erlang_xor_2(Context *ctx, term arg1, term arg2)
term bif_erlang_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_not_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_exactly_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_exactly_not_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_greater_than_2(Context *ctx, term arg1, term arg2)
term bif_erlang_less_than_2(Context *ctx, term arg1, term arg2)
term bif_erlang_less_than_or_equal_2(Context *ctx, term arg1, term arg2)
term bif_erlang_greater_than_or_equal_2(Context *ctx, term arg1, term arg2)
term bif_erlang_get_1(Context *ctx, term arg1)
term bif_erlang_min_2(Context *ctx, term arg1, term arg2)
term bif_erlang_max_2(Context *ctx, term arg1, term arg2)
file bitstring.c

Include dependency graph for bitstring.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="stdbool.h" tooltip="stdbool.h"]
    "21" [label="stdatomic.h" tooltip="stdatomic.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" fillcolor="#BFBFBF"]
    "2" [label="bitstring.h" tooltip="bitstring.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "15" [label="utils.h" tooltip="utils.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "16" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "17" [label="refc_binary.h" tooltip="refc_binary.h"]
    "8" [label="string.h" tooltip="string.h"]
    "3" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "22" [label="math.h" tooltip="math.h"]
    "19" [label="resources.h" tooltip="resources.h"]
    "20" [label="smp.h" tooltip="smp.h"]
    "9" [label="memory.h" tooltip="memory.h"]
    "6" [label="stdio.h" tooltip="stdio.h"]
    "18" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "12" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "5" [dir=forward tooltip="include"]
    "17" -> "4" [dir=forward tooltip="include"]
    "17" -> "7" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "19" [dir=forward tooltip="include"]
    "17" -> "20" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "6" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "9" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "19" -> "7" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "20" -> "4" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "15" [dir=forward tooltip="include"]
    "9" -> "5" [dir=forward tooltip="include"]
    "9" -> "7" [dir=forward tooltip="include"]
}

Functions

static inline uint64_t from_le64(uint64_t value)
bool bitstring_extract_any_integer(const uint8_t *src, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, union maybe_unsigned_int64 *dst)
bool bitstring_insert_any_integer(uint8_t *dst, avm_int_t offset, avm_int64_t value, size_t n, enum BitstringFlags bs_flags)
static bool is_invalid_codepoint(int32_t v)
bool bitstring_utf8_encode(uint32_t c, uint8_t *buf, size_t *out_size)
enum UnicodeTransformDecodeResult bitstring_utf8_decode(const uint8_t *buf, size_t len, uint32_t *c, size_t *out_size)
bool bitstring_utf16_encode(uint32_t c, uint8_t *buf, enum BitstringFlags bs_flags, size_t *out_size)
bool bitstring_utf16_decode(const uint8_t *buf, size_t len, int32_t *c, size_t *out_size, enum BitstringFlags bs_flags)
bool bitstring_utf32_encode(uint32_t c, uint8_t *buf, enum BitstringFlags bs_flags)
bool bitstring_utf32_decode(const uint8_t *buf, size_t len, int32_t *c, enum BitstringFlags bs_flags)
void bitstring_copy_bits_incomplete_bytes(uint8_t *dst, size_t bits_offset, const uint8_t *src, size_t bits_count)
bool bitstring_extract_f32(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, avm_float_t *dst)
bool bitstring_extract_f64(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, avm_float_t *dst)
file bitstring.h

Include dependency graph for bitstring.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "20" [label="stdatomic.h" tooltip="stdatomic.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" fillcolor="#BFBFBF"]
    "11" [label="assert.h" tooltip="assert.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "14" [label="utils.h" tooltip="utils.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "15" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "16" [label="refc_binary.h" tooltip="refc_binary.h"]
    "7" [label="string.h" tooltip="string.h"]
    "2" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "18" [label="resources.h" tooltip="resources.h"]
    "19" [label="smp.h" tooltip="smp.h"]
    "8" [label="memory.h" tooltip="memory.h"]
    "5" [label="stdio.h" tooltip="stdio.h"]
    "17" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "16" -> "3" [dir=forward tooltip="include"]
    "16" -> "6" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "18" [dir=forward tooltip="include"]
    "16" -> "19" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "8" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "18" -> "6" [dir=forward tooltip="include"]
    "18" -> "9" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "14" [dir=forward tooltip="include"]
    "8" -> "4" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include bitstring.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" fillcolor="#BFBFBF"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "6" [dir=back tooltip="include"]
}

Defines

READ_16LE_UNALIGNED(ptr)
WRITE_16LE_UNALIGNED(t, ptr, val)
READ_32LE_UNALIGNED(ptr)
WRITE_32LE_UNALIGNED(t, ptr, val)
READ_64LE_UNALIGNED(ptr)
WRITE_64LE_UNALIGNED(t, ptr, val)

Enums

enum BitstringFlags

Values:

enumerator LittleEndianInteger
enumerator SignedInteger
enumerator NativeEndianInteger
enumerator LittleEndianIntegerMask
enum UnicodeTransformDecodeResult

Values:

enumerator UnicodeTransformDecodeSuccess
enumerator UnicodeTransformDecodeFail
enumerator UnicodeTransformDecodeIncomplete

Functions

bool bitstring_extract_any_integer(const uint8_t *src, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, union maybe_unsigned_int64 *dst)
bool bitstring_insert_any_integer(uint8_t *dst, avm_int_t offset, avm_int64_t value, size_t n, enum BitstringFlags bs_flags)
static inline bool bitstring_extract_integer(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, union maybe_unsigned_int64 *dst)
static inline bool bitstring_insert_integer(term dst_bin, size_t offset, avm_int64_t value, size_t n, enum BitstringFlags bs_flags)
bool bitstring_utf8_encode(uint32_t c, uint8_t *buf, size_t *out_size)
enum UnicodeTransformDecodeResult bitstring_utf8_decode(const uint8_t *buf, size_t len, uint32_t *c, size_t *out_size)
bool bitstring_utf16_encode(uint32_t c, uint8_t *buf, enum BitstringFlags bs_flags, size_t *out_size)
bool bitstring_utf16_decode(const uint8_t *buf, size_t len, int32_t *c, size_t *out_size, enum BitstringFlags bs_flags)
bool bitstring_utf32_encode(uint32_t c, uint8_t *buf, enum BitstringFlags bs_flags)
bool bitstring_utf32_decode(const uint8_t *buf, size_t len, int32_t *c, enum BitstringFlags bs_flags)
static inline bool bitstring_utf8_size(uint32_t c, size_t *out_size)
static inline bool bitstring_utf16_size(uint32_t c, size_t *out_size)
static inline bool bitstring_insert_utf8(term dst_bin, size_t offset, uint32_t c, size_t *out_size)
static inline bool bitstring_match_utf8(term src_bin, size_t offset, uint32_t *c, size_t *out_size)
static inline bool bitstring_insert_utf16(term dst_bin, size_t offset, uint32_t c, enum BitstringFlags bs_flags, size_t *out_size)
static inline bool bitstring_match_utf16(term src_bin, size_t offset, int32_t *c, size_t *out_size, enum BitstringFlags bs_flags)
static inline bool bitstring_insert_utf32(term dst_bin, size_t offset, uint32_t c, enum BitstringFlags bs_flags)
static inline bool bitstring_match_utf32(term src_bin, size_t offset, int32_t *c, enum BitstringFlags bs_flags)
void bitstring_copy_bits_incomplete_bytes(uint8_t *dst, size_t bits_offset, const uint8_t *src, size_t bits_count)
static inline void bitstring_copy_bits(uint8_t *dst, size_t bits_offset, const uint8_t *src, size_t bits_count)
bool bitstring_extract_f32(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, avm_float_t *dst)
bool bitstring_extract_f64(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, avm_float_t *dst)
file context.c

Include dependency graph for context.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "39" [label="bif.h" tooltip="bif.h"]
    "30" [label="dictionary.h" tooltip="dictionary.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "40" [label="bitstring.h" tooltip="bitstring.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "47" [label="trace.h" tooltip="trace.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "42" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "28" [label="fenv.h" tooltip="fenv.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "36" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "45" [label="scheduler.h" tooltip="scheduler.h"]
    "35" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" fillcolor="#BFBFBF"]
    "2" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "46" [label="stacktrace.h" tooltip="stacktrace.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "33" [label="module.h" tooltip="module.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "44" [label="opcodes.h" tooltip="opcodes.h"]
    "37" [label="time.h" tooltip="time.h"]
    "29" [label="math.h" tooltip="math.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "31" [label="erl_nif_priv.h" tooltip="erl_nif_priv.h"]
    "32" [label="sys.h" tooltip="sys.h"]
    "34" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "43" [label="nifs.h" tooltip="nifs.h"]
    "38" [label="opcodesswitch.h" tooltip="opcodesswitch.h"]
    "41" [label="debug.h" tooltip="debug.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "39" -> "15" [dir=forward tooltip="include"]
    "39" -> "5" [dir=forward tooltip="include"]
    "39" -> "2" [dir=forward tooltip="include"]
    "39" -> "35" [dir=forward tooltip="include"]
    "39" -> "33" [dir=forward tooltip="include"]
    "30" -> "13" [dir=forward tooltip="include"]
    "30" -> "19" [dir=forward tooltip="include"]
    "40" -> "19" [dir=forward tooltip="include"]
    "40" -> "15" [dir=forward tooltip="include"]
    "40" -> "4" [dir=forward tooltip="include"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "42" -> "3" [dir=forward tooltip="include"]
    "45" -> "2" [dir=forward tooltip="include"]
    "45" -> "3" [dir=forward tooltip="include"]
    "35" -> "19" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "27" [dir=forward tooltip="include"]
    "1" -> "14" [dir=forward tooltip="include"]
    "1" -> "17" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "46" -> "2" [dir=forward tooltip="include"]
    "46" -> "33" [dir=forward tooltip="include"]
    "46" -> "19" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "33" -> "15" [dir=forward tooltip="include"]
    "33" -> "4" [dir=forward tooltip="include"]
    "33" -> "5" [dir=forward tooltip="include"]
    "33" -> "7" [dir=forward tooltip="include"]
    "33" -> "34" [dir=forward tooltip="include"]
    "33" -> "2" [dir=forward tooltip="include"]
    "33" -> "35" [dir=forward tooltip="include"]
    "33" -> "3" [dir=forward tooltip="include"]
    "33" -> "19" [dir=forward tooltip="include"]
    "33" -> "36" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "31" -> "2" [dir=forward tooltip="include"]
    "31" -> "21" [dir=forward tooltip="include"]
    "32" -> "3" [dir=forward tooltip="include"]
    "32" -> "33" [dir=forward tooltip="include"]
    "32" -> "4" [dir=forward tooltip="include"]
    "32" -> "37" [dir=forward tooltip="include"]
    "34" -> "5" [dir=forward tooltip="include"]
    "43" -> "5" [dir=forward tooltip="include"]
    "43" -> "2" [dir=forward tooltip="include"]
    "43" -> "35" [dir=forward tooltip="include"]
    "38" -> "33" [dir=forward tooltip="include"]
    "38" -> "10" [dir=forward tooltip="include"]
    "38" -> "20" [dir=forward tooltip="include"]
    "38" -> "39" [dir=forward tooltip="include"]
    "38" -> "40" [dir=forward tooltip="include"]
    "38" -> "41" [dir=forward tooltip="include"]
    "38" -> "42" [dir=forward tooltip="include"]
    "38" -> "35" [dir=forward tooltip="include"]
    "38" -> "43" [dir=forward tooltip="include"]
    "38" -> "44" [dir=forward tooltip="include"]
    "38" -> "45" [dir=forward tooltip="include"]
    "38" -> "22" [dir=forward tooltip="include"]
    "38" -> "27" [dir=forward tooltip="include"]
    "38" -> "46" [dir=forward tooltip="include"]
    "38" -> "47" [dir=forward tooltip="include"]
    "41" -> "2" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Defines

IMPL_EXECUTE_LOOP
DEFAULT_STACK_SIZE
BYTES_PER_TERM

Functions

static struct ResourceMonitor *context_monitors_handle_terminate(Context *ctx)
Context *context_new(GlobalContext *glb)
void context_destroy(Context *ctx)
void context_process_kill_signal(Context *ctx, struct TermSignal *signal)
void context_process_process_info_request_signal(Context *ctx, struct BuiltInAtomRequestSignal *signal)
bool context_process_signal_trap_answer(Context *ctx, struct TermSignal *signal)
void context_process_flush_monitor_signal(Context *ctx, uint64_t ref_ticks, bool info)
void context_update_flags (Context *ctx, int mask, int value) CLANG_THREAD_SANITIZE_SAFE
size_t context_message_queue_len(Context *ctx)
size_t context_size(Context *ctx)
bool context_get_process_info(Context *ctx, term *out, term atom_key)
int context_link(Context *ctx, term link_pid)
uint64_t context_monitor(Context *ctx, term monitor_pid)
struct ResourceMonitor *context_resource_monitor(Context *ctx, void *resource)
void context_unlink(Context *ctx, term link_pid)
file context.h

Include dependency graph for context.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" fillcolor="#BFBFBF"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "26" [label="mailbox.h" tooltip="mailbox.h"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "12" [dir=forward tooltip="include"]
    "1" -> "26" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "18" [dir=forward tooltip="include"]
    "1" -> "25" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "12" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
    "26" -> "8" [dir=forward tooltip="include"]
    "26" -> "21" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include context.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" fillcolor="#BFBFBF"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "2" -> "6" [dir=back tooltip="include"]
    "28" -> "5" [dir=back tooltip="include"]
    "21" -> "22" [dir=back tooltip="include"]
    "21" -> "23" [dir=back tooltip="include"]
    "21" -> "14" [dir=back tooltip="include"]
    "21" -> "15" [dir=back tooltip="include"]
    "39" -> "40" [dir=back tooltip="include"]
    "39" -> "5" [dir=back tooltip="include"]
    "39" -> "6" [dir=back tooltip="include"]
    "39" -> "14" [dir=back tooltip="include"]
    "39" -> "11" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "12" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "13" [dir=back tooltip="include"]
    "1" -> "20" [dir=back tooltip="include"]
    "1" -> "10" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "27" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "32" [dir=back tooltip="include"]
    "1" -> "25" [dir=back tooltip="include"]
    "1" -> "23" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "15" [dir=back tooltip="include"]
    "1" -> "37" [dir=back tooltip="include"]
    "1" -> "38" [dir=back tooltip="include"]
    "1" -> "17" [dir=back tooltip="include"]
    "1" -> "18" [dir=back tooltip="include"]
    "1" -> "39" [dir=back tooltip="include"]
    "1" -> "29" [dir=back tooltip="include"]
    "1" -> "26" [dir=back tooltip="include"]
    "38" -> "22" [dir=back tooltip="include"]
    "38" -> "5" [dir=back tooltip="include"]
    "38" -> "23" [dir=back tooltip="include"]
    "38" -> "14" [dir=back tooltip="include"]
    "38" -> "15" [dir=back tooltip="include"]
    "38" -> "37" [dir=back tooltip="include"]
    "29" -> "6" [dir=back tooltip="include"]
    "29" -> "30" [dir=back tooltip="include"]
    "27" -> "2" [dir=back tooltip="include"]
    "27" -> "4" [dir=back tooltip="include"]
    "27" -> "5" [dir=back tooltip="include"]
    "27" -> "6" [dir=back tooltip="include"]
    "27" -> "28" [dir=back tooltip="include"]
    "27" -> "29" [dir=back tooltip="include"]
    "27" -> "31" [dir=back tooltip="include"]
    "20" -> "21" [dir=back tooltip="include"]
    "20" -> "24" [dir=back tooltip="include"]
    "20" -> "5" [dir=back tooltip="include"]
    "20" -> "25" [dir=back tooltip="include"]
    "20" -> "23" [dir=back tooltip="include"]
    "20" -> "14" [dir=back tooltip="include"]
    "20" -> "15" [dir=back tooltip="include"]
    "20" -> "16" [dir=back tooltip="include"]
    "20" -> "26" [dir=back tooltip="include"]
    "36" -> "15" [dir=back tooltip="include"]
    "33" -> "25" [dir=back tooltip="include"]
    "34" -> "23" [dir=back tooltip="include"]
    "12" -> "7" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "10" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "12" -> "16" [dir=back tooltip="include"]
    "12" -> "17" [dir=back tooltip="include"]
    "12" -> "18" [dir=back tooltip="include"]
    "31" -> "7" [dir=back tooltip="include"]
    "31" -> "13" [dir=back tooltip="include"]
    "31" -> "4" [dir=back tooltip="include"]
    "31" -> "5" [dir=back tooltip="include"]
    "31" -> "14" [dir=back tooltip="include"]
    "31" -> "18" [dir=back tooltip="include"]
    "31" -> "11" [dir=back tooltip="include"]
    "32" -> "4" [dir=back tooltip="include"]
    "32" -> "5" [dir=back tooltip="include"]
    "32" -> "6" [dir=back tooltip="include"]
    "32" -> "25" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "32" -> "23" [dir=back tooltip="include"]
    "32" -> "34" [dir=back tooltip="include"]
    "32" -> "14" [dir=back tooltip="include"]
    "32" -> "35" [dir=back tooltip="include"]
    "32" -> "15" [dir=back tooltip="include"]
    "32" -> "36" [dir=back tooltip="include"]
    "32" -> "16" [dir=back tooltip="include"]
    "6" -> "7" [dir=back tooltip="include"]
    "6" -> "4" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "10" [dir=back tooltip="include"]
    "8" -> "6" [dir=back tooltip="include"]
    "8" -> "11" [dir=back tooltip="include"]
    "35" -> "14" [dir=back tooltip="include"]
    "35" -> "15" [dir=back tooltip="include"]
}

Defines

MAX_REG

Typedefs

typedef enum NativeHandlerResult NativeHandlerResult
typedef NativeHandlerResult (*native_handler_f)(Context *ctx)

Enums

enum NativeHandlerResult

Values:

enumerator NativeTerminate
enumerator NativeContinue
enum ContextFlags

Values:

enumerator NoFlags
enumerator WaitingTimeout
enumerator WaitingTimeoutExpired
enumerator Running
enumerator Ready
enumerator Killed
enumerator Trap
enum HeapGrowthStrategy

Values:

enumerator BoundedFreeHeapGrowth
enumerator MinimumHeapGrowth
enumerator FibonacciHeapGrowth

Functions

Context *context_new(GlobalContext *glb)
void context_destroy(Context *c)
static inline void context_ensure_fpregs(Context *c)
int context_execute_loop(Context *ctx, Module *mod, const char *function_name, int arity)
static inline int context_is_port_driver(const Context *ctx)
static inline void context_clean_registers(Context *ctx, int live)
static inline term *context_stack_base(const Context *ctx)
static inline size_t context_stack_size(const Context *ctx)
static inline size_t context_avail_free_memory(const Context *ctx)
static inline bool context_is_term_equal_to_atom_string(Context *ctx, term atom_a, AtomString atom_string_b)
size_t context_message_queue_len(Context *ctx)
size_t context_size(Context *ctx)
void context_update_flags(Context *ctx, int mask, int value)
static inline int context_get_flags(Context *ctx, int mask)
void context_process_kill_signal(Context *ctx, struct TermSignal *signal)
void context_process_process_info_request_signal(Context *ctx, struct BuiltInAtomRequestSignal *signal)
bool context_process_signal_trap_answer(Context *ctx, struct TermSignal *signal)
void context_process_flush_monitor_signal(Context *ctx, uint64_t ref_ticks, bool info)
bool context_get_process_info(Context *ctx, term *out, term atom_key)
int context_link(Context *ctx, term monitor_pid)
uint64_t context_monitor(Context *ctx, term monitor_pid)
struct ResourceMonitor *context_resource_monitor(Context *ctx, void *resource)
void context_unlink(Context *ctx, term monitor_pid)
file debug.c

Include dependency graph for debug.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "6" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "3" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" fillcolor="#BFBFBF"]
    "2" [label="debug.h" tooltip="debug.h"]
    "4" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "6" -> "5" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "28" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "20" [dir=forward tooltip="include"]
    "3" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "25" -> "7" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "9" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "14" [dir=forward tooltip="include"]
    "4" -> "15" [dir=forward tooltip="include"]
    "4" -> "18" [dir=forward tooltip="include"]
    "4" -> "20" [dir=forward tooltip="include"]
    "4" -> "27" [dir=forward tooltip="include"]
    "22" -> "9" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "7" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
}

Functions

static COLD_FUNC void debug_display_type (term t, const Context *ctx)
static COLD_FUNC void debug_dump_binary_mem (char *buf, term val, unsigned n)
static COLD_FUNC void debug_dump_term (Context *ctx, term *pos, const char *region, unsigned i)
COLD_FUNC void debug_dump_memory (Context *ctx, term *start, term *end, const char *region)
COLD_FUNC void debug_dump_context (Context *ctx)
COLD_FUNC void debug_dump_heap (Context *ctx)
COLD_FUNC void debug_dump_stack (Context *ctx)
COLD_FUNC void debug_dump_registers (Context *ctx)
COLD_FUNC void debug_print_processes_list (struct ListHead *processes)
COLD_FUNC char reg_type_c (int reg_type)
file debug.h

Include dependency graph for debug.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "2" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" fillcolor="#BFBFBF"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include debug.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" fillcolor="#BFBFBF"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "6" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
}

Defines

DEBUG_DUMP_STACK(...)

Functions

void debug_dump_context(Context *ctx)
void debug_dump_heap(Context *ctx)
void debug_dump_stack(Context *ctx)
void debug_dump_registers(Context *ctx)
void debug_dump_memory(Context *ctx, term *start, term *end, const char *region)
char reg_type_c(int reg_type)
void debug_print_processes_list(struct ListHead *processes)
file defaultatoms.c

Include dependency graph for defaultatoms.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" fillcolor="#BFBFBF"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "2" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "18" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Functions

void defaultatoms_init(GlobalContext *glb)

Variables

static const char *const false_atom   = "\x05" "false"
static const char *const true_atom   = "\x04" "true"
static const char *const ok_atom   = "\x2" "ok"
static const char *const error_atom   = "\x5" "error"
static const char *const undefined_atom   = "\x9" "undefined"
static const char *const badarg_atom   = "\x6" "badarg"
static const char *const badarith_atom   = "\x08" "badarith"
static const char *const badarity_atom   = "\x08" "badarity"
static const char *const badfun_atom   = "\x06" "badfun"
static const char *const system_limit_atom   = "\xC" "system_limit"
static const char *const function_clause_atom   = "\x0F" "function_clause"
static const char *const try_clause_atom   = "\xA" "try_clause"
static const char *const out_of_memory_atom   = "\xD" "out_of_memory"
static const char *const overflow_atom   = "\x8" "overflow"
static const char *const flush_atom   = "\x5" "flush"
static const char *const heap_size_atom   = "\x9" "heap_size"
static const char *const latin1_atom   = "\x6" "latin1"
static const char *const max_heap_size_atom   ="\xD" "max_heap_size"
static const char *const memory_atom   = "\x6" "memory"
static const char *const message_queue_len_atom   = "\x11" "message_queue_len"
static const char *const puts_atom   = "\x4" "puts"
static const char *const stack_size_atom   = "\xA" "stack_size"
static const char *const min_heap_size_atom   ="\xD" "min_heap_size"
static const char *const process_count_atom   = "\xD" "process_count"
static const char *const port_count_atom   = "\xA" "port_count"
static const char *const atom_count_atom   = "\xA" "atom_count"
static const char *const system_architecture_atom   = "\x13" "system_architecture"
static const char *const wordsize_atom   = "\x8" "wordsize"
static const char *const decimals_atom   = "\x8" "decimals"
static const char *const scientific_atom   = "\xA" "scientific"
static const char *const compact_atom   = "\x7" "compact"
static const char *const badmatch_atom   = "\x8" "badmatch"
static const char *const case_clause_atom   = "\xB" "case_clause"
static const char *const if_clause_atom   = "\x9" "if_clause"
static const char *const throw_atom   = "\x5" "throw"
static const char *const low_entropy_atom   = "\xB" "low_entropy"
static const char *const unsupported_atom   = "\xB" "unsupported"
static const char *const used_atom   = "\x4" "used"
static const char *const all_atom   = "\x3" "all"
static const char *const start_atom   = "\x5" "start"
static const char *const undef_atom   = "\x5" "undef"
static const char *const vm_abort_atom   = "\x8" "vm_abort"
static const char *const link_atom   = "\x4" "link"
static const char *const monitor_atom   = "\x7" "monitor"
static const char *const normal_atom   = "\x6" "normal"
static const char *const down_atom   = "\x4" "DOWN"
static const char *const process_atom   = "\x7" "process"
static const char *const nocatch_atom   = "\x7" "nocatch"
static const char *const refc_binary_info_atom   = "\x10" "refc_binary_info"
static const char *const noproc_atom   = "\x6" "noproc"
static const char *const trap_exit_atom   = "\x9" "trap_exit"
static const char *const exit_atom   = "\x4" "EXIT"
static const char *const badmap_atom   = "\x6" "badmap"
static const char *const badkey_atom   = "\x6" "badkey"
static const char *const none_atom   = "\x4" "none"
static const char *const io_request_atom   = "\xA" "io_request"
static const char *const io_reply_atom   = "\x8" "io_reply"
static const char *const put_chars_atom   = "\x9" "put_chars"
static const char *const lowercase_exit_atom   = "\x4" "exit"
static const char *const atomvm_version_atom   = "\xE" "atomvm_version"
static const char *const second_atom   = "\x6" "second"
static const char *const millisecond_atom   = "\xB" "millisecond"
static const char *const microsecond_atom   = "\xB" "microsecond"
static const char *const infinity_atom   = "\x8" "infinity"
static const char *const timeout_value_atom   = "\xD" "timeout_value"
static const char *const schedulers_atom   = "\xA" "schedulers"
static const char *const schedulers_online_atom   = "\x11" "schedulers_online"
static const char *const append_atom   = "\x6" "append"
static const char *const private_append_atom   = "\xE" "private_append"
static const char *const binary_atom   = "\x6" "binary"
static const char *const integer_atom   = "\x7" "integer"
static const char *const little_atom   = "\x6" "little"
static const char *const native_atom   = "\x6" "native"
static const char *const string_atom   = "\x6" "string"
static const char *const utf8_atom   = "\x4" "utf8"
static const char *const utf16_atom   = "\x5" "utf16"
static const char *const utf32_atom   = "\x5" "utf32"
static const char *const badrecord_atom   = "\x9" "badrecord"
static const char *const copy_atom   = "\x4" "copy"
static const char *const reuse_atom   = "\x5" "reuse"
static const char *const ensure_at_least_atom   = "\xF" "ensure_at_least"
static const char *const ensure_exactly_atom   = "\xE" "ensure_exactly"
static const char *const skip_atom   = "\x4" "skip"
static const char *const get_tail_atom   = "\x8" "get_tail"
static const char *const equal_colon_equal_atom   = "\x3" "=:="
static const char *const signed_atom   = "\x6" "signed"
static const char *const machine_atom   = "\x7" "machine"
static const char *const avm_floatsize_atom   = "\xD" "avm_floatsize"
static const char *const close_atom   = "\x5" "close"
static const char *const closed_atom   = "\x6" "closed"
static const char *const port_atom   = "\x4" "port"
static const char *const info_atom   = "\x4" "info"
static const char *const module_atom   = "\x06" "module"
static const char *const select_atom   = "\x6" "select"
static const char *const ready_input_atom   = "\xB" "ready_input"
static const char *const ready_output_atom   = "\xC" "ready_output"
static const char *const attributes_atom   = "\xA" "attributes"
static const char *const compile_atom   = "\x7" "compile"
static const char *const exports_atom   = "\x7" "exports"
static const char *const incomplete_atom   = "\xA" "incomplete"
static const char *const kill_atom   = "\x4" "kill"
static const char *const killed_atom   = "\x6" "killed"
static const char *const links_atom   = "\x5" "links"
static const char *const total_heap_size_atom   = "\xF" "total_heap_size"
static const char *const atomvm_heap_growth_atom   = "\x12" "atomvm_heap_growth"
static const char *const bounded_free_atom   = "\xC" "bounded_free"
static const char *const minimum_atom   = "\x7" "minimum"
static const char *const fibonacci_atom   = "\x9" "fibonacci"
static const char *const call_atom   = "\x5" "$call"
static const char *const cast_atom   = "\x5" "$cast"
file defaultatoms.h

Include dependency graph for defaultatoms.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" fillcolor="#BFBFBF"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include defaultatoms.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" fillcolor="#BFBFBF"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "1" -> "12" [dir=back tooltip="include"]
    "1" -> "13" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "15" [dir=back tooltip="include"]
    "1" -> "16" [dir=back tooltip="include"]
    "1" -> "18" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "20" [dir=back tooltip="include"]
    "16" -> "17" [dir=back tooltip="include"]
    "16" -> "7" [dir=back tooltip="include"]
    "16" -> "12" [dir=back tooltip="include"]
    "16" -> "13" [dir=back tooltip="include"]
    "16" -> "14" [dir=back tooltip="include"]
    "16" -> "15" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "10" [dir=back tooltip="include"]
}

Defines

FALSE_ATOM_INDEX
TRUE_ATOM_INDEX
OK_ATOM_INDEX
ERROR_ATOM_INDEX
UNDEFINED_ATOM_INDEX
BADARG_ATOM_INDEX
BADARITH_ATOM_INDEX
BADARITY_ATOM_INDEX
BADFUN_ATOM_INDEX
FUNCTION_CLAUSE_ATOM_INDEX
TRY_CLAUSE_ATOM_INDEX
OUT_OF_MEMORY_ATOM_INDEX
OVERFLOW_ATOM_INDEX
SYSTEM_LIMIT_ATOM_INDEX
FLUSH_ATOM_INDEX
HEAP_SIZE_ATOM_INDEX
LATIN1_ATOM_INDEX
MAX_HEAP_SIZE_ATOM_INDEX
MEMORY_ATOM_INDEX
MESSAGE_QUEUE_LEN_ATOM_INDEX
PUTS_ATOM_INDEX
STACK_SIZE_ATOM_INDEX
MIN_HEAP_SIZE_ATOM_INDEX
PROCESS_COUNT_ATOM_INDEX
PORT_COUNT_ATOM_INDEX
ATOM_COUNT_ATOM_INDEX
SYSTEM_ARCHITECTURE_ATOM_INDEX
WORDSIZE_ATOM_INDEX
DECIMALS_ATOM_INDEX
SCIENTIFIC_ATOM_INDEX
COMPACT_ATOM_INDEX
BADMATCH_ATOM_INDEX
CASE_CLAUSE_ATOM_INDEX
IF_CLAUSE_ATOM_INDEX
THROW_ATOM_INDEX
LOW_ENTROPY_ATOM_INDEX
UNSUPPORTED_ATOM_INDEX
USED_ATOM_INDEX
ALL_ATOM_INDEX
START_ATOM_INDEX
UNDEF_ATOM_INDEX
VM_ABORT_ATOM_INDEX
MONITOR_ATOM_INDEX
NORMAL_ATOM_INDEX
DOWN_ATOM_INDEX
PROCESS_ATOM_INDEX
NOCATCH_ATOM_INDEX
REFC_BINARY_INFO_ATOM_INDEX
NOPROC_ATOM_INDEX
TRAP_EXIT_ATOM_INDEX
EXIT_ATOM_INDEX
BADMAP_ATOM_INDEX
BADKEY_ATOM_INDEX
NONE_ATOM_INDEX
IO_REQUEST_ATOM_INDEX
IO_REPLY_ATOM_INDEX
PUT_CHARS_ATOM_INDEX
LOWERCASE_EXIT_ATOM_INDEX
ATOMVM_VERSION_ATOM_INDEX
SECOND_ATOM_INDEX
MILLISECOND_ATOM_INDEX
MICROSECOND_ATOM_INDEX
INFINITY_ATOM_INDEX
TIMEOUT_VALUE_ATOM_INDEX
SCHEDULERS_ATOM_INDEX
SCHEDULERS_ONLINE_ATOM_INDEX
APPEND_ATOM_INDEX
PRIVATE_APPEND_ATOM_INDEX
BINARY_ATOM_INDEX
INTEGER_ATOM_INDEX
LITTLE_ATOM_INDEX
NATIVE_ATOM_INDEX
STRING_ATOM_INDEX
UTF8_ATOM_INDEX
UTF16_ATOM_INDEX
UTF32_ATOM_INDEX
BADRECORD_ATOM_INDEX
COPY_ATOM_INDEX
REUSE_ATOM_INDEX
ENSURE_AT_LEAST_ATOM_INDEX
ENSURE_EXACTLY_ATOM_INDEX
SKIP_ATOM_INDEX
GET_TAIL_ATOM_INDEX
EQUAL_COLON_EQUAL_ATOM_INDEX
SIGNED_ATOM_INDEX
MACHINE_ATOM_INDEX
AVM_FLOATSIZE_ATOM_INDEX
CLOSE_ATOM_INDEX
CLOSED_ATOM_INDEX
PORT_ATOM_INDEX
INFO_ATOM_INDEX
MODULE_ATOM_INDEX
SELECT_ATOM_INDEX
READY_INPUT_ATOM_INDEX
READY_OUTPUT_ATOM_INDEX
ATTRIBUTES_ATOM_INDEX
COMPILE_ATOM_INDEX
EXPORTS_ATOM_INDEX
INCOMPLETE_ATOM_INDEX
KILL_ATOM_INDEX
KILLED_ATOM_INDEX
TOTAL_HEAP_SIZE_ATOM_INDEX
ATOMVM_HEAP_GROWTH_ATOM_INDEX
BOUNDED_FREE_ATOM_INDEX
MINIMUM_ATOM_INDEX
FIBONACCI_ATOM_INDEX
CALL_ATOM_INDEX
CAST_ATOM_INDEX
PLATFORM_ATOMS_BASE_INDEX
FALSE_ATOM
TRUE_ATOM
OK_ATOM
ERROR_ATOM
UNDEFINED_ATOM
BADARG_ATOM
BADARITH_ATOM
BADARITY_ATOM
BADFUN_ATOM
FUNCTION_CLAUSE_ATOM
TRY_CLAUSE_ATOM
OUT_OF_MEMORY_ATOM
OVERFLOW_ATOM
SYSTEM_LIMIT_ATOM
LATIN1_ATOM
FLUSH_ATOM
HEAP_SIZE_ATOM
MAX_HEAP_SIZE_ATOM
MEMORY_ATOM
MESSAGE_QUEUE_LEN_ATOM
PUTS_ATOM
STACK_SIZE_ATOM
MIN_HEAP_SIZE_ATOM
PROCESS_COUNT_ATOM
PORT_COUNT_ATOM
ATOM_COUNT_ATOM
SYSTEM_ARCHITECTURE_ATOM
WORDSIZE_ATOM
DECIMALS_ATOM
SCIENTIFIC_ATOM
DEFAULTATOMS_COMPACT_ATOM
BADMATCH_ATOM
CASE_CLAUSE_ATOM
IF_CLAUSE_ATOM
THROW_ATOM
LOW_ENTROPY_ATOM
UNSUPPORTED_ATOM
USED_ATOM
ALL_ATOM
START_ATOM
UNDEF_ATOM
VM_ABORT_ATOM
MONITOR_ATOM
NORMAL_ATOM
DOWN_ATOM
PROCESS_ATOM
NOCATCH_ATOM
REFC_BINARY_INFO_ATOM
NOPROC_ATOM
TRAP_EXIT_ATOM
EXIT_ATOM
BADMAP_ATOM
BADKEY_ATOM
NONE_ATOM
IO_REQUEST_ATOM
IO_REPLY_ATOM
PUT_CHARS_ATOM
LOWERCASE_EXIT_ATOM
ATOMVM_VERSION_ATOM
SECOND_ATOM
MILLISECOND_ATOM
MICROSECOND_ATOM
INFINITY_ATOM
TIMEOUT_VALUE_ATOM
SCHEDULERS_ATOM
SCHEDULERS_ONLINE_ATOM
APPEND_ATOM
PRIVATE_APPEND_ATOM
BINARY_ATOM
INTEGER_ATOM
LITTLE_ATOM
NATIVE_ATOM
STRING_ATOM
UTF8_ATOM
UTF16_ATOM
UTF32_ATOM
BADRECORD_ATOM
COPY_ATOM
REUSE_ATOM
ENSURE_AT_LEAST_ATOM
ENSURE_EXACTLY_ATOM
SKIP_ATOM
GET_TAIL_ATOM
EQUAL_COLON_EQUAL_ATOM
SIGNED_ATOM
MACHINE_ATOM
AVM_FLOATSIZE_ATOM
CLOSE_ATOM
CLOSED_ATOM
PORT_ATOM
INFO_ATOM
MODULE_ATOM
SELECT_ATOM
READY_INPUT_ATOM
READY_OUTPUT_ATOM
ATTRIBUTES_ATOM
COMPILE_ATOM
EXPORTS_ATOM
INCOMPLETE_ATOM
KILL_ATOM
KILLED_ATOM
TOTAL_HEAP_SIZE_ATOM
ATOMVM_HEAP_GROWTH_ATOM
BOUNDED_FREE_ATOM
MINIMUM_ATOM
FIBONACCI_ATOM
CALL_ATOM
CAST_ATOM

Functions

void defaultatoms_init(GlobalContext *glb)
void platform_defaultatoms_init(GlobalContext *glb)
file dictionary.c

Include dependency graph for dictionary.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "5" [label="stdbool.h" tooltip="stdbool.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" fillcolor="#BFBFBF"]
    "2" [label="dictionary.h" tooltip="dictionary.h"]
    "21" [label="stdatomic.h" tooltip="stdatomic.h"]
    "24" [label="atom.h" tooltip="atom.h"]
    "13" [label="assert.h" tooltip="assert.h"]
    "26" [label="synclist.h" tooltip="synclist.h"]
    "22" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "6" [label="stdint.h" tooltip="stdint.h"]
    "8" [label="stdlib.h" tooltip="stdlib.h"]
    "16" [label="utils.h" tooltip="utils.h"]
    "25" [label="atom_table.h" tooltip="atom_table.h"]
    "12" [label="term_typedef.h" tooltip="term_typedef.h"]
    "17" [label="stddef.h" tooltip="stddef.h"]
    "14" [label="limits.h" tooltip="limits.h"]
    "18" [label="refc_binary.h" tooltip="refc_binary.h"]
    "9" [label="string.h" tooltip="string.h"]
    "4" [label="term.h" tooltip="term.h"]
    "11" [label="erl_nif.h" tooltip="erl_nif.h"]
    "19" [label="resources.h" tooltip="resources.h"]
    "20" [label="smp.h" tooltip="smp.h"]
    "23" [label="globalcontext.h" tooltip="globalcontext.h"]
    "10" [label="memory.h" tooltip="memory.h"]
    "7" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "15" [label="inttypes.h" tooltip="inttypes.h"]
    "3" [label="list.h" tooltip="list.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "8" [dir=forward tooltip="include"]
    "26" -> "3" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "20" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "25" -> "24" [dir=forward tooltip="include"]
    "12" -> "13" [dir=forward tooltip="include"]
    "12" -> "14" [dir=forward tooltip="include"]
    "12" -> "15" [dir=forward tooltip="include"]
    "12" -> "6" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "7" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "10" [dir=forward tooltip="include"]
    "4" -> "18" [dir=forward tooltip="include"]
    "4" -> "16" [dir=forward tooltip="include"]
    "4" -> "12" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "19" -> "8" [dir=forward tooltip="include"]
    "19" -> "11" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "23" -> "6" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "25" [dir=forward tooltip="include"]
    "23" -> "11" [dir=forward tooltip="include"]
    "23" -> "3" [dir=forward tooltip="include"]
    "23" -> "20" [dir=forward tooltip="include"]
    "23" -> "26" [dir=forward tooltip="include"]
    "23" -> "4" [dir=forward tooltip="include"]
    "23" -> "27" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "16" [dir=forward tooltip="include"]
    "10" -> "6" [dir=forward tooltip="include"]
    "10" -> "8" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "6" [dir=forward tooltip="include"]
    "27" -> "3" [dir=forward tooltip="include"]
}

Functions

static DictionaryFunctionResult dictionary_find(struct ListHead *dictionary, term key, struct DictEntry **found, GlobalContext *global)
DictionaryFunctionResult dictionary_put(struct ListHead *dict, term key, term value, term *old, GlobalContext