5#ifndef INCLUDE_V8_WEAK_CALLBACK_INFO_H_
6#define INCLUDE_V8_WEAK_CALLBACK_INFO_H_
10#include "cppgc/internal/conditional-stack-allocated.h"
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);
43
44
45
46
47
48
49
50
51
52
59 void* embedder_fields_[kEmbedderFieldsInWeakCallback];
63
64
67
68
71
72
78#ifdef V8_ENABLE_CHECKS
79 if (index < 0 || index >= kEmbedderFieldsInWeakCallback) {
80 api_internal::InternalFieldOutOfBounds(index);
83 return embedder_fields_[index];
WeakCallbackInfo(Isolate *isolate, T *parameter, void *embedder_fields[kEmbedderFieldsInWeakCallback], Callback *callback)
V8_INLINE T * GetParameter() const
void SetSecondPassCallback(Callback callback) const
V8_INLINE Isolate * GetIsolate() const
V8_INLINE void * GetInternalField(int index) const
V8_EXPORT void InternalFieldOutOfBounds(int index)