<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>189360</bug_id>
          
          <creation_ts>2018-09-06 10:52:08 -0700</creation_ts>
          <short_desc>[WHLSL] Call arguments should be copied as soon as they are evaluated</short_desc>
          <delta_ts>2018-10-13 14:35:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGPU</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>176199</blocked>
    
    <blocked>189202</blocked>
    
    <blocked>189326</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thomas Denney">tdenney</reporter>
          <assigned_to name="Thomas Denney">tdenney</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>tdenney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1457142</commentid>
    <comment_count>0</comment_count>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-09-06 10:52:08 -0700</bug_when>
    <thetext>There is an observable bug in the interpreter whereby the shallow copy of values only occurred after all arguments to a call had been evaluated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457148</commentid>
    <comment_count>1</comment_count>
      <attachid>349045</attachid>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-09-06 11:00:18 -0700</bug_when>
    <thetext>Created attachment 349045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457155</commentid>
    <comment_count>2</comment_count>
      <attachid>349045</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-09-06 11:12:27 -0700</bug_when>
    <thetext>Comment on attachment 349045
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=349045&amp;action=review

&gt; Tools/WebGPUShadingLanguageRI/Evaluator.js:325
&gt; +        let result = EBuffer.allowAllocation(() =&gt; node.func.implementation(callArguments, node));

I&apos;m confused. Where do the thunks get evaluated? I expected this patch to move code around, but instead it appears to be deleting code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457209</commentid>
    <comment_count>3</comment_count>
      <attachid>349045</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-09-06 13:11:01 -0700</bug_when>
    <thetext>Comment on attachment 349045
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=349045&amp;action=review

&gt;&gt; Tools/WebGPUShadingLanguageRI/Evaluator.js:325
&gt;&gt; +        let result = EBuffer.allowAllocation(() =&gt; node.func.implementation(callArguments, node));
&gt; 
&gt; I&apos;m confused. Where do the thunks get evaluated? I expected this patch to move code around, but instead it appears to be deleting code?

Got it. Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457220</commentid>
    <comment_count>4</comment_count>
      <attachid>349045</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-06 13:36:49 -0700</bug_when>
    <thetext>Comment on attachment 349045
Patch

Clearing flags on attachment: 349045

Committed r235753: &lt;https://trac.webkit.org/changeset/235753&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457221</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-06 13:36:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457224</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-06 13:40:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/44194725&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468817</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-10-13 14:35:26 -0700</bug_when>
    <thetext>Migrated to https://github.com/gpuweb/WHLSL/issues/41</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349045</attachid>
            <date>2018-09-06 11:00:18 -0700</date>
            <delta_ts>2018-09-06 13:36:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189360-20180906110015.patch</filename>
            <type>text/plain</type>
            <size>3257</size>
            <attacher name="Thomas Denney">tdenney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NzM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMWExZTIxNjQ0OTQ1MWJiNDM2ZDFkNzMzMDBmMmRmOWUx
MTYxNjc2YS4uNDVmY2E4OWRjM2EyYzVlZGMxZDIwZjE2OWE4YThjMzA0YmIxN2Y1MyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDE4LTA5LTA2ICBUaG9tYXMgRGVubmV5ICA8dGRlbm5leUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW1dITFNMXSBDYWxsIGFyZ3VtZW50cyBzaG91bGQgYmUgY29waWVkIGFzIHNvb24gYXMg
dGhleSBhcmUgZXZhbHVhdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODkzNjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBQcmV2aW91c2x5IGFsbCBjYWxsIGFyZ3VtZW50cyB3ZXJlIGV2YWx1YXRlZCBh
bmQgdGhlbiB0aGVpciByZXN1bHRzIHdlcmUKKyAgICAgICAgY29waWVkIGludG8gbmV3IGJ1ZmZl
cnMgZm9yIHRoZSBjYWxsLiBIb3dldmVyLCB0aGUgcmVzdWx0cyBhcmUgbm90CisgICAgICAgIG5l
Y2Vzc2FyaWx5IGluZGVwZW5kZW50LCBzbyB0aGUgcmVzdWx0IHNob3VsZCBiZSBjb3BpZWQgaW1t
ZWRpYXRlbHkKKyAgICAgICAgYWZ0ZXIgZXZhbHVhdGlvbi4KKworICAgICAgICAqIFdlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRvci5qczoKKyAgICAgICAgKEV2YWx1YXRvci5wcm90b3R5
cGUudmlzaXRDYWxsRXhwcmVzc2lvbik6IE1vdmUgbG9jYXRpb24gb2YgY29weS4KKyAgICAgICAg
KEV2YWx1YXRvcik6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qczog
QWRkIG5ldyB0ZXN0IHRvIHZlcmlmeSBjb3JyZWN0CisgICAgICAgIGJlaGF2aW9yLgorCiAyMDE4
LTA5LTA2ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dITFNMXSBUaGUgcGFyc2VyIGlzIHRvbyBzbG93CmRpZmYgLS1naXQgYS9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9FdmFsdWF0b3IuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9FdmFsdWF0b3IuanMKaW5kZXggYWVlMGEyMzEyZmVkNzJjMGM4N2U3M2YxOGFjMzQ4
ZWExYWMzYzdiYS4uOTIwOTg3YWVhYzQ5NGRlNWMzOTlkMDIwZDQ2MWRjZDkyMjBiNzI2ZiAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVhdG9yLmpzCisrKyBi
L1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRvci5qcwpAQCAtMzIwLDE3ICsz
MjAsOSBAQCBjbGFzcyBFdmFsdWF0b3IgZXh0ZW5kcyBWaXNpdG9yIHsKICAgICAgICAgICAgIGxl
dCBhcmd1bWVudFZhbHVlID0gYXJndW1lbnQudmlzaXQodGhpcyk7CiAgICAgICAgICAgICBpZiAo
IWFyZ3VtZW50VmFsdWUpCiAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJOdWxsIGFy
Z3VtZW50IHZhbHVlLCBpID0gIiArIGkgKyAiLCBub2RlID0gIiArIG5vZGUpOwotICAgICAgICAg
ICAgY2FsbEFyZ3VtZW50cy5wdXNoKCgpID0+IHsKLSAgICAgICAgICAgICAgICBsZXQgcmVzdWx0
ID0gdGhpcy5fc25hcHNob3QodHlwZSwgbnVsbCwgYXJndW1lbnRWYWx1ZSk7Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICAgICAgICAgIH0pOworICAgICAgICAgICAgY2FsbEFy
Z3VtZW50cy5wdXNoKEVCdWZmZXIuYWxsb3dBbGxvY2F0aW9uKCgpID0+IHRoaXMuX3NuYXBzaG90
KHR5cGUsIG51bGwsIGFyZ3VtZW50VmFsdWUpKSk7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAg
ICAgIC8vIEZvciBzaW1wbGljaXR5LCB3ZSBhbGxvdyBpbnRyaW5zaWNzIHRvIGp1c3QgYWxsb2Nh
dGUgbmV3IGJ1ZmZlcnMsIGFuZCB3ZSBhbGxvY2F0ZSBuZXcKLSAgICAgICAgLy8gYnVmZmVycyB3
aGVuIHNuYXBzaG90dGluZyB0aGVpciBhcmd1bWVudHMuIFRoaXMgaXMgbm90IG9ic2VydmFibGUg
dG8gdGhlIHVzZXIsIHNvIGl0J3MgT0suCi0gICAgICAgIGxldCByZXN1bHQgPSBFQnVmZmVyLmFs
bG93QWxsb2NhdGlvbigKLSAgICAgICAgICAgICgpID0+IG5vZGUuZnVuYy5pbXBsZW1lbnRhdGlv
bihjYWxsQXJndW1lbnRzLm1hcCh0aHVuayA9PiB0aHVuaygpKSwgbm9kZSkpOwotICAgICAgICAK
KyAgICAgICAgbGV0IHJlc3VsdCA9IEVCdWZmZXIuYWxsb3dBbGxvY2F0aW9uKCgpID0+IG5vZGUu
ZnVuYy5pbXBsZW1lbnRhdGlvbihjYWxsQXJndW1lbnRzLCBub2RlKSk7CiAgICAgICAgIHJlc3Vs
dCA9IHRoaXMuX3NuYXBzaG90KG5vZGUuZnVuYy5yZXR1cm5UeXBlLCBub2RlLnJlc3VsdEVQdHIs
IHJlc3VsdCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL1Rlc3QuanMKaW5kZXggNTU2Y2IyZmI4YmI1MTA4NzkwYzViNGRhOGZhNjdlNGM1
NGNhYzY2Ni4uYmQyYjAzNmFkYWUxYWJiNzgyYTc1NzhhNmJjYTNiNTE5NjM2ZTFkZiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcworKysgYi9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzCkBAIC03NjI2LDYgKzc2MjYsMjMgQEAgdGVz
dHMuY29tbWVudFBhcnNpbmcgPSBmdW5jdGlvbigpIHsKICAgICAgICAgKGUpID0+IGUgaW5zdGFu
Y2VvZiBXTGV4aWNhbEVycm9yKTsKIH0KIAordGVzdHMuY2FsbEFyZ3VtZW50c0FyZUNvcGllZElt
bWVkaWF0ZWx5QWZ0ZXJFdmFsdWF0aW9uID0gKCkgPT4geworICAgIGxldCBwcm9ncmFtID0gZG9Q
cmVwKGAKKyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAq
YmFyKDUpICsgKmJhcig3KTsKKyAgICAgICAgfQorCisgICAgICAgIHRocmVhZCBpbnQqIGJhcihp
bnQgdmFsdWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCB4ID0gdmFsdWU7CisgICAgICAg
ICAgICByZXR1cm4gJng7CisgICAgICAgIH0KKyAgICBgKTsKKworICAgIGNoZWNrSW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAxMik7Cit9OworCiBva1RvVGVz
dCA9IHRydWU7CiAKIGxldCB0ZXN0RmlsdGVyID0gLy4qLzsgLy8gcnVuIGV2ZXJ5dGhpbmcgYnkg
ZGVmYXVsdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>