blob: 045b4484ac309dfea4bd1991759793ac684a8073 (
plain) (
blame)
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
|
#include "root.h"
#include <JavaScriptCore/StrongInlines.h>
#include "BunClientData.h"
#include "Strong.h"
namespace Bun {
WTF_MAKE_ISO_ALLOCATED_IMPL(StrongRef);
}
extern "C" void Bun__StrongRef__delete(Bun::StrongRef* strongRef)
{
delete strongRef;
}
extern "C" Bun::StrongRef* Bun__StrongRef__new(JSC::JSGlobalObject* globalObject, JSC::EncodedJSValue encodedValue)
{
return new Bun::StrongRef(globalObject->vm(), JSC::JSValue::decode(encodedValue));
}
extern "C" JSC::EncodedJSValue Bun__StrongRef__get(Bun::StrongRef* strongRef)
{
return JSC::JSValue::encode(strongRef->m_cell.get());
}
extern "C" void Bun__StrongRef__set(Bun::StrongRef* strongRef, JSC::JSGlobalObject* globalObject, JSC::EncodedJSValue value)
{
strongRef->m_cell.set(globalObject->vm(), JSC::JSValue::decode(value));
}
extern "C" void Bun__StrongRef__clear(Bun::StrongRef* strongRef)
{
strongRef->m_cell.clear();
}
|