<?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>238349</bug_id>
          
          <creation_ts>2022-03-24 14:51:36 -0700</creation_ts>
          <short_desc>AI should not set the structure for ObjectCreate</short_desc>
          <delta_ts>2022-03-25 14:52:34 -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>JavaScriptCore</component>
          <version>Safari 15</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Michaud">justin_michaud</reporter>
          <assigned_to name="Justin Michaud">justin_michaud</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1854868</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2022-03-24 14:51:36 -0700</bug_when>
    <thetext>The AbstractInterpreter should not set the structure for ObjectCreate because it might change by the time the constant folding phase runs if the structure cache is cleared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854870</commentid>
    <comment_count>1</comment_count>
      <attachid>455689</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2022-03-24 14:53:50 -0700</bug_when>
    <thetext>Created attachment 455689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854875</commentid>
    <comment_count>2</comment_count>
      <attachid>455689</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-24 14:59:41 -0700</bug_when>
    <thetext>Comment on attachment 455689
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:-3147
&gt; -                setForNode(node, structure);

We should continue setting a structure for nullPrototypeObjectStructure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854876</commentid>
    <comment_count>3</comment_count>
      <attachid>455689</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-03-24 15:00:59 -0700</bug_when>
    <thetext>Comment on attachment 455689
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:3138
&gt;                  break;

You can’t break here. You need the below code to run and set our type.

I also suggest reworking this patch to never even bother looking up a structure and just always mark things as shoyldTryCobstantFolding or instead to keep the code as it used to be</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855132</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-25 09:53:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/90842529&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855180</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-03-25 11:35:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/90838071&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855184</commentid>
    <comment_count>6</comment_count>
      <attachid>455790</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2022-03-25 11:49:56 -0700</bug_when>
    <thetext>Created attachment 455790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855189</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-25 12:05:08 -0700</bug_when>
    <thetext>Why not moving StructureCache from VM to JSGlobalObject?
This cache is used for objects&apos; structures. Thus each structure has its tied JSGlobalObject.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855205</commentid>
    <comment_count>8</comment_count>
      <attachid>455790</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-03-25 12:43:33 -0700</bug_when>
    <thetext>Comment on attachment 455790
Patch

We&apos;re discussing on slack a better approach</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855215</commentid>
    <comment_count>9</comment_count>
      <attachid>455795</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2022-03-25 13:09:08 -0700</bug_when>
    <thetext>Created attachment 455795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855216</commentid>
    <comment_count>10</comment_count>
      <attachid>455795</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-03-25 13:10:06 -0700</bug_when>
    <thetext>Comment on attachment 455795
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:3131
&gt; -                    didFoldClobberWorld();
&gt; +                    clobberWorld();

this shouldn&apos;t change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855217</commentid>
    <comment_count>11</comment_count>
      <attachid>455796</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2022-03-25 13:10:28 -0700</bug_when>
    <thetext>Created attachment 455796
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855218</commentid>
    <comment_count>12</comment_count>
      <attachid>455796</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-03-25 13:13:15 -0700</bug_when>
    <thetext>Comment on attachment 455796
[fast-cq] Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855219</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-25 13:15:04 -0700</bug_when>
    <thetext>r=me too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855246</commentid>
    <comment_count>14</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-03-25 14:52:34 -0700</bug_when>
    <thetext>Patch landed in r291891: &lt;http://trac.webkit.org/r291891&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455689</attachid>
            <date>2022-03-24 14:53:50 -0700</date>
            <delta_ts>2022-03-25 11:49:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>AIPatch.patch</filename>
            <type>text/plain</type>
            <size>2640</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYyOGJlNDYwNWVmNC4uNTljNjY5YjBjMjlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMi0wMy0yNCAgSnVz
dGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CisKKyAgICAgICAgQUkgc2hv
dWxkIG5vdCBzZXQgdGhlIHN0cnVjdHVyZSBmb3IgT2JqZWN0Q3JlYXRlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgzNDkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgQWJzdHJhY3RJbnRlcnByZXRl
ciBzaG91bGQgbm90IHNldCB0aGUgc3RydWN0dXJlIGZvciBPYmplY3RDcmVhdGUgYmVjYXVzZSBp
dCBtaWdodCBjaGFuZ2UgYnkKKyAgICAgICAgdGhlIHRpbWUgdGhlIGNvbnN0YW50IGZvbGRpbmcg
cGhhc2UgcnVucyBpZiB0aGUgc3RydWN0dXJlIGNhY2hlIGlzIGNsZWFyZWQuCisKKyAgICAgICAg
KiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMp
OgorCiAyMDIyLTAzLTIxICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gQ2hhbmdlIERhdGUucGFyc2UgdG8gc3RvcCByZXR1cm5pbmcgbnVtYmVycyB3
aXRoIGZyYWN0aW9uYWwgcGFydApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDMyOTlmNWMzN2NjYy4u
NGVhMjAwYmI5MjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0zMTI4LDIzICszMTI4LDEzIEBA
IGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZl
Y3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBpZiAoYmFzZS5pc051bGwoKSkKICAgICAgICAgICAg
ICAgICBzdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPm51bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1
cmUoKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKGJhc2UuaXNPYmplY3QoKSkgewotICAgICAgICAg
ICAgICAgIC8vIEhhdmluZyBhIGJhZCB0aW1lIGNsZWFycyB0aGUgc3RydWN0dXJlQ2FjaGUsIGFu
ZCBzbyBpdCBzaG91bGQgaW52YWxpZGF0ZSB0aGlzIHN0cnVjdHVyZS4KLSAgICAgICAgICAgICAg
ICBib29sIGlzSGF2aW5nQUJhZFRpbWUgPSBnbG9iYWxPYmplY3QtPmlzSGF2aW5nQUJhZFRpbWUo
KTsKLSAgICAgICAgICAgICAgICAvLyBOb3JtYWxseSwgd2Ugd291bGQgYWx3YXlzIGluc3RhbGwg
YSB3YXRjaHBvaW50LiBJbiB0aGlzIGNhc2UsIGhvd2V2ZXIsIGlmIHdlIGhhdmVBQmFkVGltZSwg
d2UKLSAgICAgICAgICAgICAgICAvLyBzdGlsbCB3YW50IHRvIG9wdGltaXplLiBUaGVyZSBpcyBu
byB3YXRjaHBvaW50IGZvciB0aGF0IGNhc2UgdGhvdWdoLCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3Vy
ZSB0aGlzIGxvYWQKLSAgICAgICAgICAgICAgICAvLyBkb2VzIG5vdCBnZXQgaG9pc3RlZCBhYm92
ZSB0aGUgY2hlY2suCi0gICAgICAgICAgICAgICAgV1RGOjpsb2FkTG9hZEZlbmNlKCk7Ci0gICAg
ICAgICAgICAgICAgaWYgKCFpc0hhdmluZ0FCYWRUaW1lKQotICAgICAgICAgICAgICAgICAgICBt
X2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KGdsb2JhbE9iamVjdC0+aGF2aW5nQUJhZFRp
bWVXYXRjaHBvaW50KCkpOworICAgICAgICAgICAgZWxzZSBpZiAoYmFzZS5pc09iamVjdCgpKQog
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSA9IG1fdm0uc3RydWN0dXJlQ2FjaGUuZW1wdHlPYmpl
Y3RTdHJ1Y3R1cmVDb25jdXJyZW50bHkoZ2xvYmFsT2JqZWN0LCBiYXNlLmdldE9iamVjdCgpLCBK
U0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgICAgICB9CiAg
ICAgICAgICAgICAKICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUpIHsKICAgICAgICAgICAgICAg
ICBtX3N0YXRlLnNldFNob3VsZFRyeUNvbnN0YW50Rm9sZGluZyh0cnVlKTsKICAgICAgICAgICAg
ICAgICBpZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFVudHlwZWRVc2UpCiAgICAgICAg
ICAgICAgICAgICAgIGRpZEZvbGRDbG9iYmVyV29ybGQoKTsKLSAgICAgICAgICAgICAgICBzZXRG
b3JOb2RlKG5vZGUsIHN0cnVjdHVyZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="483741"
          type_id="1"
          status="-"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455790</attachid>
            <date>2022-03-25 11:49:56 -0700</date>
            <delta_ts>2022-03-25 13:09:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>ai.patch</filename>
            <type>text/plain</type>
            <size>3195</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYyOGJlNDYwNWVmNC4uNTljNjY5YjBjMjlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMi0wMy0yNCAgSnVz
dGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CisKKyAgICAgICAgQUkgc2hv
dWxkIG5vdCBzZXQgdGhlIHN0cnVjdHVyZSBmb3IgT2JqZWN0Q3JlYXRlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgzNDkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgQWJzdHJhY3RJbnRlcnByZXRl
ciBzaG91bGQgbm90IHNldCB0aGUgc3RydWN0dXJlIGZvciBPYmplY3RDcmVhdGUgYmVjYXVzZSBp
dCBtaWdodCBjaGFuZ2UgYnkKKyAgICAgICAgdGhlIHRpbWUgdGhlIGNvbnN0YW50IGZvbGRpbmcg
cGhhc2UgcnVucyBpZiB0aGUgc3RydWN0dXJlIGNhY2hlIGlzIGNsZWFyZWQuCisKKyAgICAgICAg
KiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMp
OgorCiAyMDIyLTAzLTIxICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gQ2hhbmdlIERhdGUucGFyc2UgdG8gc3RvcCByZXR1cm5pbmcgbnVtYmVycyB3
aXRoIGZyYWN0aW9uYWwgcGFydApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDMyOTlmNWMzN2NjYy4u
Y2MyMzk5MmE0ZGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0zMTIzLDI4ICszMTIzLDE2IEBA
IGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZl
Y3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgfQogCiAgICAgY2FzZSBPYmplY3RDcmVhdGU6
IHsKLSAgICAgICAgaWYgKEpTVmFsdWUgYmFzZSA9IGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1f
dmFsdWUpIHsKLSAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dy
YXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwotICAgICAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOwotICAgICAgICAgICAgaWYgKGJhc2UuaXNO
dWxsKCkpCi0gICAgICAgICAgICAgICAgc3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5udWxsUHJv
dG90eXBlT2JqZWN0U3RydWN0dXJlKCk7Ci0gICAgICAgICAgICBlbHNlIGlmIChiYXNlLmlzT2Jq
ZWN0KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBIYXZpbmcgYSBiYWQgdGltZSBjbGVhcnMgdGhl
IHN0cnVjdHVyZUNhY2hlLCBhbmQgc28gaXQgc2hvdWxkIGludmFsaWRhdGUgdGhpcyBzdHJ1Y3R1
cmUuCi0gICAgICAgICAgICAgICAgYm9vbCBpc0hhdmluZ0FCYWRUaW1lID0gZ2xvYmFsT2JqZWN0
LT5pc0hhdmluZ0FCYWRUaW1lKCk7Ci0gICAgICAgICAgICAgICAgLy8gTm9ybWFsbHksIHdlIHdv
dWxkIGFsd2F5cyBpbnN0YWxsIGEgd2F0Y2hwb2ludC4gSW4gdGhpcyBjYXNlLCBob3dldmVyLCBp
ZiB3ZSBoYXZlQUJhZFRpbWUsIHdlCi0gICAgICAgICAgICAgICAgLy8gc3RpbGwgd2FudCB0byBv
cHRpbWl6ZS4gVGhlcmUgaXMgbm8gd2F0Y2hwb2ludCBmb3IgdGhhdCBjYXNlIHRob3VnaCwgc28g
d2UgbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBsb2FkCi0gICAgICAgICAgICAgICAgLy8gZG9lcyBu
b3QgZ2V0IGhvaXN0ZWQgYWJvdmUgdGhlIGNoZWNrLgotICAgICAgICAgICAgICAgIFdURjo6bG9h
ZExvYWRGZW5jZSgpOwotICAgICAgICAgICAgICAgIGlmICghaXNIYXZpbmdBQmFkVGltZSkKLSAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShnbG9iYWxP
YmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpKTsKLSAgICAgICAgICAgICAgICBzdHJ1
Y3R1cmUgPSBtX3ZtLnN0cnVjdHVyZUNhY2hlLmVtcHR5T2JqZWN0U3RydWN0dXJlQ29uY3VycmVu
dGx5KGdsb2JhbE9iamVjdCwgYmFzZS5nZXRPYmplY3QoKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAg
ICAgICBpZiAoc3RydWN0dXJlKSB7CisgICAgICAgIGlmIChKU1ZhbHVlIGJhc2UgPSBmb3JOb2Rl
KG5vZGUtPmNoaWxkMSgpKS5tX3ZhbHVlKSB7ICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAo
YmFzZS5pc051bGwoKSB8fCBiYXNlLmlzT2JqZWN0KCkpIHsKICAgICAgICAgICAgICAgICBtX3N0
YXRlLnNldFNob3VsZFRyeUNvbnN0YW50Rm9sZGluZyh0cnVlKTsKICAgICAgICAgICAgICAgICBp
ZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFVudHlwZWRVc2UpCi0gICAgICAgICAgICAg
ICAgICAgIGRpZEZvbGRDbG9iYmVyV29ybGQoKTsKLSAgICAgICAgICAgICAgICBzZXRGb3JOb2Rl
KG5vZGUsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICAgICAgICAgIGNsb2JiZXJXb3JsZCgpOwor
CisgICAgICAgICAgICAgICAgaWYgKGJhc2UuaXNOdWxsKCkpCisgICAgICAgICAgICAgICAgICAg
IHNldEZvck5vZGUobm9kZSwgbV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNl
bWFudGljKS0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVyZSgpKTsKKyAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHNldFR5cGVGb3JOb2RlKG5vZGUsIFNwZWNGaW5h
bE9iamVjdCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0K
</data>
<flag name="review"
          id="483863"
          type_id="1"
          status="-"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455795</attachid>
            <date>2022-03-25 13:09:08 -0700</date>
            <delta_ts>2022-03-25 13:10:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>ai.patch</filename>
            <type>text/plain</type>
            <size>3100</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYyOGJlNDYwNWVmNC4uNTljNjY5YjBjMjlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMi0wMy0yNCAgSnVz
dGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CisKKyAgICAgICAgQUkgc2hv
dWxkIG5vdCBzZXQgdGhlIHN0cnVjdHVyZSBmb3IgT2JqZWN0Q3JlYXRlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgzNDkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgQWJzdHJhY3RJbnRlcnByZXRl
ciBzaG91bGQgbm90IHNldCB0aGUgc3RydWN0dXJlIGZvciBPYmplY3RDcmVhdGUgYmVjYXVzZSBp
dCBtaWdodCBjaGFuZ2UgYnkKKyAgICAgICAgdGhlIHRpbWUgdGhlIGNvbnN0YW50IGZvbGRpbmcg
cGhhc2UgcnVucyBpZiB0aGUgc3RydWN0dXJlIGNhY2hlIGlzIGNsZWFyZWQuCisKKyAgICAgICAg
KiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMp
OgorCiAyMDIyLTAzLTIxICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gQ2hhbmdlIERhdGUucGFyc2UgdG8gc3RvcCByZXR1cm5pbmcgbnVtYmVycyB3
aXRoIGZyYWN0aW9uYWwgcGFydApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDMyOTlmNWMzN2NjYy4u
ZTRmYTgzZDUwNzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0zMTIzLDI3ICszMTIzLDEyIEBA
IGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZl
Y3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgfQogCiAgICAgY2FzZSBPYmplY3RDcmVhdGU6
IHsKLSAgICAgICAgaWYgKEpTVmFsdWUgYmFzZSA9IGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1f
dmFsdWUpIHsKLSAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dy
YXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwotICAgICAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOwotICAgICAgICAgICAgaWYgKGJhc2UuaXNO
dWxsKCkpCi0gICAgICAgICAgICAgICAgc3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5udWxsUHJv
dG90eXBlT2JqZWN0U3RydWN0dXJlKCk7Ci0gICAgICAgICAgICBlbHNlIGlmIChiYXNlLmlzT2Jq
ZWN0KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBIYXZpbmcgYSBiYWQgdGltZSBjbGVhcnMgdGhl
IHN0cnVjdHVyZUNhY2hlLCBhbmQgc28gaXQgc2hvdWxkIGludmFsaWRhdGUgdGhpcyBzdHJ1Y3R1
cmUuCi0gICAgICAgICAgICAgICAgYm9vbCBpc0hhdmluZ0FCYWRUaW1lID0gZ2xvYmFsT2JqZWN0
LT5pc0hhdmluZ0FCYWRUaW1lKCk7Ci0gICAgICAgICAgICAgICAgLy8gTm9ybWFsbHksIHdlIHdv
dWxkIGFsd2F5cyBpbnN0YWxsIGEgd2F0Y2hwb2ludC4gSW4gdGhpcyBjYXNlLCBob3dldmVyLCBp
ZiB3ZSBoYXZlQUJhZFRpbWUsIHdlCi0gICAgICAgICAgICAgICAgLy8gc3RpbGwgd2FudCB0byBv
cHRpbWl6ZS4gVGhlcmUgaXMgbm8gd2F0Y2hwb2ludCBmb3IgdGhhdCBjYXNlIHRob3VnaCwgc28g
d2UgbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBsb2FkCi0gICAgICAgICAgICAgICAgLy8gZG9lcyBu
b3QgZ2V0IGhvaXN0ZWQgYWJvdmUgdGhlIGNoZWNrLgotICAgICAgICAgICAgICAgIFdURjo6bG9h
ZExvYWRGZW5jZSgpOwotICAgICAgICAgICAgICAgIGlmICghaXNIYXZpbmdBQmFkVGltZSkKLSAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShnbG9iYWxP
YmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpKTsKLSAgICAgICAgICAgICAgICBzdHJ1
Y3R1cmUgPSBtX3ZtLnN0cnVjdHVyZUNhY2hlLmVtcHR5T2JqZWN0U3RydWN0dXJlQ29uY3VycmVu
dGx5KGdsb2JhbE9iamVjdCwgYmFzZS5nZXRPYmplY3QoKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAg
ICAgICBpZiAoc3RydWN0dXJlKSB7Ci0gICAgICAgICAgICAgICAgbV9zdGF0ZS5zZXRTaG91bGRU
cnlDb25zdGFudEZvbGRpbmcodHJ1ZSk7CisgICAgICAgIGlmIChKU1ZhbHVlIHByb3RvdHlwZSA9
IGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdmFsdWUpIHsKKyAgICAgICAgICAgIG1fc3RhdGUu
c2V0U2hvdWxkVHJ5Q29uc3RhbnRGb2xkaW5nKHRydWUpOworICAgICAgICAgICAgaWYgKHByb3Rv
dHlwZS5pc051bGwoKSkgeworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
bV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+bnVsbFByb3Rv
dHlwZU9iamVjdFN0cnVjdHVyZSgpOwogICAgICAgICAgICAgICAgIGlmIChub2RlLT5jaGlsZDEo
KS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKLSAgICAgICAgICAgICAgICAgICAgZGlkRm9sZENs
b2JiZXJXb3JsZCgpOworICAgICAgICAgICAgICAgICAgICBjbG9iYmVyV29ybGQoKTsKICAgICAg
ICAgICAgICAgICBzZXRGb3JOb2RlKG5vZGUsIHN0cnVjdHVyZSk7CiAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455796</attachid>
            <date>2022-03-25 13:10:28 -0700</date>
            <delta_ts>2022-03-25 14:15:24 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>ai.patch</filename>
            <type>text/plain</type>
            <size>3024</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYyOGJlNDYwNWVmNC4uNTljNjY5YjBjMjlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMi0wMy0yNCAgSnVz
dGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CisKKyAgICAgICAgQUkgc2hv
dWxkIG5vdCBzZXQgdGhlIHN0cnVjdHVyZSBmb3IgT2JqZWN0Q3JlYXRlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgzNDkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgQWJzdHJhY3RJbnRlcnByZXRl
ciBzaG91bGQgbm90IHNldCB0aGUgc3RydWN0dXJlIGZvciBPYmplY3RDcmVhdGUgYmVjYXVzZSBp
dCBtaWdodCBjaGFuZ2UgYnkKKyAgICAgICAgdGhlIHRpbWUgdGhlIGNvbnN0YW50IGZvbGRpbmcg
cGhhc2UgcnVucyBpZiB0aGUgc3RydWN0dXJlIGNhY2hlIGlzIGNsZWFyZWQuCisKKyAgICAgICAg
KiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMp
OgorCiAyMDIyLTAzLTIxICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gQ2hhbmdlIERhdGUucGFyc2UgdG8gc3RvcCByZXR1cm5pbmcgbnVtYmVycyB3
aXRoIGZyYWN0aW9uYWwgcGFydApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDMyOTlmNWMzN2NjYy4u
NTgwZjllNmIxNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0zMTIzLDI1ICszMTIzLDEwIEBA
IGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZl
Y3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgfQogCiAgICAgY2FzZSBPYmplY3RDcmVhdGU6
IHsKLSAgICAgICAgaWYgKEpTVmFsdWUgYmFzZSA9IGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1f
dmFsdWUpIHsKLSAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dy
YXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwotICAgICAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOwotICAgICAgICAgICAgaWYgKGJhc2UuaXNO
dWxsKCkpCi0gICAgICAgICAgICAgICAgc3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5udWxsUHJv
dG90eXBlT2JqZWN0U3RydWN0dXJlKCk7Ci0gICAgICAgICAgICBlbHNlIGlmIChiYXNlLmlzT2Jq
ZWN0KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBIYXZpbmcgYSBiYWQgdGltZSBjbGVhcnMgdGhl
IHN0cnVjdHVyZUNhY2hlLCBhbmQgc28gaXQgc2hvdWxkIGludmFsaWRhdGUgdGhpcyBzdHJ1Y3R1
cmUuCi0gICAgICAgICAgICAgICAgYm9vbCBpc0hhdmluZ0FCYWRUaW1lID0gZ2xvYmFsT2JqZWN0
LT5pc0hhdmluZ0FCYWRUaW1lKCk7Ci0gICAgICAgICAgICAgICAgLy8gTm9ybWFsbHksIHdlIHdv
dWxkIGFsd2F5cyBpbnN0YWxsIGEgd2F0Y2hwb2ludC4gSW4gdGhpcyBjYXNlLCBob3dldmVyLCBp
ZiB3ZSBoYXZlQUJhZFRpbWUsIHdlCi0gICAgICAgICAgICAgICAgLy8gc3RpbGwgd2FudCB0byBv
cHRpbWl6ZS4gVGhlcmUgaXMgbm8gd2F0Y2hwb2ludCBmb3IgdGhhdCBjYXNlIHRob3VnaCwgc28g
d2UgbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBsb2FkCi0gICAgICAgICAgICAgICAgLy8gZG9lcyBu
b3QgZ2V0IGhvaXN0ZWQgYWJvdmUgdGhlIGNoZWNrLgotICAgICAgICAgICAgICAgIFdURjo6bG9h
ZExvYWRGZW5jZSgpOwotICAgICAgICAgICAgICAgIGlmICghaXNIYXZpbmdBQmFkVGltZSkKLSAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShnbG9iYWxP
YmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpKTsKLSAgICAgICAgICAgICAgICBzdHJ1
Y3R1cmUgPSBtX3ZtLnN0cnVjdHVyZUNhY2hlLmVtcHR5T2JqZWN0U3RydWN0dXJlQ29uY3VycmVu
dGx5KGdsb2JhbE9iamVjdCwgYmFzZS5nZXRPYmplY3QoKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAg
ICAgICBpZiAoc3RydWN0dXJlKSB7Ci0gICAgICAgICAgICAgICAgbV9zdGF0ZS5zZXRTaG91bGRU
cnlDb25zdGFudEZvbGRpbmcodHJ1ZSk7CisgICAgICAgIGlmIChKU1ZhbHVlIHByb3RvdHlwZSA9
IGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdmFsdWUpIHsKKyAgICAgICAgICAgIG1fc3RhdGUu
c2V0U2hvdWxkVHJ5Q29uc3RhbnRGb2xkaW5nKHRydWUpOworICAgICAgICAgICAgaWYgKHByb3Rv
dHlwZS5pc051bGwoKSkgeworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
bV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+bnVsbFByb3Rv
dHlwZU9iamVjdFN0cnVjdHVyZSgpOwogICAgICAgICAgICAgICAgIGlmIChub2RlLT5jaGlsZDEo
KS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKICAgICAgICAgICAgICAgICAgICAgZGlkRm9sZENs
b2JiZXJXb3JsZCgpOwogICAgICAgICAgICAgICAgIHNldEZvck5vZGUobm9kZSwgc3RydWN0dXJl
KTsK
</data>
<flag name="review"
          id="483876"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>