summaryrefslogtreecommitdiff
path: root/src/env.cc
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-03-10 22:03:15 +0000
committerAnna Henningsen <anna@addaleax.net>2019-03-21 19:09:45 +0100
commit96c3224de0e938d308ab579e4cf7336e87c67d88 (patch)
tree3f556d5c7bfb5d9be23fb20c8ebe0514a33a5d5e /src/env.cc
parent1500e5de64e4f7cfb482ad353293645a5599d93f (diff)
downloadnode-new-96c3224de0e938d308ab579e4cf7336e87c67d88.tar.gz
src: remove `AddPromiseHook()`
Remove this, as the underlying `Isolate::SetPromiseHook()` may be removed as well in its current form in the future, and `async_hooks` also serves this use case. Refs: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/ Refs: https://github.com/nodejs/node/pull/26529 PR-URL: https://github.com/nodejs/node/pull/26574 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Diffstat (limited to 'src/env.cc')
-rw-r--r--src/env.cc71
1 files changed, 0 insertions, 71 deletions
diff --git a/src/env.cc b/src/env.cc
index 768e14d796..f0dd9abeb6 100644
--- a/src/env.cc
+++ b/src/env.cc
@@ -39,8 +39,6 @@ using v8::NewStringType;
using v8::Number;
using v8::Object;
using v8::Private;
-using v8::Promise;
-using v8::PromiseHookType;
using v8::StackFrame;
using v8::StackTrace;
using v8::String;
@@ -50,25 +48,6 @@ using v8::Undefined;
using v8::Value;
using worker::Worker;
-// TODO(@jasnell): Likely useful to move this to util or node_internal to
-// allow reuse. But since we're not reusing it yet...
-class TraceEventScope {
- public:
- TraceEventScope(const char* category,
- const char* name,
- void* id) : category_(category), name_(name), id_(id) {
- TRACE_EVENT_NESTABLE_ASYNC_BEGIN0(category_, name_, id_);
- }
- ~TraceEventScope() {
- TRACE_EVENT_NESTABLE_ASYNC_END0(category_, name_, id_);
- }
-
- private:
- const char* category_;
- const char* name_;
- void* id_;
-};
-
int const Environment::kNodeContextTag = 0x6e6f64;
void* const Environment::kNodeContextTagPtr = const_cast<void*>(
static_cast<const void*>(&Environment::kNodeContextTag));
@@ -590,56 +569,6 @@ void Environment::AtExit(void (*cb)(void* arg), void* arg) {
at_exit_functions_.push_back(ExitCallback{cb, arg});
}
-void Environment::AddPromiseHook(promise_hook_func fn, void* arg) {
- auto it = std::find_if(
- promise_hooks_.begin(), promise_hooks_.end(),
- [&](const PromiseHookCallback& hook) {
- return hook.cb_ == fn && hook.arg_ == arg;
- });
- if (it != promise_hooks_.end()) {
- it->enable_count_++;
- return;
- }
- promise_hooks_.push_back(PromiseHookCallback{fn, arg, 1});
-
- if (promise_hooks_.size() == 1) {
- isolate_->SetPromiseHook(EnvPromiseHook);
- }
-}
-
-bool Environment::RemovePromiseHook(promise_hook_func fn, void* arg) {
- auto it = std::find_if(
- promise_hooks_.begin(), promise_hooks_.end(),
- [&](const PromiseHookCallback& hook) {
- return hook.cb_ == fn && hook.arg_ == arg;
- });
-
- if (it == promise_hooks_.end()) return false;
-
- if (--it->enable_count_ > 0) return true;
-
- promise_hooks_.erase(it);
- if (promise_hooks_.empty()) {
- isolate_->SetPromiseHook(nullptr);
- }
-
- return true;
-}
-
-void Environment::EnvPromiseHook(PromiseHookType type,
- Local<Promise> promise,
- Local<Value> parent) {
- Local<Context> context = promise->CreationContext();
-
- Environment* env = Environment::GetCurrent(context);
- if (env == nullptr) return;
- TraceEventScope trace_scope(TRACING_CATEGORY_NODE1(environment),
- "EnvPromiseHook", env);
- for (const PromiseHookCallback& hook : env->promise_hooks_) {
- hook.cb_(type, promise, parent, hook.arg_);
- }
-}
-
void Environment::RunAndClearNativeImmediates() {
TraceEventScope trace_scope(TRACING_CATEGORY_NODE1(environment),
"RunAndClearNativeImmediates", this);