diff options
Diffstat (limited to 'deps/v8/src/objects/foreign.h')
-rw-r--r-- | deps/v8/src/objects/foreign.h | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/deps/v8/src/objects/foreign.h b/deps/v8/src/objects/foreign.h index 617ca0e34fb..e0f498ab7ee 100644 --- a/deps/v8/src/objects/foreign.h +++ b/deps/v8/src/objects/foreign.h @@ -6,7 +6,7 @@ #define V8_OBJECTS_FOREIGN_H_ #include "src/objects/heap-object.h" -#include "torque-generated/field-offsets-tq.h" +#include "torque-generated/class-definitions-tq.h" // Has to be the last include (doesn't have include guards): #include "src/objects/object-macros.h" @@ -15,21 +15,15 @@ namespace v8 { namespace internal { // Foreign describes objects pointing from JavaScript to C structures. -class Foreign : public HeapObject { +class Foreign : public TorqueGeneratedForeign<Foreign, HeapObject> { public: // [address]: field containing the address. - inline Address foreign_address(); + DECL_GETTER(foreign_address, Address) static inline bool IsNormalized(Object object); - DECL_CAST(Foreign) - // Dispatched behavior. DECL_PRINTER(Foreign) - DECL_VERIFIER(Foreign) - - DEFINE_FIELD_OFFSET_CONSTANTS(HeapObject::kHeaderSize, - TORQUE_GENERATED_FOREIGN_FIELDS) #ifdef V8_COMPRESS_POINTERS // TODO(ishell, v8:8875): When pointer compression is enabled the @@ -38,11 +32,9 @@ class Foreign : public HeapObject { // compression is supported) allow unaligned access to full words. STATIC_ASSERT(IsAligned(kForeignAddressOffset, kTaggedSize)); #else - STATIC_ASSERT(IsAligned(kForeignAddressOffset, kSystemPointerSize)); + STATIC_ASSERT(IsAligned(kForeignAddressOffset, kExternalPointerSize)); #endif - STATIC_ASSERT(kForeignAddressOffset == Internals::kForeignAddressOffset); - class BodyDescriptor; private: @@ -50,9 +42,9 @@ class Foreign : public HeapObject { friend class SerializerDeserializer; friend class StartupSerializer; - inline void set_foreign_address(Address value); + inline void set_foreign_address(Isolate* isolate, Address value); - OBJECT_CONSTRUCTORS(Foreign, HeapObject); + TQ_OBJECT_CONSTRUCTORS(Foreign) }; } // namespace internal |