Repository navigation
Memprof record
MaoJiaping edited this page Jul 22, 2026
·
4 revisions
hot_entry
\
---> foo --> baz --> bar --> malloc
/
cold_entry
hot_entry --> foo --> baz --> bar --> malloc [memprof=notcold]
cold_entry --> foo.memprof.1 --> baz.memprof.1 --> bar.memprof.1 --> malloc [memprof=cold]
After splitting the module:
P0: hot_entry --> foo (external) --> baz (external) --> bar (external)
P1: cold_entry --> foo (available_externally) --> baz (available_externally) --> bar (available_externally)
After MemProf:
P0: hot_entry --> foo (external) --> baz (external) --> bar (external)
It also contains foo.memprof.1 (external), baz.memprof.1 (external), and bar.memprof.1 (external).
P1: cold_entry --> foo.memprof.1 (available_externally) --> baz.memprof.1 (available_externally) --> bar.memprof.1 (available_externally)
It also contains foo (available_externally), baz (available_externally), and bar (available_externally).
After eliminating available_externally definitions, the remaining definitions in each partition are:
P0: hot_entry, foo, baz, bar, foo.memprof.1, baz.memprof.1, bar.memprof.1
P1: cold_entry