Allow new vector types to work with the interactive interpreter
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 27 Aug 2018 18:22:06 +0000 (18:22 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 27 Aug 2018 18:22:06 +0000 (18:22 +0000)
https://bugs.webkit.org/show_bug.cgi?id=188988

Patch by Thomas Denney <tdenney@apple.com> on 2018-08-27
Reviewed by Myles C. Maxfield.

* WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
(FlattenedStructOffsetGatherer.prototype.visitTypeRef): Do not
unncessarily visit the type arguments of a TypeRef, as by this point
there are none that are relevant.
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics): Treat VectorType as a primitive type.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js
Tools/WebGPUShadingLanguageRI/Intrinsics.js

index ebc5ac0..f9ab2f4 100644 (file)
@@ -1,3 +1,17 @@
+2018-08-27  Thomas Denney  <tdenney@apple.com>
+
+        Allow new vector types to work with the interactive interpreter
+        https://bugs.webkit.org/show_bug.cgi?id=188988
+
+        Reviewed by Myles C. Maxfield.
+
+        * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
+        (FlattenedStructOffsetGatherer.prototype.visitTypeRef): Do not
+        unncessarily visit the type arguments of a TypeRef, as by this point
+        there are none that are relevant.
+        * WebGPUShadingLanguageRI/Intrinsics.js:
+        (Intrinsics): Treat VectorType as a primitive type.
+
 2018-08-27  Keith Rollin  <krollin@apple.com>
 
         Build system support for LTO
index 1970f8e..53c8716 100644 (file)
@@ -59,7 +59,6 @@ class FlattenedStructOffsetGatherer extends Visitor {
     
     visitTypeRef(node)
     {
-        super.visitTypeRef(node);
         Node.visit(node.type, this);
     }
 
index e9c3d1b..7229063 100644 (file)
@@ -311,6 +311,7 @@ class Intrinsics {
             for (let vectorSize of VectorElementSizes) {
                 this._map.set(`native typedef vector<${vectorType}, ${vectorSize}>`, type => {
                     this[`vector<${vectorType}, ${vectorSize}>`] = type;
+                    type.isPrimitive = true;
                 });
             }
         }