emscripten-core/emscripten
Ver no GitHubWebIDL binder: Use WeakRefs in cache
Open
#9.854 aberto em 18 de nov. de 2019
good first bughelp wanted
Métricas do repositório
- Stars
- (27.361 stars)
- Métricas de merge de PR
- (Mesclagem média 19d 10h) (147 fundiu PRs em 30d)
Description
The cache maps C pointers (integers) to JS object wrappers. It
currently keeps objects alive forever. This is normally ok as the
objects should be manually destroy()ed, however, we do allow
wrapping a class as a parent class, and then it ends up in
multiple caches, see https://github.com/kripken/ammo.js/issues/284
Using WeakRefs where available could avoid this. However, until they are present everywhere, perhaps we could analyze the inheritance graph and clean up parent caches too, but that may be tricky especially with multiple/virtual/etc. inheritance.