diff options
Diffstat (limited to 'src/bun.js/scripts/generate-classes.ts')
-rw-r--r-- | src/bun.js/scripts/generate-classes.ts | 10 |
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 ")} } |