5#ifndef INCLUDE_V8_WEAK_CALLBACK_INFO_H_
6#define INCLUDE_V8_WEAK_CALLBACK_INFO_H_
17namespace api_internal {
21static constexpr int kInternalFieldsInWeakCallback = 2;
22static constexpr int kEmbedderFieldsInWeakCallback = 2;
31 void* embedder_fields[kEmbedderFieldsInWeakCallback],
33 : isolate_(isolate), parameter_(parameter), callback_(callback) {
34 memcpy(embedder_fields_, embedder_fields,
35 sizeof(embedder_fields[0]) * kEmbedderFieldsInWeakCallback);
59 void* embedder_fields_[kEmbedderFieldsInWeakCallback];
78#ifdef V8_ENABLE_CHECKS
79 if (index < 0 || index >= kEmbedderFieldsInWeakCallback) {
83 return embedder_fields_[index];
Definition: conditional-stack-allocated.h:19
Definition: v8-isolate.h:274
Definition: v8-weak-callback-info.h:26
void * GetInternalField(int index) const
Definition: v8-weak-callback-info.h:77
Isolate * GetIsolate() const
Definition: v8-weak-callback-info.h:38
void(*)(const WeakCallbackInfo< T > &data) Callback
Definition: v8-weak-callback-info.h:28
T * GetParameter() const
Definition: v8-weak-callback-info.h:39
WeakCallbackInfo(Isolate *isolate, T *parameter, void *embedder_fields[kEmbedderFieldsInWeakCallback], Callback *callback)
Definition: v8-weak-callback-info.h:30
void SetSecondPassCallback(Callback callback) const
Definition: v8-weak-callback-info.h:53
void InternalFieldOutOfBounds(int index)
Definition: libplatform.h:15
WeakCallbackType
Definition: v8-weak-callback-info.h:65
#define V8_EXPORT
Definition: v8config.h:800
#define V8_INLINE
Definition: v8config.h:500