diff options
Diffstat (limited to 'src/env.h')
-rw-r--r-- | src/env.h | 29 |
1 files changed, 26 insertions, 3 deletions
@@ -453,6 +453,30 @@ class Environment { DISALLOW_COPY_AND_ASSIGN(AsyncCallbackScope); }; + class ImmediateInfo { + public: + inline AliasedBuffer<uint32_t, v8::Uint32Array>& fields(); + inline uint32_t count() const; + inline bool has_outstanding() const; + + inline void count_inc(uint32_t increment); + inline void count_dec(uint32_t decrement); + + private: + friend class Environment; // So we can call the constructor. + inline explicit ImmediateInfo(v8::Isolate* isolate); + + enum Fields { + kCount, + kHasOutstanding, + kFieldsCount + }; + + AliasedBuffer<uint32_t, v8::Uint32Array> fields_; + + DISALLOW_COPY_AND_ASSIGN(ImmediateInfo); + }; + class TickInfo { public: inline AliasedBuffer<uint8_t, v8::Uint8Array>& fields(); @@ -532,6 +556,7 @@ class Environment { inline void FinishHandleCleanup(uv_handle_t* handle); inline AsyncHooks* async_hooks(); + inline ImmediateInfo* immediate_info(); inline TickInfo* tick_info(); inline uint64_t timer_base() const; @@ -582,8 +607,6 @@ class Environment { inline double* fs_stats_field_array() const; inline void set_fs_stats_field_array(double* fields); - inline AliasedBuffer<uint32_t, v8::Uint32Array>& scheduled_immediate_count(); - inline performance::performance_state* performance_state(); inline std::map<std::string, uint64_t>* performance_marks(); @@ -704,6 +727,7 @@ class Environment { uv_check_t idle_check_handle_; AsyncHooks async_hooks_; + ImmediateInfo immediate_info_; TickInfo tick_info_; const uint64_t timer_base_; bool using_domains_; @@ -714,7 +738,6 @@ class Environment { size_t makecallback_cntr_; std::vector<double> destroy_async_id_list_; - AliasedBuffer<uint32_t, v8::Uint32Array> scheduled_immediate_count_; AliasedBuffer<uint32_t, v8::Uint32Array> should_abort_on_uncaught_toggle_; int should_not_abort_scope_counter_ = 0; |