Skip to content

Commit fcc7b7d

Browse files
Add EmbedderDataTypeTag to SetAlignedPointerInInternalField and GetAlignedPointerFromInternalField for v8 >= 14 (#1010)
* added data type tags to SetAlignedPointerInInternalField and GetAlignedPointerFromInternalField for v8 >= 14.2.194
1 parent 12ea7c5 commit fcc7b7d

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

nan.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -819,14 +819,31 @@ inline uv_loop_t* GetCurrentEventLoop() {
819819
inline void* GetInternalFieldPointer(
820820
v8::Local<v8::Object> object
821821
, int index) {
822+
#if (V8_MAJOR_VERSION > 14) || \
823+
(V8_MAJOR_VERSION == 14 && V8_MINOR_VERSION > 2) || \
824+
(V8_MAJOR_VERSION == 14 && V8_MINOR_VERSION == 2 && V8_BUILD_NUMBER >= 194)
825+
return object->GetAlignedPointerFromInternalField(
826+
index, v8::kEmbedderDataTypeTagDefault
827+
);
828+
# else
822829
return object->GetAlignedPointerFromInternalField(index);
830+
# endif
823831
}
824832

825833
inline void SetInternalFieldPointer(
826834
v8::Local<v8::Object> object
827835
, int index
828836
, void* value) {
837+
#if (V8_MAJOR_VERSION > 14) || \
838+
(V8_MAJOR_VERSION == 14 && V8_MINOR_VERSION > 2) || \
839+
(V8_MAJOR_VERSION == 14 && V8_MINOR_VERSION == 2 && V8_BUILD_NUMBER >= 194)
840+
return object->GetAlignedPointerFromInternalField(
841+
object->SetAlignedPointerInInternalField(
842+
index, value, v8::kEmbedderDataTypeTagDefault
843+
);
844+
# else
829845
object->SetAlignedPointerInInternalField(index, value);
846+
# endif
830847
}
831848

832849
# define NAN_GC_CALLBACK(name) \

0 commit comments

Comments
 (0)