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]
-
char magic[4]
-
struct AtomsHashTable
Collaboration diagram for AtomsHashTable:
-
struct AtomStringIntPair
-
struct AVMPackData
Collaboration diagram for AVMPackData:
Public Members
-
const struct AVMPackInfo *obj_info
-
struct ListHead avmpack_head
-
bool in_use
-
int name_atom_id
-
const void *data
-
const struct AVMPackInfo *obj_info
-
struct AVMPackInfo
Public Members
-
void (*destructor)(struct AVMPackData *obj, GlobalContext *global)
-
void (*destructor)(struct AVMPackData *obj, GlobalContext *global)
-
struct Bif
Collaboration diagram for Bif:
Public Members
-
struct ExportedFunction base
-
BifImpl0 bif0_ptr
-
BifImpl1 bif1_ptr
-
BifImpl2 bif2_ptr
- union Bif
-
struct ExportedFunction base
-
struct BuiltInAtomRequestSignal
Collaboration diagram for BuiltInAtomRequestSignal:
-
struct BuiltInAtomSignal
Collaboration diagram for BuiltInAtomSignal:
-
struct CharDataToBytesAcc
Collaboration diagram for CharDataToBytesAcc:
Public Members
-
enum CharDataEncoding in_encoding
-
enum CharDataEncoding out_encoding
-
uint8_t *output
-
term *rest
-
Heap *heap
-
bool badarg
-
bool incomplete_transform
-
enum CharDataEncoding in_encoding
-
struct CharDataToBytesSizeAcc
Public Members
-
enum CharDataEncoding in_encoding
-
enum CharDataEncoding out_encoding
-
size_t size
-
size_t rest_size
-
bool badarg
-
bool incomplete_transform
-
enum CharDataEncoding in_encoding
-
struct ConstAVMPack
Collaboration diagram for ConstAVMPack:
Public Members
-
struct AVMPackData base
-
struct AVMPackData base
-
struct Context
Collaboration diagram for Context:
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
-
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
-
GlobalContext *global
-
struct ContextAccumulator
Collaboration diagram for ContextAccumulator:
-
struct DictEntry
Collaboration diagram for DictEntry:
-
union dreg_type_t
-
struct ErlNifEnv
Collaboration diagram for ErlNifEnv:
-
struct ErlNifResourceTypeInit
Public Members
-
int members
-
ErlNifResourceDtor *dtor
-
ErlNifResourceStop *stop
-
ErlNifResourceDown *down
-
int members
-
struct ExportedFunction
Public Members
-
enum FunctionType type
-
enum FunctionType type
-
union float_term_t
-
struct FprintfFun
Collaboration diagram for FprintfFun:
-
struct GCBif
Collaboration diagram for GCBif:
Public Members
-
struct ExportedFunction base
-
GCBifImpl1 gcbif1_ptr
-
GCBifImpl2 gcbif2_ptr
-
GCBifImpl3 gcbif3_ptr
- union GCBif
-
struct ExportedFunction base
-
struct GlobalContext
Collaboration diagram for GlobalContext:
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 AtomsHashTable *atoms_table
-
struct ValuesHashTable *atoms_ids_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 ListHead ready_processes
-
struct Heap
Collaboration diagram for Heap:
-
struct HeapFragment
Collaboration diagram for HeapFragment:
-
struct HNode
Collaboration diagram for HNode:
-
struct IFFRecord
Public Members
-
const char name[4]
-
uint32_t size
-
const char name[4]
-
struct InMemoryAVMPack
Collaboration diagram for InMemoryAVMPack:
Public Members
-
struct AVMPackData base
-
struct AVMPackData base
-
struct Int24
Public Members
-
int32_t val24
-
int32_t val24
-
struct Int40
Public Members
-
int64_t val40
-
int64_t val40
-
struct Int48
Public Members
-
int64_t val48
-
int64_t val48
-
struct Int56
Public Members
-
int64_t val56
-
int64_t val56
-
struct kv_pair
-
struct LineRefOffset
Collaboration diagram for LineRefOffset:
-
struct ListHead
Collaboration diagram for ListHead:
-
struct LiteralEntry
Public Members
-
uint32_t size
-
void const *data
-
uint32_t size
-
struct Mailbox
Collaboration diagram for Mailbox:
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:
Public Members
-
MailboxMessage *next
-
enum MessageType type
-
term *heap_fragment_end
- union MailboxMessage
-
MailboxMessage *next
-
union maybe_unsigned_int16
Public Members
-
uint16_t u
-
int16_t s
-
uint16_t u
-
union maybe_unsigned_int32
Public Members
-
uint32_t u
-
int32_t s
-
uint32_t u
-
union maybe_unsigned_int64
Public Members
-
uint64_t u
-
int64_t s
-
uint64_t u
-
union maybe_unsigned_int8
Public Members
-
uint8_t u
-
int8_t s
-
uint8_t u
-
struct Message
Collaboration diagram for Message:
-
struct Module
Collaboration diagram for Module:
Public Members
-
GlobalContext *global
-
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
-
void **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
-
GlobalContext *global
-
struct ModuleFilename
Public Members
-
uint8_t *data
-
size_t len
-
uint8_t *data
-
struct ModuleFunction
Collaboration diagram for ModuleFunction:
-
struct Monitor
Collaboration diagram for Monitor:
-
struct Nif
Collaboration diagram for Nif:
-
struct PrinterFun
Collaboration diagram for PrinterFun:
Public Members
-
printer_function_t print
-
printer_function_t print
-
struct RefcBinary
Collaboration diagram for RefcBinary:
Public Members
-
struct ListHead head
- size_t ATOMIC ref_count
-
size_t size
-
struct ResourceType *resource_type
-
uint8_t data[]
-
struct ListHead head
-
struct RefcBinaryAVMPack
Collaboration diagram for RefcBinaryAVMPack:
-
struct RefSignal
Collaboration diagram for RefSignal:
-
struct RegisteredProcess
Collaboration diagram for RegisteredProcess:
-
struct ResourceMonitor
Collaboration diagram for ResourceMonitor:
-
struct ResourceType
Collaboration diagram for ResourceType:
Public Members
-
struct ListHead head
-
const char *name
-
GlobalContext *global
-
struct ListHead monitors
-
ErlNifResourceDtor *dtor
-
ErlNifResourceStop *stop
-
ErlNifResourceDown *down
-
struct ListHead head
-
struct SelectEvent
Collaboration diagram for SelectEvent:
Public Members
-
struct ListHead head
-
ErlNifEvent event
-
struct RefcBinary *resource
-
bool read
-
bool write
-
bool undefined_ref
-
bool close
-
int32_t local_pid
-
uint64_t ref_ticks
-
struct ListHead head
-
struct SnprintfFun
Collaboration diagram for SnprintfFun:
-
struct SpinLock
Public Members
- int ATOMIC lock
-
struct SyncList
Collaboration diagram for SyncList:
-
struct TempStack
-
struct TermSignal
Collaboration diagram for TermSignal:
-
struct TimerList
Collaboration diagram for TimerList:
-
struct TimerListItem
Collaboration diagram for TimerListItem:
-
struct UnresolvedFunctionCall
Collaboration diagram for UnresolvedFunctionCall:
-
struct ValuesHashTable
Collaboration diagram for ValuesHashTable:
- file atom.c
Include dependency graph for atom.c:
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)
-
void atom_string_to_c(AtomString atom_string, char *buf, size_t bufsize)
- file atom.h
Include dependency graph for atom.h:
This graph shows which files directly or indirectly include atom.h:
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)
-
ATOM_STR(LENSTR, STR)
- file atomshashtable.c
Include dependency graph for atomshashtable.c:
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)
-
SMP_RDLOCK(htable)
- file atomshashtable.h
Include dependency graph for atomshashtable.h:
This graph shows which files directly or indirectly include atomshashtable.h:
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)
-
TYPEDEF_RWLOCK
- file avmpack.c
Include dependency graph for avmpack.c:
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}
-
AVMPACK_SIZE
- file avmpack.h
Include dependency graph for avmpack.h:
This graph shows which files directly or indirectly include avmpack.h:
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
-
END_OF_FILE
- file bif.c
Include dependency graph for bif.c:
Defines
-
RAISE_ERROR(error_type_atom)
-
VALIDATE_VALUE(value, verify_function)
-
INT64_MIN_AS_FLOAT
-
INT64_MAX_AS_FLOAT
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)
-
static inline term make_boxed_int64(Context *ctx, avm_int64_t value)
-
static inline term make_maybe_boxed_int64(Context *ctx, avm_int64_t value)
-
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)
-
static inline int64_t band(int64_t a, int64_t b)
-
static inline int64_t bxor(int64_t a, int64_t b)
-
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)
-
static inline int64_t bsr(int64_t a, avm_int_t b)
-
RAISE_ERROR(error_type_atom)
- file bif.h
Include dependency graph for bif.h:
This graph shows which files directly or indirectly include bif.h:
Defines
-
MAX_BIF_NAME_LEN
Functions
-
const struct ExportedFunction *bif_registry_get_handler(AtomString module, AtomString function, int arity)
-
MAX_BIF_NAME_LEN
- file bitstring.c
Include dependency graph for bitstring.c:
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(avm_int_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(avm_int_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(avm_int_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 uint64_t from_le64(uint64_t value)
- file bitstring.h
Include dependency graph for bitstring.h:
This graph shows which files directly or indirectly include bitstring.h:
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
-
enumerator LittleEndianInteger
-
enum UnicodeTransformDecodeResult
Values:
-
enumerator UnicodeTransformDecodeSuccess
-
enumerator UnicodeTransformDecodeFail
-
enumerator UnicodeTransformDecodeIncomplete
-
enumerator UnicodeTransformDecodeSuccess
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(avm_int_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(avm_int_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(avm_int_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(avm_int_t c, size_t *out_size)
-
static inline bool bitstring_utf16_size(avm_int_t c, size_t *out_size)
-
static inline bool bitstring_insert_utf8(term dst_bin, size_t offset, avm_int_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, avm_int_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, avm_int_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)
-
READ_16LE_UNALIGNED(ptr)
- file context.c
Include dependency graph for context.c:
Defines
-
IMPL_EXECUTE_LOOP
-
DEFAULT_STACK_SIZE
-
BYTES_PER_TERM
Functions
-
static void 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)
-
struct ResourceMonitor *context_resource_monitor(Context *ctx, void *resource)
-
IMPL_EXECUTE_LOOP
- file context.h
Include dependency graph for context.h:
This graph shows which files directly or indirectly include context.h:
Defines
-
MAX_REG
Typedefs
-
typedef enum NativeHandlerResult NativeHandlerResult
-
typedef NativeHandlerResult (*native_handler_f)(Context *ctx)
Enums
-
enum NativeHandlerResult
Values:
-
enumerator NativeTerminate
-
enumerator NativeContinue
-
enumerator NativeTerminate
-
enum ContextFlags
Values:
-
enumerator NoFlags
-
enumerator WaitingTimeout
-
enumerator WaitingTimeoutExpired
-
enumerator Running
-
enumerator Ready
-
enumerator Killed
-
enumerator Trap
-
enumerator NoFlags
Functions
-
Context *context_new(GlobalContext *glb)
-
void context_destroy(Context *c)
-
static inline void context_ensure_fpregs(Context *c)
-
static inline int context_is_port_driver(const Context *ctx)
-
static inline void context_clean_registers(Context *ctx, int live)
-
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)
-
struct ResourceMonitor *context_resource_monitor(Context *ctx, void *resource)
-
MAX_REG
- file debug.c
Include dependency graph for debug.c:
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:
This graph shows which files directly or indirectly include debug.h:
Defines
-
DEBUG_DUMP_STACK(...)
-
DEBUG_DUMP_STACK(...)
- file defaultatoms.c
Include dependency graph for defaultatoms.c:
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"
-
void defaultatoms_init(GlobalContext *glb)
- file defaultatoms.h
Include dependency graph for defaultatoms.h:
This graph shows which files directly or indirectly include defaultatoms.h:
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
-
LINK_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
-
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
-
LINK_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
Functions
-
void defaultatoms_init(GlobalContext *glb)
-
void platform_defaultatoms_init(GlobalContext *glb)
-
FALSE_ATOM_INDEX
- file dictionary.c
Include dependency graph for dictionary.c:
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 *global)
-
DictionaryFunctionResult dictionary_get(struct ListHead *dict, term key, term *old, GlobalContext *global)
-
DictionaryFunctionResult dictionary_erase(struct ListHead *dict, term key, term *old, GlobalContext *global)
-
void dictionary_destroy(struct ListHead *dict)
-
static DictionaryFunctionResult dictionary_find(struct ListHead *dictionary, term key, struct DictEntry **found, GlobalContext *global)
- file dictionary.h
Include dependency graph for dictionary.h:
This graph shows which files directly or indirectly include dictionary.h:
Enums
-
enum DictionaryFunctionResult
Values:
-
enumerator DictionaryOk
-
enumerator DictionaryMemoryAllocFail
-
enumerator DictionaryOk
Functions
-
DictionaryFunctionResult dictionary_put(struct ListHead *dict, term key, term value, term *old, GlobalContext *ctx)
-
DictionaryFunctionResult dictionary_get(struct ListHead *dict, term key, term *old, GlobalContext *ctx)
-
DictionaryFunctionResult dictionary_erase(struct ListHead *dict, term key, term *old, GlobalContext *ctx)
-
void dictionary_destroy(struct ListHead *dict)
-
enum DictionaryFunctionResult
- file erl_nif.h
Include dependency graph for erl_nif.h:
This graph shows which files directly or indirectly include erl_nif.h:
Typedefs
-
typedef struct ErlNifEnv ErlNifEnv
-
typedef term ERL_NIF_TERM
-
typedef int32_t ErlNifPid
-
typedef struct ResourceType ErlNifResourceType
-
typedef uint64_t ErlNifMonitor
-
typedef int ErlNifEvent
-
typedef void ErlNifResourceDtor(ErlNifEnv *caller_env, void *obj)
-
typedef void ErlNifResourceStop(ErlNifEnv *caller_env, void *obj, ErlNifEvent event, int is_direct_call)
-
typedef void ErlNifResourceDown(ErlNifEnv *caller_env, void *obj, ErlNifPid *pid, ErlNifMonitor *mon)
Enums
-
enum ErlNifResourceFlags
Values:
-
enumerator ERL_NIF_RT_CREATE
-
enumerator ERL_NIF_RT_CREATE
-
enum ErlNifSelectFlags
Values:
-
enumerator ERL_NIF_SELECT_READ
-
enumerator ERL_NIF_SELECT_WRITE
-
enumerator ERL_NIF_SELECT_STOP
-
enumerator ERL_NIF_SELECT_READ
Values:
-
enumerator ERL_NIF_SELECT_STOP_CALLED
-
enumerator ERL_NIF_SELECT_STOP_SCHEDULED
-
enumerator ERL_NIF_SELECT_INVALID_EVENT
-
enumerator ERL_NIF_SELECT_FAILED
-
enumerator ERL_NIF_SELECT_BADARG
-
enumerator ERL_NIF_SELECT_STOP_CALLED
Functions
-
ErlNifResourceType *enif_init_resource_type(ErlNifEnv *env, const char *name, const ErlNifResourceTypeInit *init, ErlNifResourceFlags flags, ErlNifResourceFlags *tried)
-
void *enif_alloc_resource(ErlNifResourceType *type, unsigned size)
-
int enif_get_resource(ErlNifEnv *env, ERL_NIF_TERM t, ErlNifResourceType *type, void **objp)
-
int enif_keep_resource(void *resource)
-
int enif_release_resource(void *resource)
-
ERL_NIF_TERM enif_make_resource(ErlNifEnv *env, void *obj)
-
int enif_select(ErlNifEnv *env, ErlNifEvent event, enum ErlNifSelectFlags mode, void *obj, const ErlNifPid *pid, ERL_NIF_TERM ref)
-
int enif_monitor_process(ErlNifEnv *env, void *obj, const ErlNifPid *target_pid, ErlNifMonitor *mon)
-
int enif_demonitor_process(ErlNifEnv *caller_env, void *obj, const ErlNifMonitor *mon)
-
int enif_compare_monitors(const ErlNifMonitor *monitor1, const ErlNifMonitor *monitor2)
-
typedef struct ErlNifEnv ErlNifEnv
- file erl_nif_priv.h
Include dependency graph for erl_nif_priv.h:
This graph shows which files directly or indirectly include erl_nif_priv.h:
Functions
-
static inline bool erl_nif_env_is_context(ErlNifEnv *env)
-
static inline void erl_nif_env_partial_init_from_globalcontext(ErlNifEnv *env, GlobalContext *global)
-
static inline bool erl_nif_env_is_context(ErlNifEnv *env)
- file exportedfunction.h
Include dependency graph for exportedfunction.h:
This graph shows which files directly or indirectly include exportedfunction.h:
Defines
-
TYPEDEF_MODULE
-
EXPORTED_FUNCTION_TO_BIF(func)
-
EXPORTED_FUNCTION_TO_GCBIF(func)
-
EXPORTED_FUNCTION_TO_NIF(func)
-
EXPORTED_FUNCTION_TO_UNRESOLVED_FUNCTION_CALL(func)
-
EXPORTED_FUNCTION_TO_MODULE_FUNCTION(func)
Typedefs
-
typedef struct Module Module
Enums
-
enum FunctionType
Values:
-
enumerator InvalidFunctionType
-
enumerator NIFFunctionType
-
enumerator UnresolvedFunctionCall
-
enumerator ModuleFunction
-
enumerator BIFFunctionType
-
enumerator GCBIFFunctionType
-
enumerator InvalidFunctionType
-
TYPEDEF_MODULE
- file externalterm.c
Include dependency graph for externalterm.c:
Defines
-
EXTERNAL_TERM_TAG
-
NEW_FLOAT_EXT
-
SMALL_INTEGER_EXT
-
INTEGER_EXT
-
ATOM_EXT
-
SMALL_TUPLE_EXT
-
NIL_EXT
-
STRING_EXT
-
LIST_EXT
-
BINARY_EXT
-
SMALL_BIG_EXT
-
EXPORT_EXT
-
MAP_EXT
-
SMALL_ATOM_UTF8_EXT
-
INVALID_TERM_SIZE
-
NEW_FLOAT_EXT_SIZE
-
SMALL_INTEGER_EXT_SIZE
-
INTEGER_EXT_SIZE
-
SMALL_BIG_EXT_BASE_SIZE
-
ATOM_EXT_BASE_SIZE
-
STRING_EXT_BASE_SIZE
-
LIST_EXT_BASE_SIZE
-
BINARY_EXT_BASE_SIZE
-
MAP_EXT_BASE_SIZE
-
SMALL_ATOM_EXT_BASE_SIZE
-
SIGNED_INT_TO_UNSIGNED(val, unsigned_type)
Functions
-
static term parse_external_terms(const uint8_t *external_term_buf, size_t *eterm_size, bool copy, Heap *heap, GlobalContext *glb)
-
static int calculate_heap_usage(const uint8_t *external_term_buf, size_t remaining, size_t *eterm_size, bool copy)
-
EXTERNAL_TERM_TAG