<?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>194053</bug_id>
          
          <creation_ts>2019-01-30 14:54:13 -0800</creation_ts>
          <short_desc>BBQ-Air: Emit better code for switch</short_desc>
          <delta_ts>2019-02-10 19:27:28 -0800</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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</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>1500211</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-01-30 14:54:13 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504649</commentid>
    <comment_count>1</comment_count>
      <attachid>361615</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-09 16:55:14 -0800</bug_when>
    <thetext>Created attachment 361615
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504650</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-09 17:00:12 -0800</bug_when>
    <thetext>Attachment 361615 did not pass style-queue:


ERROR: Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:36:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504651</commentid>
    <comment_count>3</comment_count>
      <attachid>361616</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-09 17:03:24 -0800</bug_when>
    <thetext>Created attachment 361616
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504672</commentid>
    <comment_count>4</comment_count>
      <attachid>361616</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-09 23:18:03 -0800</bug_when>
    <thetext>Comment on attachment 361616
patch

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

r=me

&gt; Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:1528
&gt;          unifyValuesWithBlock(expressionStack, targets[i]-&gt;resultForBranch());

Use `for (const ControlData&amp; target : targets)` instead.

&gt; Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:1539
&gt; +    for (size_t i = 0; i &lt; targets.size(); ++i)

Ditto.

&gt; Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:1574
&gt; +        params.addLatePath([=] (CCallHelpers&amp; jit) {

Is WTFMove(caseJumps) &amp; WTFMove(successorLabels) better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504766</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-10 19:26:24 -0800</bug_when>
    <thetext>Thanks for the review. I addressed your comments.

landed in:
https://trac.webkit.org/changeset/241254/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504767</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-10 19:27:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/47953543&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361615</attachid>
            <date>2019-02-09 16:55:14 -0800</date>
            <delta_ts>2019-02-09 17:03:24 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>4214</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQxMjQ3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE5LTAyLTA5ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEJCUS1BaXI6IEVtaXQgYmV0dGVyIGNvZGUgZm9yIHN3aXRjaAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MDUzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBlbWl0dGluZyBhIGxpbmVh
ciBzZXQgb2YganVtcHMgZm9yIFN3aXRjaCwgdGhpcyBwYXRjaAorICAgICAgICBtYWtlcyB0aGUg
QkJRLUFpciBiYWNrZW5kIGVtaXQgYSBiaW5hcnkgc3dpdGNoLgorCisgICAgICAgICogd2FzbS9X
YXNtQWlySVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpBaXJJUkdlbmVyYXRv
cjo6YWRkU3dpdGNoKToKKwogMjAxOS0wMi0wOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBw
bGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIExleGVyIHNob3VsZCB1c2UgaXNMYXRpbjEg
aW1wbGVtZW50YXRpb24gaW4gV1RGCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtQWlySVJHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDI0MTI0NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJBaXJPcGNvZGVVdGlscy5oIgogI2luY2x1
ZGUgIkFpclZhbGlkYXRlLmgiCiAjaW5jbHVkZSAiQWxsb3dNYWNyb1NjcmF0Y2hSZWdpc3RlclVz
YWdlSWYuaCIKKyNpbmNsdWRlICJCaW5hcnlTd2l0Y2guaCIKICNpbmNsdWRlICJCM0NDYWxsVmFs
dWUuaCIKICNpbmNsdWRlICJCM0NoZWNrU3BlY2lhbC5oIgogI2luY2x1ZGUgIkIzQ2hlY2tWYWx1
ZS5oIgpAQCAtMTUyNywyMiArMTUyOCw1NyBAQCBhdXRvIEFpcklSR2VuZXJhdG9yOjphZGRTd2l0
Y2goRXhwcmVzc2lvCiAgICAgICAgIHVuaWZ5VmFsdWVzV2l0aEJsb2NrKGV4cHJlc3Npb25TdGFj
aywgdGFyZ2V0c1tpXS0+cmVzdWx0Rm9yQnJhbmNoKCkpOwogICAgIHVuaWZ5VmFsdWVzV2l0aEJs
b2NrKGV4cHJlc3Npb25TdGFjaywgZGVmYXVsdFRhcmdldC5yZXN1bHRGb3JCcmFuY2goKSk7CiAK
LSAgICAvLyBGSVhNRTogRW1pdCBlaXRoZXIgYSBqdW1wIHRhYmxlIG9yIGEgYmluYXJ5IHN3aXRj
aCBoZXJlLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTQwNTMKKyAgICBBU1NFUlQoY29uZGl0aW9uLnR5cGUoKSA9PSBUeXBlOjpJMzIpOwogCi0gICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCB0YXJnZXRzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIEJh
c2ljQmxvY2sqIHRhcmdldCA9IHRhcmdldHNbaV0tPnRhcmdldEJsb2NrRm9yQnJhbmNoKCk7Ci0g
ICAgICAgIEJhc2ljQmxvY2sqIGNvbnRpbnVhdGlvbiA9IG1fY29kZS5hZGRCbG9jaygpOwotICAg
ICAgICBhdXRvIGNvbnN0YW50ID0gZzY0KCk7Ci0gICAgICAgIGFwcGVuZChNb3ZlLCBBcmc6OmJp
Z0ltbShpKSwgY29uc3RhbnQpOwotICAgICAgICBhcHBlbmQoQnJhbmNoMzIsIEFyZzo6cmVsQ29u
ZChNYWNyb0Fzc2VtYmxlcjo6RXF1YWwpLCBjb25zdGFudCwgY29uZGl0aW9uKTsKLSAgICAgICAg
bV9jdXJyZW50QmxvY2stPnNldFN1Y2Nlc3NvcnModGFyZ2V0LCBjb250aW51YXRpb24pOworICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgY29uc2lkZXIgZHluYW1pY2FsbHkgc3dpdGNoaW5nIGJldHdl
ZW4gYSBqdW1wIHRhYmxlCisgICAgLy8gYW5kIGEgYmluYXJ5IHN3aXRjaCBkZXBlbmRpbmcgb24g
dGhlIG51bWJlciBvZiBzdWNjZXNzb3JzLgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTQ0NzcKIAotICAgICAgICBtX2N1cnJlbnRCbG9jayA9IGNvbnRp
bnVhdGlvbjsKLSAgICB9CisgICAgYXV0byYgc3VjY2Vzc29ycyA9IG1fY3VycmVudEJsb2NrLT5z
dWNjZXNzb3JzKCk7CisgICAgQVNTRVJUKHN1Y2Nlc3NvcnMuaXNFbXB0eSgpKTsKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHRhcmdldHMuc2l6ZSgpOyArK2kpCisgICAgICAgIHN1Y2Nlc3Nv
cnMuYXBwZW5kKHRhcmdldHNbaV0tPnRhcmdldEJsb2NrRm9yQnJhbmNoKCkpOworICAgIHN1Y2Nl
c3NvcnMuYXBwZW5kKGRlZmF1bHRUYXJnZXQudGFyZ2V0QmxvY2tGb3JCcmFuY2goKSk7CiAKLSAg
ICBhcHBlbmQoSnVtcCk7Ci0gICAgbV9jdXJyZW50QmxvY2stPnNldFN1Y2Nlc3NvcnMoZGVmYXVs
dFRhcmdldC50YXJnZXRCbG9ja0ZvckJyYW5jaCgpKTsKKyAgICBzaXplX3QgbnVtVGFyZ2V0cyA9
IHRhcmdldHMuc2l6ZSgpOworCisgICAgYXV0byogcGF0Y2hwb2ludCA9IGFkZFBhdGNocG9pbnQo
QjM6OlZvaWQpOworICAgIHBhdGNocG9pbnQtPmVmZmVjdHMgPSBCMzo6RWZmZWN0czo6bm9uZSgp
OworICAgIHBhdGNocG9pbnQtPmVmZmVjdHMudGVybWluYWwgPSB0cnVlOworCisgICAgcGF0Y2hw
b2ludC0+c2V0R2VuZXJhdG9yKFs9XSAoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IEIzOjpTdGFj
a21hcEdlbmVyYXRpb25QYXJhbXMmIHBhcmFtcykgeworICAgICAgICBWZWN0b3I8aW50NjRfdD4g
Y2FzZXM7CisgICAgICAgIGNhc2VzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobnVtVGFyZ2V0cyk7
CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtVGFyZ2V0czsgKytpKQorICAgICAg
ICAgICAgY2FzZXMudW5jaGVja2VkQXBwZW5kKGkpOworCisgICAgICAgIEdQUlJlZyB2YWx1ZVJl
ZyA9IHBhcmFtc1swXS5ncHIoKTsKKyAgICAgICAgQmluYXJ5U3dpdGNoIGJpbmFyeVN3aXRjaCh2
YWx1ZVJlZywgY2FzZXMsIEJpbmFyeVN3aXRjaDo6SW50MzIpOworCisgICAgICAgIFZlY3RvcjxD
Q2FsbEhlbHBlcnM6Okp1bXA+IGNhc2VKdW1wczsKKyAgICAgICAgY2FzZUp1bXBzLnJlc2l6ZShu
dW1UYXJnZXRzKTsKKworICAgICAgICB3aGlsZSAoYmluYXJ5U3dpdGNoLmFkdmFuY2Uoaml0KSkg
eworICAgICAgICAgICAgdW5zaWduZWQgdmFsdWUgPSBiaW5hcnlTd2l0Y2guY2FzZVZhbHVlKCk7
CisgICAgICAgICAgICB1bnNpZ25lZCBpbmRleCA9IGJpbmFyeVN3aXRjaC5jYXNlSW5kZXgoKTsK
KyAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQodmFsdWUsIHZhbHVlID09IGluZGV4KTsKKyAgICAg
ICAgICAgIEFTU0VSVChpbmRleCA8IG51bVRhcmdldHMpOworICAgICAgICAgICAgY2FzZUp1bXBz
W2luZGV4XSA9IGppdC5qdW1wKCk7CisgICAgICAgIH0KKworICAgICAgICBDQ2FsbEhlbHBlcnM6
Okp1bXBMaXN0IGZhbGxUaHJvdWdoID0gYmluYXJ5U3dpdGNoLmZhbGxUaHJvdWdoKCk7CisKKyAg
ICAgICAgVmVjdG9yPEJveDxDQ2FsbEhlbHBlcnM6OkxhYmVsPj4gc3VjY2Vzc29yTGFiZWxzID0g
cGFyYW1zLnN1Y2Nlc3NvckxhYmVscygpOworICAgICAgICBBU1NFUlQoc3VjY2Vzc29yTGFiZWxz
LnNpemUoKSA9PSBjYXNlSnVtcHMuc2l6ZSgpICsgMSk7CisKKyAgICAgICAgcGFyYW1zLmFkZExh
dGVQYXRoKFs9XSAoQ0NhbGxIZWxwZXJzJiBqaXQpIHsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbnVtVGFyZ2V0czsgKytpKQorICAgICAgICAgICAgICAgIGNhc2VKdW1wc1tp
XS5saW5rVG8oKnN1Y2Nlc3NvckxhYmVsc1tpXSwgJmppdCk7ICAgICAgICAgICAgICAgIAorICAg
ICAgICAgICAgZmFsbFRocm91Z2gubGlua1RvKCpzdWNjZXNzb3JMYWJlbHNbbnVtVGFyZ2V0c10s
ICZqaXQpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGVtaXRQYXRjaHBvaW50KHBhdGNo
cG9pbnQsIFR5cGVkVG1wKCksIGNvbmRpdGlvbik7CiAKICAgICByZXR1cm4geyB9OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361616</attachid>
            <date>2019-02-09 17:03:24 -0800</date>
            <delta_ts>2019-02-09 23:18:03 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>4227</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQxMjQ3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE5LTAyLTA5ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEJCUS1BaXI6IEVtaXQgYmV0dGVyIGNvZGUgZm9yIHN3aXRjaAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MDUzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiBlbWl0dGluZyBhIGxpbmVh
ciBzZXQgb2YganVtcHMgZm9yIFN3aXRjaCwgdGhpcyBwYXRjaAorICAgICAgICBtYWtlcyB0aGUg
QkJRLUFpciBiYWNrZW5kIGVtaXQgYSBiaW5hcnkgc3dpdGNoLgorCisgICAgICAgICogd2FzbS9X
YXNtQWlySVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpBaXJJUkdlbmVyYXRv
cjo6YWRkU3dpdGNoKToKKwogMjAxOS0wMi0wOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBw
bGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIExleGVyIHNob3VsZCB1c2UgaXNMYXRpbjEg
aW1wbGVtZW50YXRpb24gaW4gV1RGCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtQWlySVJHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDI0MTI0NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJCM1BhdGNocG9pbnRTcGVjaWFsLmgiCiAj
aW5jbHVkZSAiQjNQcm9jZWR1cmUuaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZUlubGluZXMuaCIK
KyNpbmNsdWRlICJCaW5hcnlTd2l0Y2guaCIKICNpbmNsdWRlICJTY3JhdGNoUmVnaXN0ZXJBbGxv
Y2F0b3IuaCIKICNpbmNsdWRlICJWaXJ0dWFsUmVnaXN0ZXIuaCIKICNpbmNsdWRlICJXYXNtQ2Fs
bGluZ0NvbnZlbnRpb24uaCIKQEAgLTE1MjcsMjIgKzE1MjgsNTcgQEAgYXV0byBBaXJJUkdlbmVy
YXRvcjo6YWRkU3dpdGNoKEV4cHJlc3NpbwogICAgICAgICB1bmlmeVZhbHVlc1dpdGhCbG9jayhl
eHByZXNzaW9uU3RhY2ssIHRhcmdldHNbaV0tPnJlc3VsdEZvckJyYW5jaCgpKTsKICAgICB1bmlm
eVZhbHVlc1dpdGhCbG9jayhleHByZXNzaW9uU3RhY2ssIGRlZmF1bHRUYXJnZXQucmVzdWx0Rm9y
QnJhbmNoKCkpOwogCi0gICAgLy8gRklYTUU6IEVtaXQgZWl0aGVyIGEganVtcCB0YWJsZSBvciBh
IGJpbmFyeSBzd2l0Y2ggaGVyZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk0MDUzCisgICAgQVNTRVJUKGNvbmRpdGlvbi50eXBlKCkgPT0gVHlwZTo6
STMyKTsKIAotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdGFyZ2V0cy5zaXplKCk7ICsraSkg
ewotICAgICAgICBCYXNpY0Jsb2NrKiB0YXJnZXQgPSB0YXJnZXRzW2ldLT50YXJnZXRCbG9ja0Zv
ckJyYW5jaCgpOwotICAgICAgICBCYXNpY0Jsb2NrKiBjb250aW51YXRpb24gPSBtX2NvZGUuYWRk
QmxvY2soKTsKLSAgICAgICAgYXV0byBjb25zdGFudCA9IGc2NCgpOwotICAgICAgICBhcHBlbmQo
TW92ZSwgQXJnOjpiaWdJbW0oaSksIGNvbnN0YW50KTsKLSAgICAgICAgYXBwZW5kKEJyYW5jaDMy
LCBBcmc6OnJlbENvbmQoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsKSwgY29uc3RhbnQsIGNvbmRpdGlv
bik7Ci0gICAgICAgIG1fY3VycmVudEJsb2NrLT5zZXRTdWNjZXNzb3JzKHRhcmdldCwgY29udGlu
dWF0aW9uKTsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNvbnNpZGVyIGR5bmFtaWNhbGx5IHN3
aXRjaGluZyBiZXR3ZWVuIGEganVtcCB0YWJsZQorICAgIC8vIGFuZCBhIGJpbmFyeSBzd2l0Y2gg
ZGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2Ygc3VjY2Vzc29ycy4KKyAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDc3CiAKLSAgICAgICAgbV9jdXJyZW50
QmxvY2sgPSBjb250aW51YXRpb247Ci0gICAgfQorICAgIGF1dG8mIHN1Y2Nlc3NvcnMgPSBtX2N1
cnJlbnRCbG9jay0+c3VjY2Vzc29ycygpOworICAgIEFTU0VSVChzdWNjZXNzb3JzLmlzRW1wdHko
KSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0YXJnZXRzLnNpemUoKTsgKytpKQorICAg
ICAgICBzdWNjZXNzb3JzLmFwcGVuZCh0YXJnZXRzW2ldLT50YXJnZXRCbG9ja0ZvckJyYW5jaCgp
KTsKKyAgICBzdWNjZXNzb3JzLmFwcGVuZChkZWZhdWx0VGFyZ2V0LnRhcmdldEJsb2NrRm9yQnJh
bmNoKCkpOwogCi0gICAgYXBwZW5kKEp1bXApOwotICAgIG1fY3VycmVudEJsb2NrLT5zZXRTdWNj
ZXNzb3JzKGRlZmF1bHRUYXJnZXQudGFyZ2V0QmxvY2tGb3JCcmFuY2goKSk7CisgICAgc2l6ZV90
IG51bVRhcmdldHMgPSB0YXJnZXRzLnNpemUoKTsKKworICAgIGF1dG8qIHBhdGNocG9pbnQgPSBh
ZGRQYXRjaHBvaW50KEIzOjpWb2lkKTsKKyAgICBwYXRjaHBvaW50LT5lZmZlY3RzID0gQjM6OkVm
ZmVjdHM6Om5vbmUoKTsKKyAgICBwYXRjaHBvaW50LT5lZmZlY3RzLnRlcm1pbmFsID0gdHJ1ZTsK
KworICAgIHBhdGNocG9pbnQtPnNldEdlbmVyYXRvcihbPV0gKENDYWxsSGVscGVycyYgaml0LCBj
b25zdCBCMzo6U3RhY2ttYXBHZW5lcmF0aW9uUGFyYW1zJiBwYXJhbXMpIHsKKyAgICAgICAgVmVj
dG9yPGludDY0X3Q+IGNhc2VzOworICAgICAgICBjYXNlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5
KG51bVRhcmdldHMpOworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bVRhcmdldHM7
ICsraSkKKyAgICAgICAgICAgIGNhc2VzLnVuY2hlY2tlZEFwcGVuZChpKTsKKworICAgICAgICBH
UFJSZWcgdmFsdWVSZWcgPSBwYXJhbXNbMF0uZ3ByKCk7CisgICAgICAgIEJpbmFyeVN3aXRjaCBi
aW5hcnlTd2l0Y2godmFsdWVSZWcsIGNhc2VzLCBCaW5hcnlTd2l0Y2g6OkludDMyKTsKKworICAg
ICAgICBWZWN0b3I8Q0NhbGxIZWxwZXJzOjpKdW1wPiBjYXNlSnVtcHM7CisgICAgICAgIGNhc2VK
dW1wcy5yZXNpemUobnVtVGFyZ2V0cyk7CisKKyAgICAgICAgd2hpbGUgKGJpbmFyeVN3aXRjaC5h
ZHZhbmNlKGppdCkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIHZhbHVlID0gYmluYXJ5U3dpdGNo
LmNhc2VWYWx1ZSgpOworICAgICAgICAgICAgdW5zaWduZWQgaW5kZXggPSBiaW5hcnlTd2l0Y2gu
Y2FzZUluZGV4KCk7CisgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKHZhbHVlLCB2YWx1ZSA9PSBp
bmRleCk7CisgICAgICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1UYXJnZXRzKTsKKyAgICAgICAg
ICAgIGNhc2VKdW1wc1tpbmRleF0gPSBqaXQuanVtcCgpOworICAgICAgICB9CisKKyAgICAgICAg
Q0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBmYWxsVGhyb3VnaCA9IGJpbmFyeVN3aXRjaC5mYWxsVGhy
b3VnaCgpOworCisgICAgICAgIFZlY3RvcjxCb3g8Q0NhbGxIZWxwZXJzOjpMYWJlbD4+IHN1Y2Nl
c3NvckxhYmVscyA9IHBhcmFtcy5zdWNjZXNzb3JMYWJlbHMoKTsKKyAgICAgICAgQVNTRVJUKHN1
Y2Nlc3NvckxhYmVscy5zaXplKCkgPT0gY2FzZUp1bXBzLnNpemUoKSArIDEpOworCisgICAgICAg
IHBhcmFtcy5hZGRMYXRlUGF0aChbPV0gKENDYWxsSGVscGVycyYgaml0KSB7CisgICAgICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bVRhcmdldHM7ICsraSkKKyAgICAgICAgICAgICAg
ICBjYXNlSnVtcHNbaV0ubGlua1RvKCpzdWNjZXNzb3JMYWJlbHNbaV0sICZqaXQpOyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgIGZhbGxUaHJvdWdoLmxpbmtUbygqc3VjY2Vzc29yTGFiZWxz
W251bVRhcmdldHNdLCAmaml0KTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBlbWl0UGF0
Y2hwb2ludChwYXRjaHBvaW50LCBUeXBlZFRtcCgpLCBjb25kaXRpb24pOwogCiAgICAgcmV0dXJu
IHsgfTsKIH0K
</data>
<flag name="review"
          id="378282"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>