[webkit-changes] [WebKit/WebKit] 387c1b: [WGSL] Initial implementation of operator overload...
Tadeu Zagallo
noreply at github.com
Tue Feb 14 07:23:29 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 387c1b1f6bd7c9ae77a9e1ce3c72d85697a14497
https://github.com/WebKit/WebKit/commit/387c1b1f6bd7c9ae77a9e1ce3c72d85697a14497
Author: Tadeu Zagallo <tzagallo at apple.com>
Date: 2023-02-14 (Tue, 14 Feb 2023)
Changed paths:
A Source/WebGPU/WGSL/Overload.cpp
A Source/WebGPU/WGSL/Overload.h
M Source/WebGPU/WGSL/TypeCheck.cpp
M Source/WebGPU/WGSL/TypeStore.cpp
M Source/WebGPU/WGSL/TypeStore.h
M Source/WebGPU/WGSL/Types.h
M Source/WebGPU/WebGPU.xcodeproj/project.pbxproj
Log Message:
-----------
[WGSL] Initial implementation of operator overload resolution
https://bugs.webkit.org/show_bug.cgi?id=251863
rdar://105133289
Reviewed by Myles C. Maxfield.
First pass at adding support for overloaded operators and functions. For now,
only `+` is implemented with 2 operators, and declaring the operations is very
cumbersome, but the patch is fairly large as it is, so more convenient declarations
will follow in a separate patch.
* Source/WebGPU/WGSL/Overload.cpp: Added.
(WGSL::log):
(WGSL::logLn):
(WGSL::OverloadResolver::OverloadResolver):
(WGSL::OverloadResolver::resolve):
(WGSL::OverloadResolver::materialize const):
(WGSL::OverloadResolver::considerCandidates):
(WGSL::OverloadResolver::considerCandidate):
(WGSL::OverloadResolver::calculateCost):
(WGSL::OverloadResolver::unify):
(WGSL::OverloadResolver::assign):
(WGSL::OverloadResolver::resolve const):
(WGSL::OverloadResolver::conversionCost const):
(WGSL::primitive_pair):
(WGSL::OverloadResolver::conversionCostImpl const):
(WGSL::resolveOverloads):
(WTF::printInternal):
* Source/WebGPU/WGSL/Overload.h: Copied from Source/WebGPU/WGSL/Types.h.
* Source/WebGPU/WGSL/TypeCheck.cpp:
(WGSL::TypeChecker::TypeChecker):
(WGSL::TypeChecker::visit):
(WGSL::TypeChecker::chooseOverload):
* Source/WebGPU/WGSL/TypeStore.cpp:
(WGSL::TypeStore::TypeStore):
(WGSL::TypeStore::vectorType):
(WGSL::TypeStore::matrixType):
(WGSL::TypeStore::allocateConstructor):
* Source/WebGPU/WGSL/TypeStore.h:
* Source/WebGPU/WGSL/Types.h:
* Source/WebGPU/WGSL/WGSL.h:
* Source/WebGPU/WebGPU.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/260254@main
More information about the webkit-changes
mailing list