mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 23:16:30 +01:00
src: move TickInfo out of Environment
PR-URL: https://github.com/nodejs/node/pull/26824 Refs: https://github.com/nodejs/node/issues/26776 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
4565698227
commit
242466167d
@ -96,7 +96,7 @@ void InternalCallbackScope::Close() {
|
||||
return;
|
||||
}
|
||||
|
||||
Environment::TickInfo* tick_info = env_->tick_info();
|
||||
TickInfo* tick_info = env_->tick_info();
|
||||
|
||||
if (!env_->can_call_into_js()) return;
|
||||
if (!tick_info->has_tick_scheduled()) {
|
||||
|
@ -268,18 +268,18 @@ inline void ImmediateInfo::ref_count_dec(uint32_t decrement) {
|
||||
fields_[kRefCount] -= decrement;
|
||||
}
|
||||
|
||||
inline Environment::TickInfo::TickInfo(v8::Isolate* isolate)
|
||||
inline TickInfo::TickInfo(v8::Isolate* isolate)
|
||||
: fields_(isolate, kFieldsCount) {}
|
||||
|
||||
inline AliasedBuffer<uint8_t, v8::Uint8Array>& Environment::TickInfo::fields() {
|
||||
inline AliasedBuffer<uint8_t, v8::Uint8Array>& TickInfo::fields() {
|
||||
return fields_;
|
||||
}
|
||||
|
||||
inline bool Environment::TickInfo::has_tick_scheduled() const {
|
||||
inline bool TickInfo::has_tick_scheduled() const {
|
||||
return fields_[kHasTickScheduled] == 1;
|
||||
}
|
||||
|
||||
inline bool Environment::TickInfo::has_rejection_to_warn() const {
|
||||
inline bool TickInfo::has_rejection_to_warn() const {
|
||||
return fields_[kHasRejectionToWarn] == 1;
|
||||
}
|
||||
|
||||
@ -439,7 +439,7 @@ inline ImmediateInfo* Environment::immediate_info() {
|
||||
return &immediate_info_;
|
||||
}
|
||||
|
||||
inline Environment::TickInfo* Environment::tick_info() {
|
||||
inline TickInfo* Environment::tick_info() {
|
||||
return &tick_info_;
|
||||
}
|
||||
|
||||
|
40
src/env.h
40
src/env.h
@ -647,6 +647,24 @@ class ImmediateInfo {
|
||||
AliasedBuffer<uint32_t, v8::Uint32Array> fields_;
|
||||
};
|
||||
|
||||
class TickInfo {
|
||||
public:
|
||||
inline AliasedBuffer<uint8_t, v8::Uint8Array>& fields();
|
||||
inline bool has_tick_scheduled() const;
|
||||
inline bool has_rejection_to_warn() const;
|
||||
|
||||
TickInfo(const TickInfo&) = delete;
|
||||
TickInfo& operator=(const TickInfo&) = delete;
|
||||
|
||||
private:
|
||||
friend class Environment; // So we can call the constructor.
|
||||
inline explicit TickInfo(v8::Isolate* isolate);
|
||||
|
||||
enum Fields { kHasTickScheduled = 0, kHasRejectionToWarn, kFieldsCount };
|
||||
|
||||
AliasedBuffer<uint8_t, v8::Uint8Array> fields_;
|
||||
};
|
||||
|
||||
class Environment {
|
||||
public:
|
||||
Environment(const Environment&) = delete;
|
||||
@ -656,28 +674,6 @@ class Environment {
|
||||
inline void PushAsyncCallbackScope();
|
||||
inline void PopAsyncCallbackScope();
|
||||
|
||||
class TickInfo {
|
||||
public:
|
||||
inline AliasedBuffer<uint8_t, v8::Uint8Array>& fields();
|
||||
inline bool has_tick_scheduled() const;
|
||||
inline bool has_rejection_to_warn() const;
|
||||
|
||||
TickInfo(const TickInfo&) = delete;
|
||||
TickInfo& operator=(const TickInfo&) = delete;
|
||||
|
||||
private:
|
||||
friend class Environment; // So we can call the constructor.
|
||||
inline explicit TickInfo(v8::Isolate* isolate);
|
||||
|
||||
enum Fields {
|
||||
kHasTickScheduled = 0,
|
||||
kHasRejectionToWarn,
|
||||
kFieldsCount
|
||||
};
|
||||
|
||||
AliasedBuffer<uint8_t, v8::Uint8Array> fields_;
|
||||
};
|
||||
|
||||
enum Flags {
|
||||
kNoFlags = 0,
|
||||
kIsMainThread = 1 << 0,
|
||||
|
Loading…
Reference in New Issue
Block a user