MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / free_tree

Method free_tree

cranelift/bforest/src/pool.rs:65–76  ·  view source on GitHub ↗

Free the entire tree rooted at `node`.

(&mut self, node: Node)

Source from the content-addressed store, hash-verified

63
64 /// Free the entire tree rooted at `node`.
65 pub fn free_tree(&mut self, node: Node) {
66 if let NodeData::Inner { size, tree, .. } = self[node] {
67 // Note that we have to capture `tree` by value to avoid borrow checker trouble.
68 for i in 0..usize::from(size + 1) {
69 // Recursively free sub-trees. This recursion can never be deeper than `MAX_PATH`,
70 // and since most trees have less than a handful of nodes, it is worthwhile to
71 // avoid the heap allocation for an iterative tree traversal.
72 self.free_tree(tree[i]);
73 }
74 }
75 self.free_node(node);
76 }
77}
78
79#[cfg(test)]

Callers 2

clearMethod · 0.80
clearMethod · 0.80

Calls 2

fromFunction · 0.85
free_nodeMethod · 0.80

Tested by

no test coverage detected