Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4697eaccd00f7f8e11b01e96fe00b5976d8e047f https://github.com/WebKit/WebKit/commit/4697eaccd00f7f8e11b01e96fe00b5976d8e047f Author: Tadeu Zagallo <tzaga...@apple.com> Date: 2023-02-01 (Wed, 01 Feb 2023)
Changed paths: M Source/WebGPU/WGSL/CallGraph.h A Source/WebGPU/WGSL/MangleNames.cpp A Source/WebGPU/WGSL/MangleNames.h M Source/WebGPU/WGSL/WGSL.cpp M Source/WebGPU/WebGPU.xcodeproj/project.pbxproj M Source/WebGPU/WebGPU/ShaderModule.mm Log Message: ----------- [WGSL] Add a name mangling pass https://bugs.webkit.org/show_bug.cgi?id=251441 rdar://104872078 Reviewed by Myles C. Maxfield. Initial name mangling pass implementation. It's still a bit bare bones, and until we implement the type checking we can't rename struct fields, but everything else (that is currently supported) works. The implementation is a bit rough, just renaming everything in place, but it's fairly concise and gets the job done, at least for the time being. * Source/WebGPU/WGSL/AST/ASTFunctionDecl.h: * Source/WebGPU/WGSL/AST/ASTIdentifierExpression.h: * Source/WebGPU/WGSL/AST/ASTStructureAccess.h: * Source/WebGPU/WGSL/AST/ASTStructureDecl.h: * Source/WebGPU/WGSL/AST/ASTTypeDecl.h: * Source/WebGPU/WGSL/AST/ASTVariableDecl.h: * Source/WebGPU/WGSL/CallGraph.h: (WGSL::CallGraph::ast const): (WGSL::CallGraph::entrypoints const): (WGSL::CallGraph::ast): Deleted. (WGSL::CallGraph::entrypoints): Deleted. * Source/WebGPU/WGSL/MangleNames.cpp: Added. (WGSL::MangledName::toString const): (WGSL::NameManglerVisitor::NameManglerVisitor): (WGSL::NameManglerVisitor::Context::Context): (WGSL::NameManglerVisitor::Context::lookup const): (WGSL::NameManglerVisitor::Context::add): (WGSL::NameManglerVisitor::ContextScope::ContextScope): (WGSL::NameManglerVisitor::ContextScope::~ContextScope): (WGSL::NameManglerVisitor::run): (WGSL::NameManglerVisitor::visit): (WGSL::NameManglerVisitor::visitFunctionBody): (WGSL::NameManglerVisitor::visitVariableDeclaration): (WGSL::NameManglerVisitor::def): (WGSL::NameManglerVisitor::makeMangledName): (WGSL::NameManglerVisitor::read const): (WGSL::mangleNames): * Source/WebGPU/WGSL/MangleNames.h: Copied from Source/WebGPU/WGSL/CallGraph.h. * Source/WebGPU/WGSL/WGSL.cpp: (WGSL::prepare): * Source/WebGPU/WebGPU.xcodeproj/project.pbxproj: * Source/WebGPU/WebGPU/ShaderModule.mm: (WebGPU::ShaderModule::getNamedFunction const): Canonical link: https://commits.webkit.org/259671@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes