src: make `CompiledFnEntry` a `BaseObject`
In particular:
- Move the class definition to the relevant header file,
i.e.
node_contextify.h
. - Make sure that class instances are destroyed on
Environment
teardown. - Make instances of the key object traceable in heap dumps. This is particularly relevant here because our C++ script → map key mapping could introduce memory leaks when the import function metadata refers back to the script in some way.
Refs: https://github.com/nodejs/node/pull/28671
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
commit message follows commit guidelines