1. Most object types in the V8 JavaScript are described in this file.
    2. Inheritance hierarchy:
    3. - Object
    4. - Smi (immediate small integer)
    5. - TaggedIndex (properly sign-extended immediate small integer)
    6. - HeapObject (superclass for everything allocated in the heap)
    7. - JSReceiver (suitable for property access)
    8. - JSObject
    9. - JSArray
    10. - JSArrayBuffer
    11. - JSArrayBufferView
    12. - JSTypedArray
    13. - JSDataView
    14. - JSCollection
    15. - JSSet
    16. - JSMap
    17. - JSCustomElementsObject (may have elements despite empty FixedArray)
    18. - JSSpecialObject (requires custom property lookup handling)
    19. - JSGlobalObject
    20. - JSGlobalProxy
    21. - JSModuleNamespace
    22. - JSPrimitiveWrapper
    23. - JSDate
    24. - JSFunctionOrBoundFunction
    25. - JSBoundFunction
    26. - JSFunction
    27. - JSGeneratorObject
    28. - JSMapIterator
    29. - JSMessageObject
    30. - JSRegExp
    31. - JSSetIterator
    32. - JSStringIterator
    33. - JSTemporalCalendar
    34. - JSTemporalDuration
    35. - JSTemporalInstant
    36. - JSTemporalPlainDate
    37. - JSTemporalPlainDateTime
    38. - JSTemporalPlainMonthDay
    39. - JSTemporalPlainTime
    40. - JSTemporalPlainYearMonth
    41. - JSTemporalTimeZone
    42. - JSTemporalZonedDateTime
    43. - JSWeakCollection
    44. - JSWeakMap
    45. - JSWeakSet
    46. - JSCollator // If V8_INTL_SUPPORT enabled.
    47. - JSDateTimeFormat // If V8_INTL_SUPPORT enabled.
    48. - JSDisplayNames // If V8_INTL_SUPPORT enabled.
    49. - JSListFormat // If V8_INTL_SUPPORT enabled.
    50. - JSLocale // If V8_INTL_SUPPORT enabled.
    51. - JSNumberFormat // If V8_INTL_SUPPORT enabled.
    52. - JSPluralRules // If V8_INTL_SUPPORT enabled.
    53. - JSRelativeTimeFormat // If V8_INTL_SUPPORT enabled.
    54. - JSSegmenter // If V8_INTL_SUPPORT enabled.
    55. - JSSegments // If V8_INTL_SUPPORT enabled.
    56. - JSSegmentIterator // If V8_INTL_SUPPORT enabled.
    57. - JSV8BreakIterator // If V8_INTL_SUPPORT enabled.
    58. - WasmTagObject
    59. - WasmGlobalObject
    60. - WasmInstanceObject
    61. - WasmMemoryObject
    62. - WasmModuleObject
    63. - WasmTableObject
    64. - WasmSuspenderObject
    65. - JSProxy
    66. - FixedArrayBase
    67. - ByteArray
    68. - BytecodeArray
    69. - FixedArray
    70. - HashTable
    71. - Dictionary
    72. - StringTable
    73. - StringSet
    74. - CompilationCacheTable
    75. - MapCache
    76. - OrderedHashTable
    77. - OrderedHashSet
    78. - OrderedHashMap
    79. - FeedbackMetadata
    80. - TemplateList
    81. - TransitionArray
    82. - ScopeInfo
    83. - SourceTextModuleInfo
    84. - ScriptContextTable
    85. - ClosureFeedbackCellArray
    86. - FixedDoubleArray
    87. - PrimitiveHeapObject
    88. - BigInt
    89. - HeapNumber
    90. - Name
    91. - String
    92. - SeqString
    93. - SeqOneByteString
    94. - SeqTwoByteString
    95. - SlicedString
    96. - ConsString
    97. - ThinString
    98. - ExternalString
    99. - ExternalOneByteString
    100. - ExternalTwoByteString
    101. - InternalizedString
    102. - SeqInternalizedString
    103. - SeqOneByteInternalizedString
    104. - SeqTwoByteInternalizedString
    105. - ConsInternalizedString
    106. - ExternalInternalizedString
    107. - ExternalOneByteInternalizedString
    108. - ExternalTwoByteInternalizedString
    109. - Symbol
    110. - Oddball
    111. - Context
    112. - NativeContext
    113. - Cell
    114. - DescriptorArray
    115. - PropertyCell
    116. - PropertyArray
    117. - Code
    118. - AbstractCode, a wrapper around Code or BytecodeArray
    119. - Map
    120. - Foreign
    121. - SmallOrderedHashTable
    122. - SmallOrderedHashMap
    123. - SmallOrderedHashSet
    124. - SharedFunctionInfo
    125. - Struct
    126. - AccessorInfo
    127. - AsmWasmData
    128. - PromiseReaction
    129. - PromiseCapability
    130. - AccessorPair
    131. - AccessCheckInfo
    132. - InterceptorInfo
    133. - CallHandlerInfo
    134. - EnumCache
    135. - TemplateInfo
    136. - FunctionTemplateInfo
    137. - ObjectTemplateInfo
    138. - Script
    139. - DebugInfo
    140. - BreakPoint
    141. - BreakPointInfo
    142. - CachedTemplateObject
    143. - StackFrameInfo
    144. - CodeCache
    145. - PropertyDescriptorObject
    146. - PrototypeInfo
    147. - Microtask
    148. - CallbackTask
    149. - CallableTask
    150. - PromiseReactionJobTask
    151. - PromiseFulfillReactionJobTask
    152. - PromiseRejectReactionJobTask
    153. - PromiseResolveThenableJobTask
    154. - Module
    155. - SourceTextModule
    156. - SyntheticModule
    157. - SourceTextModuleInfoEntry
    158. - FeedbackCell
    159. - FeedbackVector
    160. - PreparseData
    161. - UncompiledData
    162. - UncompiledDataWithoutPreparseData
    163. - UncompiledDataWithPreparseData
    164. - SwissNameDictionary
    165. Formats of Object::ptr_:
    166. Smi: [31 bit signed int] 0
    167. HeapObject: [32 bit direct pointer] (4 byte aligned) | 01