src: move ImmediateInfo out of Environment · nodejs/node@495e5e9 (original) (raw)
`@@ -619,6 +619,29 @@ class AsyncCallbackScope {
`
619
619
` Environment* env_;
`
620
620
`};
`
621
621
``
``
622
`+
class ImmediateInfo {
`
``
623
`+
public:
`
``
624
`+
inline AliasedBuffer<uint32_t, v8::Uint32Array>& fields();
`
``
625
`+
inline uint32_t count() const;
`
``
626
`+
inline uint32_t ref_count() const;
`
``
627
`+
inline bool has_outstanding() const;
`
``
628
`+
inline void count_inc(uint32_t increment);
`
``
629
`+
inline void count_dec(uint32_t decrement);
`
``
630
`+
inline void ref_count_inc(uint32_t increment);
`
``
631
`+
inline void ref_count_dec(uint32_t decrement);
`
``
632
+
``
633
`+
ImmediateInfo(const ImmediateInfo&) = delete;
`
``
634
`+
ImmediateInfo& operator=(const ImmediateInfo&) = delete;
`
``
635
+
``
636
`+
private:
`
``
637
`+
friend class Environment; // So we can call the constructor.
`
``
638
`+
inline explicit ImmediateInfo(v8::Isolate* isolate);
`
``
639
+
``
640
`+
enum Fields { kCount, kRefCount, kHasOutstanding, kFieldsCount };
`
``
641
+
``
642
`+
AliasedBuffer<uint32_t, v8::Uint32Array> fields_;
`
``
643
`+
};
`
``
644
+
622
645
`class Environment {
`
623
646
`public:
`
624
647
`Environment(const Environment&) = delete;
`
`@@ -628,36 +651,6 @@ class Environment {
`
628
651
`inline void PushAsyncCallbackScope();
`
629
652
`inline void PopAsyncCallbackScope();
`
630
653
``
631
``
`-
class ImmediateInfo {
`
632
``
`-
public:
`
633
``
`-
inline AliasedBuffer<uint32_t, v8::Uint32Array>& fields();
`
634
``
`-
inline uint32_t count() const;
`
635
``
`-
inline uint32_t ref_count() const;
`
636
``
`-
inline bool has_outstanding() const;
`
637
``
-
638
``
`-
inline void count_inc(uint32_t increment);
`
639
``
`-
inline void count_dec(uint32_t decrement);
`
640
``
-
641
``
`-
inline void ref_count_inc(uint32_t increment);
`
642
``
`-
inline void ref_count_dec(uint32_t decrement);
`
643
``
-
644
``
`-
ImmediateInfo(const ImmediateInfo&) = delete;
`
645
``
`-
ImmediateInfo& operator=(const ImmediateInfo&) = delete;
`
646
``
-
647
``
`-
private:
`
648
``
`-
friend class Environment; // So we can call the constructor.
`
649
``
`-
inline explicit ImmediateInfo(v8::Isolate* isolate);
`
650
``
-
651
``
`-
enum Fields {
`
652
``
`-
kCount,
`
653
``
`-
kRefCount,
`
654
``
`-
kHasOutstanding,
`
655
``
`-
kFieldsCount
`
656
``
`-
};
`
657
``
-
658
``
`-
AliasedBuffer<uint32_t, v8::Uint32Array> fields_;
`
659
``
`-
};
`
660
``
-
661
654
`class TickInfo {
`
662
655
`public:
`
663
656
`inline AliasedBuffer<uint8_t, v8::Uint8Array>& fields();
`