MCPcopy Create free account
hub / github.com/WebAssembly/wasm-c-api / ~Stats

Method ~Stats

src/wasm-v8.cc:82–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80 }
81
82 ~Stats() {
83 // Hack for func data weakly owned by V8 heap.
84 freed[FUNCTYPE][OWN] +=
85 made[FUNCDATA_FUNCTYPE][OWN] - freed[FUNCDATA_FUNCTYPE][OWN];
86 freed[VALTYPE][OWN] +=
87 made[FUNCDATA_VALTYPE][OWN] - freed[FUNCDATA_VALTYPE][OWN];
88 freed[VALTYPE][VEC] +=
89 made[FUNCDATA_VALTYPE][VEC] - freed[FUNCDATA_VALTYPE][VEC];
90 // Hack for shared modules.
91 freed[BYTE][VEC] += made[MODULE][SHARED] - freed[MODULE][SHARED];
92
93 bool leak = false;
94 for (int i = 0; i < STRONG_COUNT; ++i) {
95 for (int j = 0; j < CARDINALITY_COUNT; ++j) {
96 assert(made[i][j] >= freed[i][j]);
97 auto live = made[i][j] - freed[i][j];
98 if (live) {
99 std::cerr << "Leaked " << live << " instances of wasm::"
100 << left[j] << name[i] << right[j]
101 << ", made " << made[i][j] << ", freed " << freed[i][j] << "!"
102 << std::endl;
103 leak = true;
104 }
105 }
106 }
107 if (leak) exit(1);
108 }
109#endif
110
111 void make(category_t i, void* ptr, cardinality_t j = OWN, size_t n = 1) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected