summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/internal/bootstrap/cache.js2
-rw-r--r--lib/internal/bootstrap/loaders.js10
-rw-r--r--lib/internal/crypto/diffiehellman.js2
-rw-r--r--lib/internal/crypto/hash.js2
-rw-r--r--src/node.cc4
-rw-r--r--src/node_binding.cc36
-rw-r--r--src/node_binding.h8
7 files changed, 10 insertions, 54 deletions
diff --git a/lib/internal/bootstrap/cache.js b/lib/internal/bootstrap/cache.js
index 8273b6f27f..da8c4bda9a 100644
--- a/lib/internal/bootstrap/cache.js
+++ b/lib/internal/bootstrap/cache.js
@@ -9,7 +9,7 @@ const { NativeModule } = require('internal/bootstrap/loaders');
const {
getCodeCache, compileFunction
} = internalBinding('native_module');
-const { hasTracing, hasInspector } = process.binding('config');
+const { hasTracing, hasInspector } = internalBinding('config');
// Modules with source code compiled in js2c that
// cannot be compiled with the code cache.
diff --git a/lib/internal/bootstrap/loaders.js b/lib/internal/bootstrap/loaders.js
index 1007b41069..d21fddbf52 100644
--- a/lib/internal/bootstrap/loaders.js
+++ b/lib/internal/bootstrap/loaders.js
@@ -41,7 +41,7 @@
// This file is compiled as if it's wrapped in a function with arguments
// passed by node::RunBootstrapping()
-/* global process, getBinding, getLinkedBinding, getInternalBinding */
+/* global process, getLinkedBinding, getInternalBinding */
/* global experimentalModules, exposeInternals, primordials */
const {
@@ -108,12 +108,8 @@ const internalBindingWhitelist = new SafeSet([
if (internalBindingWhitelist.has(module)) {
return internalBinding(module);
}
- let mod = bindingObj[module];
- if (typeof mod !== 'object') {
- mod = bindingObj[module] = getBinding(module);
- moduleLoadList.push(`Binding ${module}`);
- }
- return mod;
+ // eslint-disable-next-line no-restricted-syntax
+ throw new Error(`No such module: ${module}`);
};
process._linkedBinding = function _linkedBinding(module) {
diff --git a/lib/internal/crypto/diffiehellman.js b/lib/internal/crypto/diffiehellman.js
index 81204cfda3..3bfc531455 100644
--- a/lib/internal/crypto/diffiehellman.js
+++ b/lib/internal/crypto/diffiehellman.js
@@ -19,7 +19,7 @@ const {
DiffieHellmanGroup: _DiffieHellmanGroup,
ECDH: _ECDH,
ECDHConvertKey: _ECDHConvertKey
-} = process.binding('crypto');
+} = internalBinding('crypto');
const {
POINT_CONVERSION_COMPRESSED,
POINT_CONVERSION_HYBRID,
diff --git a/lib/internal/crypto/hash.js b/lib/internal/crypto/hash.js
index 713ded3d18..d486d83e91 100644
--- a/lib/internal/crypto/hash.js
+++ b/lib/internal/crypto/hash.js
@@ -3,7 +3,7 @@
const {
Hash: _Hash,
Hmac: _Hmac
-} = process.binding('crypto');
+} = internalBinding('crypto');
const {
getDefaultEncoding,
diff --git a/src/node.cc b/src/node.cc
index 8593daeefc..62f4550265 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -282,7 +282,6 @@ MaybeLocal<Value> RunBootstrapping(Environment* env) {
// Create binding loaders
std::vector<Local<String>> loaders_params = {
env->process_string(),
- FIXED_ONE_BYTE_STRING(isolate, "getBinding"),
FIXED_ONE_BYTE_STRING(isolate, "getLinkedBinding"),
FIXED_ONE_BYTE_STRING(isolate, "getInternalBinding"),
// --experimental-modules
@@ -292,9 +291,6 @@ MaybeLocal<Value> RunBootstrapping(Environment* env) {
env->primordials_string()};
std::vector<Local<Value>> loaders_args = {
process,
- env->NewFunctionTemplate(binding::GetBinding)
- ->GetFunction(context)
- .ToLocalChecked(),
env->NewFunctionTemplate(binding::GetLinkedBinding)
->GetFunction(context)
.ToLocalChecked(),
diff --git a/src/node_binding.cc b/src/node_binding.cc
index 85f3c19e69..08d55567d4 100644
--- a/src/node_binding.cc
+++ b/src/node_binding.cc
@@ -84,7 +84,7 @@
// function for each built-in modules explicitly in
// binding::RegisterBuiltinModules(). This is only forward declaration.
// The definitions are in each module's implementation when calling
-// the NODE_BUILTIN_MODULE_CONTEXT_AWARE.
+// the NODE_MODULE_CONTEXT_AWARE_INTERNAL.
#define V(modname) void _register_##modname();
NODE_BUILTIN_MODULES(V)
#undef V
@@ -101,7 +101,6 @@ using v8::String;
using v8::Value;
// Globals per process
-static node_module* modlist_builtin;
static node_module* modlist_internal;
static node_module* modlist_linked;
static node_module* modlist_addon;
@@ -114,10 +113,7 @@ bool node_is_initialized = false;
extern "C" void node_module_register(void* m) {
struct node_module* mp = reinterpret_cast<struct node_module*>(m);
- if (mp->nm_flags & NM_F_BUILTIN) {
- mp->nm_link = modlist_builtin;
- modlist_builtin = mp;
- } else if (mp->nm_flags & NM_F_INTERNAL) {
+ if (mp->nm_flags & NM_F_INTERNAL) {
mp->nm_link = modlist_internal;
modlist_internal = mp;
} else if (!node_is_initialized) {
@@ -295,11 +291,7 @@ void DLOpen(const FunctionCallbackInfo<Value>& args) {
env->ThrowError(errmsg);
return false;
}
- if (mp->nm_flags & NM_F_BUILTIN) {
- dlib->Close();
- env->ThrowError("Built-in module self-registered.");
- return false;
- }
+ CHECK_EQ(mp->nm_flags & NM_F_BUILTIN, 0);
mp->nm_dso_handle = dlib->handle_;
mp->nm_link = modlist_addon;
@@ -335,9 +327,6 @@ inline struct node_module* FindModule(struct node_module* list,
return mp;
}
-node_module* get_builtin_module(const char* name) {
- return FindModule(modlist_builtin, name, NM_F_BUILTIN);
-}
node_module* get_internal_module(const char* name) {
return FindModule(modlist_internal, name, NM_F_INTERNAL);
}
@@ -363,25 +352,6 @@ static void ThrowIfNoSuchModule(Environment* env, const char* module_v) {
env->ThrowError(errmsg);
}
-void GetBinding(const FunctionCallbackInfo<Value>& args) {
- Environment* env = Environment::GetCurrent(args);
-
- CHECK(args[0]->IsString());
-
- Local<String> module = args[0].As<String>();
- node::Utf8Value module_v(env->isolate(), module);
-
- node_module* mod = get_builtin_module(*module_v);
- Local<Object> exports;
- if (mod != nullptr) {
- exports = InitModule(env, mod, module);
- } else {
- return ThrowIfNoSuchModule(env, *module_v);
- }
-
- args.GetReturnValue().Set(exports);
-}
-
void GetInternalBinding(const FunctionCallbackInfo<Value>& args) {
Environment* env = Environment::GetCurrent(args);
diff --git a/src/node_binding.h b/src/node_binding.h
index 7d79dae80d..d73e18548f 100644
--- a/src/node_binding.h
+++ b/src/node_binding.h
@@ -15,7 +15,7 @@
#include "v8.h"
enum {
- NM_F_BUILTIN = 1 << 0,
+ NM_F_BUILTIN = 1 << 0, // Unused.
NM_F_LINKED = 1 << 1,
NM_F_INTERNAL = 1 << 2,
};
@@ -33,9 +33,6 @@ enum {
nullptr}; \
void _register_##modname() { node_module_register(&_module); }
-#define NODE_BUILTIN_MODULE_CONTEXT_AWARE(modname, regfunc) \
- NODE_MODULE_CONTEXT_AWARE_CPP(modname, regfunc, nullptr, NM_F_BUILTIN)
-
void napi_module_register_by_symbol(v8::Local<v8::Object> exports,
v8::Local<v8::Value> module,
v8::Local<v8::Context> context,
@@ -83,7 +80,6 @@ class DLib {
// use the __attribute__((constructor)). Need to
// explicitly call the _register* functions.
void RegisterBuiltinModules();
-void GetBinding(const v8::FunctionCallbackInfo<v8::Value>& args);
void GetInternalBinding(const v8::FunctionCallbackInfo<v8::Value>& args);
void GetLinkedBinding(const v8::FunctionCallbackInfo<v8::Value>& args);
void DLOpen(const v8::FunctionCallbackInfo<v8::Value>& args);
@@ -92,7 +88,5 @@ void DLOpen(const v8::FunctionCallbackInfo<v8::Value>& args);
} // namespace node
-#include "node_binding.h"
-
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
#endif // SRC_NODE_BINDING_H_