)]}' { "commit": "2858fa12bd97090aea8777db1e45a53c1774d15c", "tree": "4df7ccf182f3a23d4d2dd6535f76a1d51bc0ad91", "parents": [ "d88c3b1498adee344cd01e403f0afdfb16e905d0" ], "author": { "name": "sbarati@apple.com", "email": "sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc", "time": "Thu Jun 20 02:05:28 2019 +0000" }, "committer": { "name": "sbarati@apple.com", "email": "sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc", "time": "Thu Jun 20 02:05:28 2019 +0000" }, "message": "[WHLSL] The checker needs to resolve types for the anonymous variables in ReadModifyWrite expressions\nhttps://bugs.webkit.org/show_bug.cgi?id\u003d198988\n\nReviewed by Dean Jackson and Myles C. Maxfield.\n\nSource/WebCore:\n\nThis patch makes it so that the Checker assigns types to the internal variables\nin a read modify write expression. These were the only variables that didn\u0027t have\ntypes ascribed to them.\n\nThis patch also does a fly by fix where we kept pointers to value types\nin a HashMap in the checker. This is wrong precisely when the HashMap gets\nresized. Instead, we now just store the value itself since we\u0027re just\ndealing with a simple Variant that wraps either an empty struct or an\nenum.\n\nTest: webgpu/whlsl-checker-should-set-type-of-read-modify-write-variables.html\n\n* Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h:\n(WebCore::WHLSL::AST::VariableDeclaration::setType):\n(WebCore::WHLSL::AST::VariableDeclaration::type const):\n* Modules/webgpu/WHLSL/WHLSLASTDumper.cpp: Make it obvious that read\nmodify write expressions are such by prefixing them with \"RMW\".\n(WebCore::WHLSL::ASTDumper::visit):\n* Modules/webgpu/WHLSL/WHLSLChecker.cpp:\n(WebCore::WHLSL::Checker::visit):\n\nLayoutTests:\n\n* webgpu/whlsl-checker-should-set-type-of-read-modify-write-variables-expected.txt: Added.\n* webgpu/whlsl-checker-should-set-type-of-read-modify-write-variables.html: Added.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@246625 268f45cc-cd09-0410-ab3c-d52691b4dbfc\n", "tree_diff": [ { "type": "modify", "old_id": "c431591c4b2e1f6942fd5a0dc48eeb2402459656", "old_mode": 33188, "old_path": "LayoutTests/ChangeLog", "new_id": "5b886166938871f472540d806a937ca27b2349d1", "new_mode": 33188, "new_path": "LayoutTests/ChangeLog" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "4660202c35631cd02cb303c8e3593f6c0015201a", "new_mode": 33188, "new_path": "LayoutTests/webgpu/whlsl-checker-should-set-type-of-read-modify-write-variables-expected.txt" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "464e268714df8a14bede67452fb9947352f8c97f", "new_mode": 33188, "new_path": "LayoutTests/webgpu/whlsl-checker-should-set-type-of-read-modify-write-variables.html" }, { "type": "modify", "old_id": "b7435effbfeca97c702a7ced1b98dc07022f9c4d", "old_mode": 33188, "old_path": "Source/WebCore/ChangeLog", "new_id": "4861d5b1ea552c29e068e6e9f00b0a1c1d748bd1", "new_mode": 33188, "new_path": "Source/WebCore/ChangeLog" }, { "type": "modify", "old_id": "9f8d99bdc10f4c4b5ec21902694a3598a3d026fe", "old_mode": 33188, "old_path": "Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h", "new_id": "37ea38649ccbaaf009a908b5d02c3e7e03b87815", "new_mode": 33188, "new_path": "Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h" }, { "type": "modify", "old_id": "2ebf8629afa0f512ab235f6d6528dc29ea2f1dd1", "old_mode": 33188, "old_path": "Source/WebCore/Modules/webgpu/WHLSL/WHLSLASTDumper.cpp", "new_id": "5cfc8e298179849822aeed074a91d0ade145b40d", "new_mode": 33188, "new_path": "Source/WebCore/Modules/webgpu/WHLSL/WHLSLASTDumper.cpp" }, { "type": "modify", "old_id": "d894b920e66746b867427f74dd9adbd3ad7dff06", "old_mode": 33188, "old_path": "Source/WebCore/Modules/webgpu/WHLSL/WHLSLChecker.cpp", "new_id": "c05c7331b6212729750bce0debbd1cdb05bee078", "new_mode": 33188, "new_path": "Source/WebCore/Modules/webgpu/WHLSL/WHLSLChecker.cpp" } ] }