diff options
Diffstat (limited to 'deps/v8/src/utils.h')
-rw-r--r-- | deps/v8/src/utils.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/deps/v8/src/utils.h b/deps/v8/src/utils.h index e6e98fabba..5b5d95ce9a 100644 --- a/deps/v8/src/utils.h +++ b/deps/v8/src/utils.h @@ -384,9 +384,9 @@ class BitField64 : public BitFieldBase<T, shift, size, uint64_t> { }; #define DEFINE_BIT_FIELD_RANGE_TYPE(Name, Type, Size, _) \ k##Name##Start, k##Name##End = k##Name##Start + Size - 1, -#define DEFINE_BIT_RANGES(LIST_MACRO) \ - struct LIST_MACRO##_Ranges { \ - enum { LIST_MACRO(DEFINE_BIT_FIELD_RANGE_TYPE, _) }; \ +#define DEFINE_BIT_RANGES(LIST_MACRO) \ + struct LIST_MACRO##_Ranges { \ + enum { LIST_MACRO(DEFINE_BIT_FIELD_RANGE_TYPE, _) kBitsCount }; \ }; #define DEFINE_BIT_FIELD_TYPE(Name, Type, Size, RangesName) \ @@ -641,7 +641,7 @@ class Access { template<typename T> class SetOncePointer { public: - SetOncePointer() : pointer_(nullptr) {} + SetOncePointer() = default; bool is_set() const { return pointer_ != nullptr; } @@ -655,8 +655,16 @@ class SetOncePointer { pointer_ = value; } + T* operator=(T* value) { + set(value); + return value; + } + + bool operator==(std::nullptr_t) const { return pointer_ == nullptr; } + bool operator!=(std::nullptr_t) const { return pointer_ != nullptr; } + private: - T* pointer_; + T* pointer_ = nullptr; }; |