diff options
Diffstat (limited to 'deps/v8/src/objects/map.h')
-rw-r--r-- | deps/v8/src/objects/map.h | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/deps/v8/src/objects/map.h b/deps/v8/src/objects/map.h index 007dd77d6e..f55b39acd2 100644 --- a/deps/v8/src/objects/map.h +++ b/deps/v8/src/objects/map.h @@ -20,6 +20,8 @@ namespace v8 { namespace internal { +class WasmTypeInfo; + enum InstanceType : uint16_t; #define DATA_ONLY_VISITOR_ID_LIST(V) \ @@ -38,7 +40,6 @@ enum InstanceType : uint16_t; V(CodeDataContainer) \ V(Context) \ V(DataHandler) \ - V(DescriptorArray) \ V(EmbedderDataArray) \ V(EphemeronHashTable) \ V(FeedbackCell) \ @@ -54,7 +55,6 @@ enum InstanceType : uint16_t; V(JSWeakCollection) \ V(Map) \ V(NativeContext) \ - V(Oddball) \ V(PreparseData) \ V(PropertyArray) \ V(PropertyCell) \ @@ -71,7 +71,6 @@ enum InstanceType : uint16_t; V(TransitionArray) \ V(UncompiledDataWithoutPreparseData) \ V(UncompiledDataWithPreparseData) \ - V(WasmCapiFunctionData) \ V(WasmIndirectFunctionTable) \ V(WasmInstanceObject) \ V(WasmArray) \ @@ -105,6 +104,8 @@ enum class ObjectFields { using MapHandles = std::vector<Handle<Map>>; +#include "torque-generated/src/objects/map-tq.inc" + // All heap objects have a Map that describes their structure. // A Map contains information about: // - Size information about the object @@ -594,14 +595,14 @@ class Map : public HeapObject { WriteBarrierMode mode = UPDATE_WRITE_BARRIER); // [instance descriptors]: describes the object. - DECL_GETTER(synchronized_instance_descriptors, DescriptorArray) - DECL_GETTER(instance_descriptors, DescriptorArray) + DECL_RELAXED_ACCESSORS(instance_descriptors, DescriptorArray) + DECL_ACQUIRE_GETTER(instance_descriptors, DescriptorArray) V8_EXPORT_PRIVATE void SetInstanceDescriptors(Isolate* isolate, DescriptorArray descriptors, int number_of_own_descriptors); // [layout descriptor]: describes the object layout. - DECL_ACCESSORS(layout_descriptor, LayoutDescriptor) + DECL_RELEASE_ACQUIRE_ACCESSORS(layout_descriptor, LayoutDescriptor) // |layout descriptor| accessor which can be used from GC. inline LayoutDescriptor layout_descriptor_gc_safe() const; inline bool HasFastPointerLayout() const; @@ -862,8 +863,7 @@ class Map : public HeapObject { // Returns true if given field is unboxed double. inline bool IsUnboxedDoubleField(FieldIndex index) const; - inline bool IsUnboxedDoubleField(const Isolate* isolate, - FieldIndex index) const; + inline bool IsUnboxedDoubleField(IsolateRoot isolate, FieldIndex index) const; void PrintMapDetails(std::ostream& os); @@ -977,8 +977,7 @@ class Map : public HeapObject { MaybeHandle<Object> new_value); // Use the high-level instance_descriptors/SetInstanceDescriptors instead. - inline void set_synchronized_instance_descriptors( - DescriptorArray value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); + DECL_RELEASE_SETTER(instance_descriptors, DescriptorArray) static const int kFastPropertiesSoftLimit = 12; static const int kMaxFastProperties = 128; @@ -1007,7 +1006,7 @@ class NormalizedMapCache : public WeakFixedArray { DECL_VERIFIER(NormalizedMapCache) private: - friend bool HeapObject::IsNormalizedMapCache(const Isolate* isolate) const; + friend bool HeapObject::IsNormalizedMapCache(IsolateRoot isolate) const; static const int kEntries = 64; |