summaryrefslogtreecommitdiff
path: root/deps/v8/src/objects/objects.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/objects/objects.h')
-rw-r--r--deps/v8/src/objects/objects.h71
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 {