diff options
author | Joyee Cheung <joyeec9h3@gmail.com> | 2019-01-05 06:02:33 +0800 |
---|---|---|
committer | Joyee Cheung <joyeec9h3@gmail.com> | 2019-01-12 22:56:02 +0800 |
commit | 92e95f17b64838d4cf77343c1a814d4ebd795217 (patch) | |
tree | 25aa45e582b5657505fff57ba78578e2f4dc248e /src/node_internals.h | |
parent | 18d3aebb06903a0151bdecbad2b6b7077b965d03 (diff) | |
download | android-node-v8-92e95f17b64838d4cf77343c1a814d4ebd795217.tar.gz android-node-v8-92e95f17b64838d4cf77343c1a814d4ebd795217.tar.bz2 android-node-v8-92e95f17b64838d4cf77343c1a814d4ebd795217.zip |
src: simplify NativeModule caching and remove redundant data
- Remove `NativeModule._source` - the compilation is now entirely
done in C++ and `process.binding('natives')` is implemented
directly in the binding loader so there is no need to store
additional source code strings.
- Instead of using an object as `NativeModule._cached` and insert
into it after compilation of each native module, simply prebuild
a JS map filled with all the native modules and infer the
state of compilation through `mod.loading`/`mod.loaded`.
- Rename `NativeModule.nonInternalExists` to
`NativeModule.canBeRequiredByUsers` and precompute that
property for all the native modules during bootstrap instead
of branching in every require call during runtime. This also fixes
the bug where `worker_threads` can be made available with
`--expose-internals`.
- Rename `NativeModule.requireForDeps` to
`NativeModule.requireWithFallbackInDeps`.
- Add a test to make sure we do not accidentally leak any module
to the global namespace.
PR-URL: https://github.com/nodejs/node/pull/25352
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'src/node_internals.h')
0 files changed, 0 insertions, 0 deletions