aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/scripts/generate-classes.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/scripts/generate-classes.ts')
-rw-r--r--src/bun.js/scripts/generate-classes.ts10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/bun.js/scripts/generate-classes.ts b/src/bun.js/scripts/generate-classes.ts
index eb93e6cd2..c3dc22a9f 100644
--- a/src/bun.js/scripts/generate-classes.ts
+++ b/src/bun.js/scripts/generate-classes.ts
@@ -1086,7 +1086,9 @@ function generateLazyClassStructureHeader(
JSC::JSValue ${className(typeName)}Prototype() { return m_${className(
typeName
)}.prototypeInitializedOnMainThread(this); }
- JSC::LazyClassStructure m_${className(typeName)};
+ JSC::LazyClassStructure m_${className(typeName)};
+ bool has${className(typeName)}SetterValue { false };
+ mutable JSC::WriteBarrier<JSC::Unknown> m_${className(typeName)}SetterValue;
`.trim();
}
@@ -1187,7 +1189,11 @@ template<typename Visitor>
void GlobalObject::visitGeneratedLazyClasses(GlobalObject *thisObject, Visitor& visitor)
{
${classes
- .map((a) => `thisObject->m_${className(a.name)}.visit(visitor);`)
+ .map(
+ (a) =>
+ `thisObject->m_${className(a.name)}.visit(visitor);
+visitor.visit(thisObject->m_${className(a.name)}SetterValue);`
+ )
.join("\n ")}
}