MCPcopy Create free account
hub / github.com/Klipper3d/klipper / orderfuncs

Function orderfuncs

scripts/checkstack.py:89–104  ·  view source on GitHub ↗
(funcaddrs, availfuncs)

Source from the content-addressed store, hash-verified

87# Try to arrange output so that functions that call each other are
88# near each other.
89def orderfuncs(funcaddrs, availfuncs):
90 l = [(availfuncs[funcaddr].total_calls
91 , availfuncs[funcaddr].funcname, funcaddr)
92 for funcaddr in funcaddrs if funcaddr in availfuncs]
93 l.sort()
94 l.reverse()
95 out = []
96 while l:
97 count, name, funcaddr = l.pop(0)
98 info = availfuncs.get(funcaddr)
99 if info is None:
100 continue
101 calladdrs = [calls[1] for calls in info.called_funcs]
102 del availfuncs[funcaddr]
103 out = out + orderfuncs(calladdrs, availfuncs) + [info]
104 return out
105
106hex_s = r'[0-9a-f]+'
107re_func = re.compile(r'^(?P<funcaddr>' + hex_s + r') <(?P<func>.*)>:$')

Callers 1

mainFunction · 0.85

Calls 1

getMethod · 0.45

Tested by

no test coverage detected