<?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>202324</bug_id>
          
          <creation_ts>2019-09-27 11:10:32 -0700</creation_ts>
          <short_desc>OSR exit shouldn&apos;t bother updating get_by_id array profiles that have changed modes</short_desc>
          <delta_ts>2019-10-02 14:10:23 -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>New Bugs</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="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</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>1574892</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-09-27 11:10:32 -0700</bug_when>
    <thetext>OSR exit shouldn&apos;t bother updating get_by_id array profiles that have changed modes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574893</commentid>
    <comment_count>1</comment_count>
      <attachid>379744</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-09-27 11:11:50 -0700</bug_when>
    <thetext>Created attachment 379744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574894</commentid>
    <comment_count>2</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-09-27 11:11:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/52669110&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574903</commentid>
    <comment_count>3</comment_count>
      <attachid>379744</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-27 11:33:29 -0700</bug_when>
    <thetext>Comment on attachment 379744
Patch

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGOSRExit.cpp:523
&gt; +            bool doProfile = instruction-&gt;opcodeID() != op_get_by_id || instruction-&gt;as&lt;OpGetById&gt;().metadata(profiledCodeBlock).m_modeMetadata.mode == GetByIdMode::ArrayLength;

You can use `!instruction-&gt;is&lt;OpGetById&gt;()`.

&gt; Source/JavaScriptCore/dfg/DFGOSRExit.cpp:1176
&gt; +                if (instruction-&gt;opcodeID() == op_get_by_id) {

Ditto. You can use `instruction-&gt;is&lt;OpGetById&gt;()`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574904</commentid>
    <comment_count>4</comment_count>
      <attachid>379744</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-09-27 11:34:16 -0700</bug_when>
    <thetext>Comment on attachment 379744
Patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGOSRExit.cpp:523
&gt;&gt; +            bool doProfile = instruction-&gt;opcodeID() != op_get_by_id || instruction-&gt;as&lt;OpGetById&gt;().metadata(profiledCodeBlock).m_modeMetadata.mode == GetByIdMode::ArrayLength;
&gt; 
&gt; You can use `!instruction-&gt;is&lt;OpGetById&gt;()`.

Nice! Fixed, thanks!

&gt;&gt; Source/JavaScriptCore/dfg/DFGOSRExit.cpp:1176
&gt;&gt; +                if (instruction-&gt;opcodeID() == op_get_by_id) {
&gt; 
&gt; Ditto. You can use `instruction-&gt;is&lt;OpGetById&gt;()`.

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574906</commentid>
    <comment_count>5</comment_count>
      <attachid>379744</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-09-27 11:34:48 -0700</bug_when>
    <thetext>Comment on attachment 379744
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGOSRExit.cpp:1174
&gt;              if (ArrayProfile* arrayProfile = jit.baselineCodeBlockFor(codeOrigin)-&gt;getArrayProfile(codeOrigin.bytecodeIndex())) {
&gt; +                const Instruction* instruction = jit.baselineCodeBlockFor(codeOrigin)-&gt;instructions().at(codeOrigin.bytecodeIndex()).ptr();

Can you just compute jit.baselineCodeBlockFor(codeOrigin) once and pre-cache it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574909</commentid>
    <comment_count>6</comment_count>
      <attachid>379744</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-09-27 11:42:09 -0700</bug_when>
    <thetext>Comment on attachment 379744
Patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGOSRExit.cpp:1174
&gt;&gt; +                const Instruction* instruction = jit.baselineCodeBlockFor(codeOrigin)-&gt;instructions().at(codeOrigin.bytecodeIndex()).ptr();
&gt; 
&gt; Can you just compute jit.baselineCodeBlockFor(codeOrigin) once and pre-cache it?

Sure, done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574912</commentid>
    <comment_count>7</comment_count>
      <attachid>379749</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-09-27 11:44:43 -0700</bug_when>
    <thetext>Created attachment 379749
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574926</commentid>
    <comment_count>8</comment_count>
      <attachid>379749</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-27 12:30:14 -0700</bug_when>
    <thetext>Comment on attachment 379749
Patch for landing

Clearing flags on attachment: 379749

Committed r250440: &lt;https://trac.webkit.org/changeset/250440&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574927</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-27 12:30:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575822</commentid>
    <comment_count>10</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-01 17:33:30 -0700</bug_when>
    <thetext>You missed the FTL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576171</commentid>
    <comment_count>11</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-10-02 14:02:35 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #10)
&gt; You missed the FTL

Whoops, will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576178</commentid>
    <comment_count>12</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-10-02 14:10:23 -0700</bug_when>
    <thetext>See: https://bugs.webkit.org/show_bug.cgi?id=202493 for FTL version.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379744</attachid>
            <date>2019-09-27 11:11:50 -0700</date>
            <delta_ts>2019-09-27 11:44:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202324-20190927111144.patch</filename>
            <type>text/plain</type>
            <size>4034</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
OWViN2QwNDA4NWU3ZmU1YTYyZjYzZjVhYzYyZTQ5NTgxYTY4ZjYwLi5hNmU2ZjEyMjQ4MjE5NDE0
YmIxNzUzNTFhMzljMWRiOGJiM2U4ZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wOS0yNyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBPU1IgZXhpdCBzaG91bGRuJ3QgYm90aGVyIHVwZGF0aW5nIGdldF9i
eV9pZCBhcnJheSBwcm9maWxlcyB0aGF0IGhhdmUgY2hhbmdlZCBtb2RlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMzI0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81MjY2OTExMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIGlzIGFuIG9wdGltaXphdGlvbiB0aGF0IGF2b2lkcyBwb2xsdXRp
bmcgdGhlIGFycmF5IHByb2ZpbGUuCisKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdDo6ZXhlY3V0ZU9TUkV4aXQpOgorICAgICAgICAoSlND
OjpERkc6Ok9TUkV4aXQ6OmNvbXBpbGVFeGl0KToKKwogMjAxOS0wOS0yNiAgQWxleGV5IFNodmF5
a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAgdG9FeHBvbmVudGlhbCwgdG9G
aXhlZCwgYW5kIHRvUHJlY2lzaW9uIHNob3VsZCBhbGxvdyBhcmd1bWVudHMgdXAgdG8gMTAwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcAppbmRleCAwNDY5MmVjNmI1MDQ2
YWIyYzM4N2FkYTQzNTAyNzI2MGM3ZDJjYThlLi5iZTA1MTVlMjAzOTkyNzQyNTg4YzFiNTJjODVh
N2NmMzdkMWQ0YTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAK
QEAgLTUxNSwxMyArNTE1LDE3IEBAIHZvaWQgT1NSRXhpdDo6ZXhlY3V0ZU9TUkV4aXQoQ29udGV4
dCYgY29udGV4dCkKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIC8vIEJlZ2luIGV4dHJh
IGluaXRpbGl6YXRpb24gbGV2ZWw6IEFycmF5UHJvZmlsZVVwZGF0ZQotICAgICAgICBBcnJheVBy
b2ZpbGUqIGFycmF5UHJvZmlsZSA9IGV4aXRTdGF0ZS5hcnJheVByb2ZpbGU7Ci0gICAgICAgIGlm
IChhcnJheVByb2ZpbGUpIHsKKyAgICAgICAgaWYgKEFycmF5UHJvZmlsZSogYXJyYXlQcm9maWxl
ID0gZXhpdFN0YXRlLmFycmF5UHJvZmlsZSkgewogICAgICAgICAgICAgQVNTRVJUKCEhZXhpdC5t
X2pzVmFsdWVTb3VyY2UpOwogICAgICAgICAgICAgQVNTRVJUKGV4aXQubV9raW5kID09IEJhZENh
Y2hlIHx8IGV4aXQubV9raW5kID09IEJhZEluZGV4aW5nVHlwZSk7Ci0gICAgICAgICAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IHByb2ZpbGVkVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7
Ci0gICAgICAgICAgICBhcnJheVByb2ZpbGUtPm9ic2VydmVTdHJ1Y3R1cmUoc3RydWN0dXJlKTsK
LSAgICAgICAgICAgIGFycmF5UHJvZmlsZS0+b2JzZXJ2ZUFycmF5TW9kZShhcnJheU1vZGVzRnJv
bVN0cnVjdHVyZShzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgIENvZGVCbG9jayogcHJvZmlsZWRD
b2RlQmxvY2sgPSBiYXNlbGluZUNvZGVCbG9ja0Zvck9yaWdpbkFuZEJhc2VsaW5lQ29kZUJsb2Nr
KGV4aXQubV9jb2RlT3JpZ2luRm9yRXhpdFByb2ZpbGUsIGJhc2VsaW5lQ29kZUJsb2NrKTsKKyAg
ICAgICAgICAgIGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbiA9IHByb2ZpbGVkQ29kZUJs
b2NrLT5pbnN0cnVjdGlvbnMoKS5hdChleGl0Lm1fY29kZU9yaWdpbkZvckV4aXRQcm9maWxlLmJ5
dGVjb2RlSW5kZXgoKSkucHRyKCk7CisgICAgICAgICAgICBib29sIGRvUHJvZmlsZSA9IGluc3Ry
dWN0aW9uLT5vcGNvZGVJRCgpICE9IG9wX2dldF9ieV9pZCB8fCBpbnN0cnVjdGlvbi0+YXM8T3BH
ZXRCeUlkPigpLm1ldGFkYXRhKHByb2ZpbGVkQ29kZUJsb2NrKS5tX21vZGVNZXRhZGF0YS5tb2Rl
ID09IEdldEJ5SWRNb2RlOjpBcnJheUxlbmd0aDsKKyAgICAgICAgICAgIGlmIChkb1Byb2ZpbGUp
IHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHByb2ZpbGVkVmFsdWUu
YXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisgICAgICAgICAgICAgICAgYXJyYXlQcm9maWxlLT5v
YnNlcnZlU3RydWN0dXJlKHN0cnVjdHVyZSk7CisgICAgICAgICAgICAgICAgYXJyYXlQcm9maWxl
LT5vYnNlcnZlQXJyYXlNb2RlKGFycmF5TW9kZXNGcm9tU3RydWN0dXJlKHN0cnVjdHVyZSkpOwor
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmIChleHRyYUluaXRpYWxpemF0aW9u
TGV2ZWwgPD0gRXh0cmFJbml0aWFsaXphdGlvbkxldmVsOjpBcnJheVByb2ZpbGVVcGRhdGUpCiAg
ICAgICAgICAgICBicmVhazsKQEAgLTExNjcsNiArMTE3MSwxMyBAQCB2b2lkIE9TUkV4aXQ6OmNv
bXBpbGVFeGl0KENDYWxsSGVscGVycyYgaml0LCBWTSYgdm0sIGNvbnN0IE9TUkV4aXQmIGV4aXQs
IGNvbnN0CiAKICAgICAgICAgICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbiA9IGV4aXQubV9jb2Rl
T3JpZ2luRm9yRXhpdFByb2ZpbGU7CiAgICAgICAgICAgICBpZiAoQXJyYXlQcm9maWxlKiBhcnJh
eVByb2ZpbGUgPSBqaXQuYmFzZWxpbmVDb2RlQmxvY2tGb3IoY29kZU9yaWdpbiktPmdldEFycmF5
UHJvZmlsZShjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgoKSkpIHsKKyAgICAgICAgICAgICAgICBj
b25zdCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24gPSBqaXQuYmFzZWxpbmVDb2RlQmxvY2tGb3Io
Y29kZU9yaWdpbiktPmluc3RydWN0aW9ucygpLmF0KGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCgp
KS5wdHIoKTsKKyAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Okp1bXAgc2tpcFByb2ZpbGU7
CisgICAgICAgICAgICAgICAgaWYgKGluc3RydWN0aW9uLT5vcGNvZGVJRCgpID09IG9wX2dldF9i
eV9pZCkgeworICAgICAgICAgICAgICAgICAgICBhdXRvJiBtZXRhZGF0YSA9IGluc3RydWN0aW9u
LT5hczxPcEdldEJ5SWQ+KCkubWV0YWRhdGEoaml0LmJhc2VsaW5lQ29kZUJsb2NrRm9yKGNvZGVP
cmlnaW4pKTsKKyAgICAgICAgICAgICAgICAgICAgc2tpcFByb2ZpbGUgPSBqaXQuYnJhbmNoOChD
Q2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBDQ2FsbEhlbHBlcnM6OkFic29sdXRlQWRkcmVzcygmbWV0
YWRhdGEubV9tb2RlTWV0YWRhdGEubW9kZSksIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKHN0
YXRpY19jYXN0PHVpbnQ4X3Q+KEdldEJ5SWRNb2RlOjpBcnJheUxlbmd0aCkpKTsKKyAgICAgICAg
ICAgICAgICB9CisKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAgICAgICAgIEdQUlJlZyB1
c2VkUmVnaXN0ZXI7CiAgICAgICAgICAgICAgICAgaWYgKGV4aXQubV9qc1ZhbHVlU291cmNlLmlz
QWRkcmVzcygpKQpAQCAtMTI0Miw2ICsxMjUzLDkgQEAgdm9pZCBPU1JFeGl0Ojpjb21waWxlRXhp
dChDQ2FsbEhlbHBlcnMmIGppdCwgVk0mIHZtLCBjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdAog
ICAgICAgICAgICAgICAgICAgICBqaXQucG9wKHNjcmF0Y2gyKTsKICAgICAgICAgICAgICAgICAg
ICAgaml0LnBvcChzY3JhdGNoMSk7CiAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgaWYgKHNraXBQcm9maWxlLmlzU2V0KCkpCisgICAgICAgICAgICAgICAgICAgIHNraXBQcm9m
aWxlLmxpbmsoJmppdCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379749</attachid>
            <date>2019-09-27 11:44:43 -0700</date>
            <delta_ts>2019-09-27 12:30:14 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-202324-20190927114437.patch</filename>
            <type>text/plain</type>
            <size>4180</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZWYzNDg0NzE2Yjg4OGUxMGUwODBjMzE2MjJkN2FhMWYzMDgxMDA1Li5iNTg2MGEwMzU1OGRkNDcy
ZGI2ZWZhY2U0NDhkNzc1N2I1YjkwMmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wOS0yNyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBPU1IgZXhpdCBzaG91bGRuJ3QgYm90aGVyIHVwZGF0aW5nIGdldF9i
eV9pZCBhcnJheSBwcm9maWxlcyB0aGF0IGhhdmUgY2hhbmdlZCBtb2RlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMzI0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81MjY2OTExMD4KKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtp
LgorCisgICAgICAgIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIHRoYXQgYXZvaWRzIHBvbGx1dGlu
ZyB0aGUgYXJyYXkgcHJvZmlsZS4KKworICAgICAgICAqIGRmZy9ERkdPU1JFeGl0LmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpPU1JFeGl0OjpleGVjdXRlT1NSRXhpdCk6CisgICAgICAgIChKU0M6
OkRGRzo6T1NSRXhpdDo6Y29tcGlsZUV4aXQpOgorCiAyMDE5LTA5LTI3ICBBbGV4ZXkgU2h2YXlr
YSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBOb24tc3RhbmRhcmQgRXJyb3Ig
cHJvcGVydGllcyBzaG91bGQgbm90IGJlIGVudW1lcmFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09TUkV4aXQuY3BwCmluZGV4IDA0NjkyZWM2YjUwNDZhYjJjMzg3YWRhNDM1MDI3MjYw
YzdkMmNhOGUuLmFlYTllOGZhNTcyYTYyNmJhMWM5MTY4OTM2NmNkODk2OTA0NTZiYWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcApAQCAtNTE1LDEzICs1MTUsMTcg
QEAgdm9pZCBPU1JFeGl0OjpleGVjdXRlT1NSRXhpdChDb250ZXh0JiBjb250ZXh0KQogICAgICAg
ICAgICAgYnJlYWs7CiAKICAgICAgICAgLy8gQmVnaW4gZXh0cmEgaW5pdGlsaXphdGlvbiBsZXZl
bDogQXJyYXlQcm9maWxlVXBkYXRlCi0gICAgICAgIEFycmF5UHJvZmlsZSogYXJyYXlQcm9maWxl
ID0gZXhpdFN0YXRlLmFycmF5UHJvZmlsZTsKLSAgICAgICAgaWYgKGFycmF5UHJvZmlsZSkgewor
ICAgICAgICBpZiAoQXJyYXlQcm9maWxlKiBhcnJheVByb2ZpbGUgPSBleGl0U3RhdGUuYXJyYXlQ
cm9maWxlKSB7CiAgICAgICAgICAgICBBU1NFUlQoISFleGl0Lm1fanNWYWx1ZVNvdXJjZSk7CiAg
ICAgICAgICAgICBBU1NFUlQoZXhpdC5tX2tpbmQgPT0gQmFkQ2FjaGUgfHwgZXhpdC5tX2tpbmQg
PT0gQmFkSW5kZXhpbmdUeXBlKTsKLSAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
cHJvZmlsZWRWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsKLSAgICAgICAgICAgIGFycmF5
UHJvZmlsZS0+b2JzZXJ2ZVN0cnVjdHVyZShzdHJ1Y3R1cmUpOwotICAgICAgICAgICAgYXJyYXlQ
cm9maWxlLT5vYnNlcnZlQXJyYXlNb2RlKGFycmF5TW9kZXNGcm9tU3RydWN0dXJlKHN0cnVjdHVy
ZSkpOworICAgICAgICAgICAgQ29kZUJsb2NrKiBwcm9maWxlZENvZGVCbG9jayA9IGJhc2VsaW5l
Q29kZUJsb2NrRm9yT3JpZ2luQW5kQmFzZWxpbmVDb2RlQmxvY2soZXhpdC5tX2NvZGVPcmlnaW5G
b3JFeGl0UHJvZmlsZSwgYmFzZWxpbmVDb2RlQmxvY2spOworICAgICAgICAgICAgY29uc3QgSW5z
dHJ1Y3Rpb24qIGluc3RydWN0aW9uID0gcHJvZmlsZWRDb2RlQmxvY2stPmluc3RydWN0aW9ucygp
LmF0KGV4aXQubV9jb2RlT3JpZ2luRm9yRXhpdFByb2ZpbGUuYnl0ZWNvZGVJbmRleCgpKS5wdHIo
KTsKKyAgICAgICAgICAgIGJvb2wgZG9Qcm9maWxlID0gIWluc3RydWN0aW9uLT5pczxPcEdldEJ5
SWQ+KCkgfHwgaW5zdHJ1Y3Rpb24tPmFzPE9wR2V0QnlJZD4oKS5tZXRhZGF0YShwcm9maWxlZENv
ZGVCbG9jaykubV9tb2RlTWV0YWRhdGEubW9kZSA9PSBHZXRCeUlkTW9kZTo6QXJyYXlMZW5ndGg7
CisgICAgICAgICAgICBpZiAoZG9Qcm9maWxlKSB7CisgICAgICAgICAgICAgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBwcm9maWxlZFZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOworICAg
ICAgICAgICAgICAgIGFycmF5UHJvZmlsZS0+b2JzZXJ2ZVN0cnVjdHVyZShzdHJ1Y3R1cmUpOwor
ICAgICAgICAgICAgICAgIGFycmF5UHJvZmlsZS0+b2JzZXJ2ZUFycmF5TW9kZShhcnJheU1vZGVz
RnJvbVN0cnVjdHVyZShzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAg
ICAgICBpZiAoZXh0cmFJbml0aWFsaXphdGlvbkxldmVsIDw9IEV4dHJhSW5pdGlhbGl6YXRpb25M
ZXZlbDo6QXJyYXlQcm9maWxlVXBkYXRlKQogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMTY2LDcg
KzExNzAsMTUgQEAgdm9pZCBPU1JFeGl0Ojpjb21waWxlRXhpdChDQ2FsbEhlbHBlcnMmIGppdCwg
Vk0mIHZtLCBjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdAogICAgICAgICAgICAgLy8gcHJvcGVy
dHkgYWNjZXNzLCBvciBkdWUgdG8gYW4gYXJyYXkgcHJvZmlsZSkuCiAKICAgICAgICAgICAgIENv
ZGVPcmlnaW4gY29kZU9yaWdpbiA9IGV4aXQubV9jb2RlT3JpZ2luRm9yRXhpdFByb2ZpbGU7Ci0g
ICAgICAgICAgICBpZiAoQXJyYXlQcm9maWxlKiBhcnJheVByb2ZpbGUgPSBqaXQuYmFzZWxpbmVD
b2RlQmxvY2tGb3IoY29kZU9yaWdpbiktPmdldEFycmF5UHJvZmlsZShjb2RlT3JpZ2luLmJ5dGVj
b2RlSW5kZXgoKSkpIHsKKyAgICAgICAgICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gaml0LmJh
c2VsaW5lQ29kZUJsb2NrRm9yKGNvZGVPcmlnaW4pOworICAgICAgICAgICAgaWYgKEFycmF5UHJv
ZmlsZSogYXJyYXlQcm9maWxlID0gY29kZUJsb2NrLT5nZXRBcnJheVByb2ZpbGUoY29kZU9yaWdp
bi5ieXRlY29kZUluZGV4KCkpKSB7CisgICAgICAgICAgICAgICAgY29uc3QgSW5zdHJ1Y3Rpb24q
IGluc3RydWN0aW9uID0gY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5hdChjb2RlT3JpZ2luLmJ5
dGVjb2RlSW5kZXgoKSkucHRyKCk7CisgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpKdW1w
IHNraXBQcm9maWxlOworICAgICAgICAgICAgICAgIGlmIChpbnN0cnVjdGlvbi0+aXM8T3BHZXRC
eUlkPigpKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8mIG1ldGFkYXRhID0gaW5zdHJ1Y3Rp
b24tPmFzPE9wR2V0QnlJZD4oKS5tZXRhZGF0YShjb2RlQmxvY2spOworICAgICAgICAgICAgICAg
ICAgICBza2lwUHJvZmlsZSA9IGppdC5icmFuY2g4KENDYWxsSGVscGVyczo6Tm90RXF1YWwsIEND
YWxsSGVscGVyczo6QWJzb2x1dGVBZGRyZXNzKCZtZXRhZGF0YS5tX21vZGVNZXRhZGF0YS5tb2Rl
KSwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoc3RhdGljX2Nhc3Q8dWludDhfdD4oR2V0QnlJ
ZE1vZGU6OkFycmF5TGVuZ3RoKSkpOworICAgICAgICAgICAgICAgIH0KKwogI2lmIFVTRShKU1ZB
TFVFNjQpCiAgICAgICAgICAgICAgICAgR1BSUmVnIHVzZWRSZWdpc3RlcjsKICAgICAgICAgICAg
ICAgICBpZiAoZXhpdC5tX2pzVmFsdWVTb3VyY2UuaXNBZGRyZXNzKCkpCkBAIC0xMjQyLDYgKzEy
NTQsOSBAQCB2b2lkIE9TUkV4aXQ6OmNvbXBpbGVFeGl0KENDYWxsSGVscGVycyYgaml0LCBWTSYg
dm0sIGNvbnN0IE9TUkV4aXQmIGV4aXQsIGNvbnN0CiAgICAgICAgICAgICAgICAgICAgIGppdC5w
b3Aoc2NyYXRjaDIpOwogICAgICAgICAgICAgICAgICAgICBqaXQucG9wKHNjcmF0Y2gxKTsKICAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoc2tpcFByb2ZpbGUuaXNTZXQo
KSkKKyAgICAgICAgICAgICAgICAgICAgc2tpcFByb2ZpbGUubGluaygmaml0KTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>