src: simplify native immediate by using v8::Global
Unlike `node::Persistent`, `v8::Global` has move semantics and can be used directly in STL containers. PR-URL: https://github.com/nodejs/node/pull/26254 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
018e95ad13
commit
d64e4deb73
@ -625,8 +625,7 @@ void Environment::CreateImmediate(native_immediate_callback cb,
|
|||||||
native_immediate_callbacks_.push_back({
|
native_immediate_callbacks_.push_back({
|
||||||
cb,
|
cb,
|
||||||
data,
|
data,
|
||||||
std::unique_ptr<Persistent<v8::Object>>(obj.IsEmpty() ?
|
v8::Global<v8::Object>(isolate_, obj),
|
||||||
nullptr : new Persistent<v8::Object>(isolate_, obj)),
|
|
||||||
ref
|
ref
|
||||||
});
|
});
|
||||||
immediate_info()->count_inc(1);
|
immediate_info()->count_inc(1);
|
||||||
|
@ -1139,7 +1139,7 @@ class Environment {
|
|||||||
struct NativeImmediateCallback {
|
struct NativeImmediateCallback {
|
||||||
native_immediate_callback cb_;
|
native_immediate_callback cb_;
|
||||||
void* data_;
|
void* data_;
|
||||||
std::unique_ptr<Persistent<v8::Object>> keep_alive_;
|
v8::Global<v8::Object> keep_alive_;
|
||||||
bool refed_;
|
bool refed_;
|
||||||
};
|
};
|
||||||
std::vector<NativeImmediateCallback> native_immediate_callbacks_;
|
std::vector<NativeImmediateCallback> native_immediate_callbacks_;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user