diff options
Diffstat (limited to 'deps/v8/src/objects/objects.h')
-rw-r--r-- | deps/v8/src/objects/objects.h | 71 |
1 files changed, 37 insertions, 34 deletions
diff --git a/deps/v8/src/objects/objects.h b/deps/v8/src/objects/objects.h index b4e78a1937..f66023456c 100644 --- a/deps/v8/src/objects/objects.h +++ b/deps/v8/src/objects/objects.h @@ -46,19 +46,22 @@ // - JSArrayBufferView // - JSTypedArray // - JSDataView -// - JSBoundFunction // - JSCollection // - JSSet // - JSMap +// - JSCustomElementsObject (may have elements despite empty FixedArray) +// - JSSpecialObject (requires custom property lookup handling) +// - JSGlobalObject +// - JSGlobalProxy +// - JSModuleNamespace +// - JSPrimitiveWrapper // - JSDate -// - JSFunction +// - JSFunctionOrBoundFunction +// - JSBoundFunction +// - JSFunction // - JSGeneratorObject -// - JSGlobalObject -// - JSGlobalProxy // - JSMapIterator // - JSMessageObject -// - JSModuleNamespace -// - JSPrimitiveWrapper // - JSRegExp // - JSSetIterator // - JSStringIterator @@ -104,30 +107,32 @@ // - ScriptContextTable // - ClosureFeedbackCellArray // - FixedDoubleArray -// - Name -// - String -// - SeqString -// - SeqOneByteString -// - SeqTwoByteString -// - SlicedString -// - ConsString -// - ThinString -// - ExternalString -// - ExternalOneByteString -// - ExternalTwoByteString -// - InternalizedString -// - SeqInternalizedString -// - SeqOneByteInternalizedString -// - SeqTwoByteInternalizedString -// - ConsInternalizedString -// - ExternalInternalizedString -// - ExternalOneByteInternalizedString -// - ExternalTwoByteInternalizedString -// - Symbol +// - PrimitiveHeapObject +// - BigInt +// - HeapNumber +// - Name +// - String +// - SeqString +// - SeqOneByteString +// - SeqTwoByteString +// - SlicedString +// - ConsString +// - ThinString +// - ExternalString +// - ExternalOneByteString +// - ExternalTwoByteString +// - InternalizedString +// - SeqInternalizedString +// - SeqOneByteInternalizedString +// - SeqTwoByteInternalizedString +// - ConsInternalizedString +// - ExternalInternalizedString +// - ExternalOneByteInternalizedString +// - ExternalTwoByteInternalizedString +// - Symbol +// - Oddball // - Context // - NativeContext -// - HeapNumber -// - BigInt // - Cell // - DescriptorArray // - PropertyCell @@ -135,7 +140,6 @@ // - Code // - AbstractCode, a wrapper around Code or BytecodeArray // - Map -// - Oddball // - Foreign // - SmallOrderedHashTable // - SmallOrderedHashMap @@ -607,15 +611,13 @@ class Object : public TaggedImpl<HeapObjectReferenceType::STRONG, Address> { // For use with std::unordered_set. struct Hasher { size_t operator()(const Object o) const { - return std::hash<v8::internal::Address>{}(o.ptr()); + return std::hash<v8::internal::Address>{}(static_cast<Tagged_t>(o.ptr())); } }; // For use with std::map. struct Comparer { - bool operator()(const Object a, const Object b) const { - return a.ptr() < b.ptr(); - } + bool operator()(const Object a, const Object b) const { return a < b; } }; template <class T, typename std::enable_if<std::is_arithmetic<T>::value, @@ -784,7 +786,8 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER }; enum class GetKeysConversion { kKeepNumbers = static_cast<int>(v8::KeyConversionMode::kKeepNumbers), - kConvertToString = static_cast<int>(v8::KeyConversionMode::kConvertToString) + kConvertToString = static_cast<int>(v8::KeyConversionMode::kConvertToString), + kNoNumbers = static_cast<int>(v8::KeyConversionMode::kNoNumbers) }; enum class KeyCollectionMode { |