smp.h
Include dependency graph for smp.h:
digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"1" [label="/__w/AtomVM/AtomVM/src/libAtomVM/smp.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/smp.h" fillcolor="#BFBFBF"]
"2" [label="stdbool.h" tooltip="stdbool.h"]
"1" -> "2" [dir=forward tooltip="include"]
}
This graph shows which files directly or indirectly include smp.h:
digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"2" [label="/__w/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/atom_table.c"]
"50" [label="/__w/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
"49" [label="/__w/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
"3" [label="/__w/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/bif.c"]
"6" [label="/__w/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/bif.h"]
"63" [label="/__w/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
"62" [label="/__w/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
"4" [label="/__w/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/context.c"]
"5" [label="/__w/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/context.h"]
"12" [label="/__w/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/debug.c"]
"11" [label="/__w/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/debug.h"]
"51" [label="/__w/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
"52" [label="/__w/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
"65" [label="/__w/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
"14" [label="/__w/AtomVM/AtomVM/src/libAtomVM/dist_nifs.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/dist_nifs.c"]
"53" [label="/__w/AtomVM/AtomVM/src/libAtomVM/dist_nifs.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/dist_nifs.h"]
"15" [label="/__w/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
"25" [label="/__w/AtomVM/AtomVM/src/libAtomVM/ets.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/ets.c"]
"58" [label="/__w/AtomVM/AtomVM/src/libAtomVM/ets.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/ets.h"]
"54" [label="/__w/AtomVM/AtomVM/src/libAtomVM/ets_multimap.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/ets_multimap.c"]
"55" [label="/__w/AtomVM/AtomVM/src/libAtomVM/ets_multimap.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/ets_multimap.h"]
"66" [label="/__w/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
"26" [label="/__w/AtomVM/AtomVM/src/libAtomVM/external_term.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/external_term.c"]
"67" [label="/__w/AtomVM/AtomVM/src/libAtomVM/external_term.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/external_term.h"]
"16" [label="/__w/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
"48" [label="/__w/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
"29" [label="/__w/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/inet.c"]
"28" [label="/__w/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/inet.h"]
"31" [label="/__w/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/interop.c"]
"27" [label="/__w/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/interop.h"]
"7" [label="/__w/AtomVM/AtomVM/src/libAtomVM/jit.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/jit.c"]
"64" [label="/__w/AtomVM/AtomVM/src/libAtomVM/jit.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/jit.h"]
"17" [label="/__w/AtomVM/AtomVM/src/libAtomVM/jit_stream_flash.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/jit_stream_flash.c"]
"34" [label="/__w/AtomVM/AtomVM/src/libAtomVM/jit_stream_flash.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/jit_stream_flash.h"]
"47" [label="/__w/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
"13" [label="/__w/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/memory.c"]
"8" [label="/__w/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/module.c"]
"33" [label="/__w/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/module.h"]
"9" [label="/__w/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
"38" [label="/__w/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
"18" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
"19" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
"30" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
"39" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
"20" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
"40" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
"21" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
"41" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
"68" [label="/__w/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
"35" [label="/__w/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
"44" [label="/__w/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/port.c"]
"45" [label="/__w/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/port.h"]
"43" [label="/__w/AtomVM/AtomVM/src/libAtomVM/portnifloader.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/portnifloader.c"]
"42" [label="/__w/AtomVM/AtomVM/src/libAtomVM/portnifloader.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/portnifloader.h"]
"22" [label="/__w/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
"56" [label="/__w/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
"23" [label="/__w/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
"60" [label="/__w/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/refc_binary.h"]
"24" [label="/__w/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/resources.c"]
"59" [label="/__w/AtomVM/AtomVM/src/libAtomVM/resources.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/resources.h"]
"46" [label="/__w/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
"1" [label="/__w/AtomVM/AtomVM/src/libAtomVM/smp.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/smp.h" fillcolor="#BFBFBF"]
"10" [label="/__w/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
"36" [label="/__w/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
"57" [label="/__w/AtomVM/AtomVM/src/libAtomVM/synclist.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/synclist.h"]
"37" [label="/__w/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/sys.h"]
"32" [label="/__w/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/term.c"]
"61" [label="/__w/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/term.h"]
"69" [label="/__w/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c"]
"49" -> "50" [dir=back tooltip="include"]
"49" -> "16" [dir=back tooltip="include"]
"49" -> "17" [dir=back tooltip="include"]
"49" -> "9" [dir=back tooltip="include"]
"6" -> "3" [dir=back tooltip="include"]
"6" -> "7" [dir=back tooltip="include"]
"6" -> "8" [dir=back tooltip="include"]
"6" -> "9" [dir=back tooltip="include"]
"6" -> "10" [dir=back tooltip="include"]
"62" -> "3" [dir=back tooltip="include"]
"62" -> "63" [dir=back tooltip="include"]
"62" -> "26" [dir=back tooltip="include"]
"62" -> "31" [dir=back tooltip="include"]
"62" -> "7" [dir=back tooltip="include"]
"62" -> "64" [dir=back tooltip="include"]
"62" -> "9" [dir=back tooltip="include"]
"5" -> "6" [dir=back tooltip="include"]
"5" -> "4" [dir=back tooltip="include"]
"5" -> "11" [dir=back tooltip="include"]
"5" -> "14" [dir=back tooltip="include"]
"5" -> "15" [dir=back tooltip="include"]
"5" -> "25" [dir=back tooltip="include"]
"5" -> "26" [dir=back tooltip="include"]
"5" -> "16" [dir=back tooltip="include"]
"5" -> "27" [dir=back tooltip="include"]
"5" -> "7" [dir=back tooltip="include"]
"5" -> "17" [dir=back tooltip="include"]
"5" -> "13" [dir=back tooltip="include"]
"5" -> "8" [dir=back tooltip="include"]
"5" -> "33" [dir=back tooltip="include"]
"5" -> "9" [dir=back tooltip="include"]
"5" -> "38" [dir=back tooltip="include"]
"5" -> "18" [dir=back tooltip="include"]
"5" -> "30" [dir=back tooltip="include"]
"5" -> "20" [dir=back tooltip="include"]
"5" -> "21" [dir=back tooltip="include"]
"5" -> "44" [dir=back tooltip="include"]
"5" -> "45" [dir=back tooltip="include"]
"5" -> "42" [dir=back tooltip="include"]
"5" -> "23" [dir=back tooltip="include"]
"5" -> "24" [dir=back tooltip="include"]
"5" -> "46" [dir=back tooltip="include"]
"5" -> "36" [dir=back tooltip="include"]
"5" -> "32" [dir=back tooltip="include"]
"11" -> "12" [dir=back tooltip="include"]
"11" -> "7" [dir=back tooltip="include"]
"11" -> "13" [dir=back tooltip="include"]
"51" -> "3" [dir=back tooltip="include"]
"51" -> "4" [dir=back tooltip="include"]
"51" -> "52" [dir=back tooltip="include"]
"51" -> "14" [dir=back tooltip="include"]
"51" -> "25" [dir=back tooltip="include"]
"51" -> "26" [dir=back tooltip="include"]
"51" -> "16" [dir=back tooltip="include"]
"51" -> "31" [dir=back tooltip="include"]
"51" -> "7" [dir=back tooltip="include"]
"51" -> "17" [dir=back tooltip="include"]
"51" -> "8" [dir=back tooltip="include"]
"51" -> "9" [dir=back tooltip="include"]
"51" -> "18" [dir=back tooltip="include"]
"51" -> "30" [dir=back tooltip="include"]
"51" -> "20" [dir=back tooltip="include"]
"51" -> "21" [dir=back tooltip="include"]
"51" -> "44" [dir=back tooltip="include"]
"51" -> "45" [dir=back tooltip="include"]
"51" -> "22" [dir=back tooltip="include"]
"51" -> "24" [dir=back tooltip="include"]
"51" -> "10" [dir=back tooltip="include"]
"51" -> "32" [dir=back tooltip="include"]
"65" -> "3" [dir=back tooltip="include"]
"65" -> "4" [dir=back tooltip="include"]
"65" -> "52" [dir=back tooltip="include"]
"65" -> "13" [dir=back tooltip="include"]
"65" -> "9" [dir=back tooltip="include"]
"65" -> "20" [dir=back tooltip="include"]
"65" -> "23" [dir=back tooltip="include"]
"53" -> "14" [dir=back tooltip="include"]
"53" -> "16" [dir=back tooltip="include"]
"53" -> "7" [dir=back tooltip="include"]
"53" -> "9" [dir=back tooltip="include"]
"15" -> "4" [dir=back tooltip="include"]
"15" -> "14" [dir=back tooltip="include"]
"15" -> "16" [dir=back tooltip="include"]
"15" -> "17" [dir=back tooltip="include"]
"15" -> "13" [dir=back tooltip="include"]
"15" -> "9" [dir=back tooltip="include"]
"15" -> "18" [dir=back tooltip="include"]
"15" -> "19" [dir=back tooltip="include"]
"15" -> "20" [dir=back tooltip="include"]
"15" -> "21" [dir=back tooltip="include"]
"15" -> "22" [dir=back tooltip="include"]
"15" -> "23" [dir=back tooltip="include"]
"15" -> "24" [dir=back tooltip="include"]
"58" -> "25" [dir=back tooltip="include"]
"58" -> "48" [dir=back tooltip="include"]
"58" -> "9" [dir=back tooltip="include"]
"55" -> "25" [dir=back tooltip="include"]
"55" -> "54" [dir=back tooltip="include"]
"66" -> "6" [dir=back tooltip="include"]
"66" -> "53" [dir=back tooltip="include"]
"66" -> "64" [dir=back tooltip="include"]
"66" -> "33" [dir=back tooltip="include"]
"66" -> "38" [dir=back tooltip="include"]
"66" -> "35" [dir=back tooltip="include"]
"66" -> "56" [dir=back tooltip="include"]
"67" -> "14" [dir=back tooltip="include"]
"67" -> "26" [dir=back tooltip="include"]
"67" -> "8" [dir=back tooltip="include"]
"67" -> "9" [dir=back tooltip="include"]
"48" -> "49" [dir=back tooltip="include"]
"48" -> "4" [dir=back tooltip="include"]
"48" -> "5" [dir=back tooltip="include"]
"48" -> "51" [dir=back tooltip="include"]
"48" -> "14" [dir=back tooltip="include"]
"48" -> "53" [dir=back tooltip="include"]
"48" -> "54" [dir=back tooltip="include"]
"48" -> "55" [dir=back tooltip="include"]
"48" -> "16" [dir=back tooltip="include"]
"48" -> "17" [dir=back tooltip="include"]
"48" -> "34" [dir=back tooltip="include"]
"48" -> "13" [dir=back tooltip="include"]
"48" -> "8" [dir=back tooltip="include"]
"48" -> "33" [dir=back tooltip="include"]
"48" -> "9" [dir=back tooltip="include"]
"48" -> "18" [dir=back tooltip="include"]
"48" -> "30" [dir=back tooltip="include"]
"48" -> "39" [dir=back tooltip="include"]
"48" -> "20" [dir=back tooltip="include"]
"48" -> "40" [dir=back tooltip="include"]
"48" -> "21" [dir=back tooltip="include"]
"48" -> "41" [dir=back tooltip="include"]
"48" -> "44" [dir=back tooltip="include"]
"48" -> "45" [dir=back tooltip="include"]
"48" -> "42" [dir=back tooltip="include"]
"48" -> "22" [dir=back tooltip="include"]
"48" -> "56" [dir=back tooltip="include"]
"48" -> "24" [dir=back tooltip="include"]
"48" -> "46" [dir=back tooltip="include"]
"48" -> "10" [dir=back tooltip="include"]
"48" -> "37" [dir=back tooltip="include"]
"28" -> "29" [dir=back tooltip="include"]
"28" -> "30" [dir=back tooltip="include"]
"28" -> "20" [dir=back tooltip="include"]
"28" -> "21" [dir=back tooltip="include"]
"27" -> "3" [dir=back tooltip="include"]
"27" -> "16" [dir=back tooltip="include"]
"27" -> "28" [dir=back tooltip="include"]
"27" -> "31" [dir=back tooltip="include"]
"27" -> "9" [dir=back tooltip="include"]
"27" -> "18" [dir=back tooltip="include"]
"27" -> "30" [dir=back tooltip="include"]
"27" -> "20" [dir=back tooltip="include"]
"27" -> "21" [dir=back tooltip="include"]
"27" -> "22" [dir=back tooltip="include"]
"27" -> "32" [dir=back tooltip="include"]
"64" -> "5" [dir=back tooltip="include"]
"64" -> "7" [dir=back tooltip="include"]
"64" -> "17" [dir=back tooltip="include"]
"64" -> "8" [dir=back tooltip="include"]
"64" -> "33" [dir=back tooltip="include"]
"64" -> "9" [dir=back tooltip="include"]
"34" -> "17" [dir=back tooltip="include"]
"33" -> "6" [dir=back tooltip="include"]
"33" -> "26" [dir=back tooltip="include"]
"33" -> "7" [dir=back tooltip="include"]
"33" -> "17" [dir=back tooltip="include"]
"33" -> "34" [dir=back tooltip="include"]
"33" -> "8" [dir=back tooltip="include"]
"33" -> "9" [dir=back tooltip="include"]
"33" -> "35" [dir=back tooltip="include"]
"33" -> "36" [dir=back tooltip="include"]
"33" -> "37" [dir=back tooltip="include"]
"33" -> "32" [dir=back tooltip="include"]
"38" -> "14" [dir=back tooltip="include"]
"38" -> "7" [dir=back tooltip="include"]
"38" -> "17" [dir=back tooltip="include"]
"38" -> "8" [dir=back tooltip="include"]
"38" -> "9" [dir=back tooltip="include"]
"38" -> "18" [dir=back tooltip="include"]
"38" -> "19" [dir=back tooltip="include"]
"38" -> "30" [dir=back tooltip="include"]
"38" -> "39" [dir=back tooltip="include"]
"38" -> "20" [dir=back tooltip="include"]
"38" -> "40" [dir=back tooltip="include"]
"38" -> "21" [dir=back tooltip="include"]
"38" -> "41" [dir=back tooltip="include"]
"38" -> "42" [dir=back tooltip="include"]
"38" -> "22" [dir=back tooltip="include"]
"38" -> "10" [dir=back tooltip="include"]
"19" -> "16" [dir=back tooltip="include"]
"19" -> "18" [dir=back tooltip="include"]
"39" -> "30" [dir=back tooltip="include"]
"40" -> "20" [dir=back tooltip="include"]
"40" -> "21" [dir=back tooltip="include"]
"41" -> "21" [dir=back tooltip="include"]
"68" -> "3" [dir=back tooltip="include"]
"68" -> "25" [dir=back tooltip="include"]
"35" -> "9" [dir=back tooltip="include"]
"45" -> "29" [dir=back tooltip="include"]
"45" -> "9" [dir=back tooltip="include"]
"45" -> "30" [dir=back tooltip="include"]
"45" -> "20" [dir=back tooltip="include"]
"45" -> "21" [dir=back tooltip="include"]
"45" -> "44" [dir=back tooltip="include"]
"42" -> "43" [dir=back tooltip="include"]
"56" -> "16" [dir=back tooltip="include"]
"56" -> "9" [dir=back tooltip="include"]
"56" -> "30" [dir=back tooltip="include"]
"56" -> "20" [dir=back tooltip="include"]
"56" -> "22" [dir=back tooltip="include"]
"60" -> "16" [dir=back tooltip="include"]
"60" -> "13" [dir=back tooltip="include"]
"60" -> "20" [dir=back tooltip="include"]
"60" -> "21" [dir=back tooltip="include"]
"60" -> "23" [dir=back tooltip="include"]
"60" -> "24" [dir=back tooltip="include"]
"60" -> "61" [dir=back tooltip="include"]
"59" -> "15" [dir=back tooltip="include"]
"59" -> "26" [dir=back tooltip="include"]
"59" -> "16" [dir=back tooltip="include"]
"59" -> "60" [dir=back tooltip="include"]
"59" -> "24" [dir=back tooltip="include"]
"59" -> "61" [dir=back tooltip="include"]
"46" -> "16" [dir=back tooltip="include"]
"46" -> "7" [dir=back tooltip="include"]
"46" -> "47" [dir=back tooltip="include"]
"46" -> "9" [dir=back tooltip="include"]
"46" -> "20" [dir=back tooltip="include"]
"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" -> "25" [dir=back tooltip="include"]
"1" -> "16" [dir=back tooltip="include"]
"1" -> "48" [dir=back tooltip="include"]
"1" -> "8" [dir=back tooltip="include"]
"1" -> "9" [dir=back tooltip="include"]
"1" -> "18" [dir=back tooltip="include"]
"1" -> "20" [dir=back tooltip="include"]
"1" -> "57" [dir=back tooltip="include"]
"1" -> "69" [dir=back tooltip="include"]
"36" -> "7" [dir=back tooltip="include"]
"36" -> "10" [dir=back tooltip="include"]
"57" -> "4" [dir=back tooltip="include"]
"57" -> "14" [dir=back tooltip="include"]
"57" -> "58" [dir=back tooltip="include"]
"57" -> "16" [dir=back tooltip="include"]
"57" -> "48" [dir=back tooltip="include"]
"57" -> "47" [dir=back tooltip="include"]
"57" -> "9" [dir=back tooltip="include"]
"57" -> "24" [dir=back tooltip="include"]
"57" -> "59" [dir=back tooltip="include"]
"37" -> "4" [dir=back tooltip="include"]
"37" -> "16" [dir=back tooltip="include"]
"37" -> "17" [dir=back tooltip="include"]
"37" -> "8" [dir=back tooltip="include"]
"37" -> "9" [dir=back tooltip="include"]
"37" -> "20" [dir=back tooltip="include"]
"37" -> "24" [dir=back tooltip="include"]
"61" -> "3" [dir=back tooltip="include"]
"61" -> "62" [dir=back tooltip="include"]
"61" -> "4" [dir=back tooltip="include"]
"61" -> "5" [dir=back tooltip="include"]
"61" -> "52" [dir=back tooltip="include"]
"61" -> "65" [dir=back tooltip="include"]
"61" -> "14" [dir=back tooltip="include"]
"61" -> "53" [dir=back tooltip="include"]
"61" -> "25" [dir=back tooltip="include"]
"61" -> "58" [dir=back tooltip="include"]
"61" -> "54" [dir=back tooltip="include"]
"61" -> "55" [dir=back tooltip="include"]
"61" -> "66" [dir=back tooltip="include"]
"61" -> "26" [dir=back tooltip="include"]
"61" -> "67" [dir=back tooltip="include"]
"61" -> "16" [dir=back tooltip="include"]
"61" -> "48" [dir=back tooltip="include"]
"61" -> "29" [dir=back tooltip="include"]
"61" -> "31" [dir=back tooltip="include"]
"61" -> "27" [dir=back tooltip="include"]
"61" -> "7" [dir=back tooltip="include"]
"61" -> "64" [dir=back tooltip="include"]
"61" -> "17" [dir=back tooltip="include"]
"61" -> "13" [dir=back tooltip="include"]
"61" -> "8" [dir=back tooltip="include"]
"61" -> "33" [dir=back tooltip="include"]
"61" -> "9" [dir=back tooltip="include"]
"61" -> "18" [dir=back tooltip="include"]
"61" -> "30" [dir=back tooltip="include"]
"61" -> "20" [dir=back tooltip="include"]
"61" -> "21" [dir=back tooltip="include"]
"61" -> "68" [dir=back tooltip="include"]
"61" -> "45" [dir=back tooltip="include"]
"61" -> "56" [dir=back tooltip="include"]
"61" -> "36" [dir=back tooltip="include"]
"61" -> "32" [dir=back tooltip="include"]
}
Multicore support functions.
This header defines multicore support functions to be implemented for SMP builds.
Functions
Mutex * smp_mutex_create ( void )
Create a new mutex.
Returns:
a pointer to a mutex.
void smp_mutex_destroy ( Mutex * mtx )
Destroy a mutex.
Parameters:
void smp_mutex_lock ( Mutex * mtx )
Lock a mutex.
Parameters:
bool smp_mutex_trylock ( Mutex * mtx )
Try and lock a mutex.
Parameters:
Returns:
true if the mutex was acquired.
void smp_mutex_unlock ( Mutex * mtx )
Unlock a mutex.
Parameters:
CondVar * smp_condvar_create ( void )
Create a new condition variable.
Returns:
a pointer to a cv.
void smp_condvar_destroy ( CondVar * cv )
Destroy a condition variable.
Parameters:
void smp_condvar_wait ( CondVar * cv , Mutex * mtx )
Wait on a condition variable, atomically unlocking the mutex.
Parameters:
void smp_condvar_signal ( CondVar * cv )
Signal a single thread waiting on a condition variable.
Parameters:
RWLock * smp_rwlock_create ( void )
Create a new rwlock.
A RW Lock can be replaced by a mutex if RW Lock are not available on the platform.
Returns:
a pointer to a lock.
void smp_rwlock_destroy ( RWLock * lock )
Destroy a rwlock.
Parameters:
void smp_rwlock_rdlock ( RWLock * lock )
Read lock a rwlock.
Parameters:
bool smp_rwlock_tryrdlock ( RWLock * lock )
Try to acquire read lock of a rwlock.
Parameters:
Returns:
true if lock was acquired
void smp_rwlock_wrlock ( RWLock * lock )
Write lock a rwlock.
Parameters:
void smp_rwlock_unlock ( RWLock * lock )
Unlock a rwlock.
Parameters:
static inline void smp_spinlock_init ( SpinLock * lock )
Initialize a spinlock based on atomics.
Parameters:
static inline void smp_spinlock_lock ( SpinLock * lock )
Lock a spinlock.
Parameters:
static inline bool smp_spinlock_trylock ( SpinLock * lock )
Try to lock a spinlock.
Parameters:
Returns:
true if the spin lock was locked
static inline void smp_spinlock_unlock ( SpinLock * lock )
Unlock a spinlock.
Parameters:
int smp_get_online_processors ( void )
Get the number of online processors to configure schedulers.
This value is one plus the maximum number of times smp_scheduler_start will be called by the scheduler.
Returns:
the number of online processors.
void smp_scheduler_start ( GlobalContext * glb )
Start a new scheduler, calling scheduler_entry_point with the given global context.
Parameters:
void smp_scheduler_join_all ( void )
Wait for all scheduler sub-threads to fully exit.
Must be called before destroying resources (e.g. JIT code pages) that scheduler threads may still access after leaving the scheduler loop. May be a no-op on platforms without joinable scheduler threads.
bool smp_is_main_thread ( GlobalContext * glb )
Determine if caller is in the main thread, i.e. thread that was not started with acmsmp_scheduler_start.
struct SpinLock
#include <smp.h>