forked from oven-sh/bun
-
Notifications
You must be signed in to change notification settings - Fork 0
/
JSNextTickQueue.h
40 lines (31 loc) · 1.13 KB
/
JSNextTickQueue.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "root.h"
#include "headers-handwritten.h"
#include "JavaScriptCore/JSCInlines.h"
#include "BunClientData.h"
#include <JavaScriptCore/JSInternalFieldObjectImpl.h>
namespace Bun {
using namespace JSC;
class JSNextTickQueue : public JSC::JSInternalFieldObjectImpl<3> {
public:
using Base = JSC::JSInternalFieldObjectImpl<3>;
template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm);
JS_EXPORT_PRIVATE static JSNextTickQueue* create(VM&, Structure*);
static JSNextTickQueue* create(JSC::JSGlobalObject* globalObject);
static JSNextTickQueue* createWithInitialValues(VM&, Structure*);
static Structure* createStructure(VM&, JSGlobalObject*, JSValue);
static std::array<JSValue, numberOfInternalFields> initialValues()
{
return { {
jsNumber(-1),
jsUndefined(),
jsUndefined(),
} };
}
DECLARE_EXPORT_INFO;
DECLARE_VISIT_CHILDREN;
JSNextTickQueue(JSC::VM&, JSC::Structure*);
void finishCreation(JSC::VM&);
bool isEmpty();
void drain(JSC::VM& vm, JSC::JSGlobalObject* globalObject);
};
}