diff options
author | 2023-08-21 21:24:49 -0700 | |
---|---|---|
committer | 2023-08-21 21:24:49 -0700 | |
commit | ed14b64e657de1446a65da58f51d431d3a915bdf (patch) | |
tree | a349e8bbdf12dcd798a0e472e06f61c030f20367 | |
parent | bca1bcf29c3bf925299b89dc75523c65549ca1fb (diff) | |
download | bun-ed14b64e657de1446a65da58f51d431d3a915bdf.tar.gz bun-ed14b64e657de1446a65da58f51d431d3a915bdf.tar.zst bun-ed14b64e657de1446a65da58f51d431d3a915bdf.zip |
Make the code generator less duplicative
-rw-r--r-- | src/bun.js/bindings/ZigGeneratedClasses.cpp | 119 | ||||
-rw-r--r-- | src/bun.js/scripts/generate-classes.ts | 4 |
2 files changed, 39 insertions, 84 deletions
diff --git a/src/bun.js/bindings/ZigGeneratedClasses.cpp b/src/bun.js/bindings/ZigGeneratedClasses.cpp index 7106357b2..3f8a92e3d 100644 --- a/src/bun.js/bindings/ZigGeneratedClasses.cpp +++ b/src/bun.js/bindings/ZigGeneratedClasses.cpp @@ -1258,10 +1258,7 @@ void JSBigIntStats::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_atime); - visitor.append(thisObject->m_birthtime); - visitor.append(thisObject->m_ctime); - visitor.append(thisObject->m_mtime); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSBigIntStats); @@ -1882,7 +1879,7 @@ void JSBlob::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_name); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSBlob); @@ -2424,12 +2421,7 @@ void JSBuildArtifact::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_hash); - visitor.append(thisObject->m_kind); - visitor.append(thisObject->m_loader); - visitor.append(thisObject->m_path); - visitor.append(thisObject->m_sourcemap); - visitor.append(thisObject->m_type); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSBuildArtifact); @@ -2911,9 +2903,7 @@ void JSBuildMessage::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_level); - visitor.append(thisObject->m_message); - visitor.append(thisObject->m_position); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSBuildMessage); @@ -4110,8 +4100,7 @@ void JSCryptoHasher::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_algorithms); - visitor.append(thisObject->m_algorithm); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSCryptoHasher); @@ -4558,7 +4547,7 @@ void JSDebugHTTPSServer::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_hostname); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSDebugHTTPSServer); @@ -5004,7 +4993,7 @@ void JSDebugHTTPServer::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_hostname); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSDebugHTTPServer); @@ -5538,7 +5527,7 @@ void JSDirent::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_name); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSDirent); @@ -5984,9 +5973,7 @@ void JSDocType::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_name); - visitor.append(thisObject->m_publicId); - visitor.append(thisObject->m_systemId); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSDocType); @@ -6704,7 +6691,7 @@ void JSElement::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_namespaceURI); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSElement); @@ -9331,8 +9318,8 @@ void JSExpect::visitChildrenImpl(JSCell* cell, Visitor& visitor) JSExpect* thisObject = jsCast<JSExpect*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_capturedValue); - visitor.append(thisObject->m_resultValue); + + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSExpect); @@ -9500,7 +9487,8 @@ void JSExpectAny::visitChildrenImpl(JSCell* cell, Visitor& visitor) JSExpectAny* thisObject = jsCast<JSExpectAny*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_constructorValue); + + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSExpectAny); @@ -9790,7 +9778,8 @@ void JSExpectStringContaining::visitChildrenImpl(JSCell* cell, Visitor& visitor) JSExpectStringContaining* thisObject = jsCast<JSExpectStringContaining*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_stringValue); + + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSExpectStringContaining); @@ -9957,7 +9946,8 @@ void JSExpectStringMatching::visitChildrenImpl(JSCell* cell, Visitor& visitor) JSExpectStringMatching* thisObject = jsCast<JSExpectStringMatching*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_testValue); + + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSExpectStringMatching); @@ -10206,7 +10196,8 @@ void JSFFI::visitChildrenImpl(JSCell* cell, Visitor& visitor) JSFFI* thisObject = jsCast<JSFFI*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_symbolsValue); + + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSFFI); @@ -10507,9 +10498,8 @@ void JSFSWatcher::visitChildrenImpl(JSCell* cell, Visitor& visitor) JSFSWatcher* thisObject = jsCast<JSFSWatcher*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_listener); - visitor.addOpaqueRoot(thisObject->wrapped()); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSFSWatcher); @@ -10954,9 +10944,7 @@ void JSFileSystemRouter::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_origin); - visitor.append(thisObject->m_routes); - visitor.append(thisObject->m_style); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSFileSystemRouter); @@ -11742,7 +11730,7 @@ void JSHTTPSServer::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_hostname); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSHTTPSServer); @@ -12188,7 +12176,7 @@ void JSHTTPServer::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_hostname); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSHTTPServer); @@ -12603,8 +12591,7 @@ void JSListener::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_hostname); - visitor.append(thisObject->m_unix); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSListener); @@ -13716,13 +13703,7 @@ void JSMatchedRoute::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_filePath); - visitor.append(thisObject->m_kind); - visitor.append(thisObject->m_name); - visitor.append(thisObject->m_params); - visitor.append(thisObject->m_pathname); - visitor.append(thisObject->m_query); - visitor.append(thisObject->m_scriptSrc); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSMatchedRoute); @@ -17360,14 +17341,10 @@ void JSRequest::visitChildrenImpl(JSCell* cell, Visitor& visitor) JSRequest* thisObject = jsCast<JSRequest*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - if (auto* ptr = thisObject->wrapped()) { visitor.reportExtraMemoryVisited(Request__estimatedSize(ptr)); } - visitor.append(thisObject->m_body); - visitor.append(thisObject->m_headers); - visitor.append(thisObject->m_signal); - visitor.append(thisObject->m_url); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSRequest); @@ -17987,13 +17964,7 @@ void JSResolveMessage::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_code); - visitor.append(thisObject->m_importKind); - visitor.append(thisObject->m_level); - visitor.append(thisObject->m_message); - visitor.append(thisObject->m_position); - visitor.append(thisObject->m_referrer); - visitor.append(thisObject->m_specifier); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSResolveMessage); @@ -18697,14 +18668,10 @@ void JSResponse::visitChildrenImpl(JSCell* cell, Visitor& visitor) JSResponse* thisObject = jsCast<JSResponse*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - if (auto* ptr = thisObject->wrapped()) { visitor.reportExtraMemoryVisited(Response__estimatedSize(ptr)); } - visitor.append(thisObject->m_body); - visitor.append(thisObject->m_headers); - visitor.append(thisObject->m_statusText); - visitor.append(thisObject->m_url); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSResponse); @@ -21644,8 +21611,7 @@ void JSServerWebSocket::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_data); - visitor.append(thisObject->m_remoteAddress); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSServerWebSocket); @@ -22616,9 +22582,7 @@ void JSStats::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_atime); - visitor.append(thisObject->m_ctime); - visitor.append(thisObject->m_mtime); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSStats); @@ -23148,10 +23112,7 @@ void JSSubprocess::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_stderr); - visitor.append(thisObject->m_stdin); - visitor.append(thisObject->m_stdout); - visitor.addOpaqueRoot(thisObject->wrapped()); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSSubprocess); @@ -24263,9 +24224,7 @@ void JSTCPSocket::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_data); - visitor.append(thisObject->m_remoteAddress); - visitor.addOpaqueRoot(thisObject->wrapped()); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSTCPSocket); @@ -25376,9 +25335,7 @@ void JSTLSSocket::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_data); - visitor.append(thisObject->m_remoteAddress); - visitor.addOpaqueRoot(thisObject->wrapped()); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSTLSSocket); @@ -25746,7 +25703,7 @@ void JSTextChunk::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_lastInTextNode); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSTextChunk); @@ -26122,7 +26079,7 @@ void JSTextDecoder::visitChildrenImpl(JSCell* cell, Visitor& visitor) ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_encoding); + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSTextDecoder); @@ -26463,8 +26420,8 @@ void JSTimeout::visitChildrenImpl(JSCell* cell, Visitor& visitor) JSTimeout* thisObject = jsCast<JSTimeout*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - visitor.append(thisObject->m_arguments); - visitor.append(thisObject->m_callback); + + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(JSTimeout); diff --git a/src/bun.js/scripts/generate-classes.ts b/src/bun.js/scripts/generate-classes.ts index 0b88a3eb1..b6fbe0915 100644 --- a/src/bun.js/scripts/generate-classes.ts +++ b/src/bun.js/scripts/generate-classes.ts @@ -1033,7 +1033,6 @@ void ${name}::visitChildrenImpl(JSCell* cell, Visitor& visitor) ${name}* thisObject = jsCast<${name}*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); - ${values} ${ estimatedSize ? `if (auto* ptr = thisObject->wrapped()) { @@ -1041,8 +1040,7 @@ visitor.reportExtraMemoryVisited(${symbolName(obj.name, "estimatedSize")}(ptr)); }` : "" } -${DEFINE_VISIT_CHILDREN_LIST} -${hasPendingActivity ? `visitor.addOpaqueRoot(thisObject->wrapped());` : ""} + thisObject->visitAdditionalChildren<Visitor>(visitor); } DEFINE_VISIT_CHILDREN(${name}); |