<?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>158802</bug_id>
          
          <creation_ts>2016-06-15 11:48:17 -0700</creation_ts>
          <short_desc>DFGByteCodeParser should be able to infer the value of unset properties in MultiGetByOffset</short_desc>
          <delta_ts>2016-06-15 12:40:46 -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></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>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1202635</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-06-15 11:48:17 -0700</bug_when>
    <thetext>DFGByteCodeParser should be able to infer the value of unset properties in MultiGetByOffset</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202636</commentid>
    <comment_count>1</comment_count>
      <attachid>281376</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-06-15 11:51:57 -0700</bug_when>
    <thetext>Created attachment 281376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202637</commentid>
    <comment_count>2</comment_count>
      <attachid>281376</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-06-15 12:00:51 -0700</bug_when>
    <thetext>Comment on attachment 281376
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2949
&gt; +    if (!result) {
&gt; +        // We have a unset property.
&gt; +        ASSERT(!conditionSet.numberOfConditionsWithKind(PropertyCondition::Presence));
&gt; +        return GetByOffsetMethod::constant(m_constantUndefined);
&gt; +    }

Can this go inside the switch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202639</commentid>
    <comment_count>3</comment_count>
      <attachid>281376</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-06-15 12:02:05 -0700</bug_when>
    <thetext>Comment on attachment 281376
Patch

Can you add a comment in DFGMultiGetByoffsetData.h, at GetByOffsetMethod, that constant may be due to unset?  I don&apos;t think it&apos;s likely that phases will differentiate between unset and constant, but if they do, we want to remember this quirk.  r=me but cq- because I think you should make that change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202642</commentid>
    <comment_count>4</comment_count>
      <attachid>281376</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-06-15 12:05:16 -0700</bug_when>
    <thetext>Comment on attachment 281376
Patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2949
&gt;&gt; +    }
&gt; 
&gt; Can this go inside the switch?

I don&apos;t think so since we might have a prototype load which needs a absence in the middle. For example, we are loading foo from a, where a&apos;s prototype chain looks like a -&gt; b -&gt; c and c has the property foo. We would need to have an absence condition for foo on b in a set that contains a presence condition on c.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202648</commentid>
    <comment_count>5</comment_count>
      <attachid>281378</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-06-15 12:11:26 -0700</bug_when>
    <thetext>Created attachment 281378
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202658</commentid>
    <comment_count>6</comment_count>
      <attachid>281378</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-15 12:40:42 -0700</bug_when>
    <thetext>Comment on attachment 281378
Patch for landing

Clearing flags on attachment: 281378

Committed r202101: &lt;http://trac.webkit.org/changeset/202101&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202659</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-15 12:40:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281376</attachid>
            <date>2016-06-15 11:51:57 -0700</date>
            <delta_ts>2016-06-15 12:11:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158802-20160615115157.patch</filename>
            <type>text/plain</type>
            <size>6370</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZDBlNGJjZDExZWRiODk1ZjZiZmNmZTNhZWRmMDc3NDRjOTUzNmQyLi5hZDNkNTE1Mzc1N2QyNmRj
YTRjYjYzNzE1MWZmNTFlMjBkZWZiNjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyOCBAQAogMjAxNi0wNi0xNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBERkdCeXRlQ29kZVBhcnNlciBzaG91bGQgYmUgYWJsZSB0byBpbmZl
ciB0aGUgdmFsdWUgb2YgdW5zZXQgcHJvcGVydGllcyBpbiBNdWx0aUdldEJ5T2Zmc2V0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFk
ZHMgc3VwcG9ydCBmb3IgdW5zZXQgcHJvcGVydGllcyBpbiBNdWx0aUdldEJ5T2Zmc2V0LiBTaW5j
ZSBNdWx0aUdldEJ5T2Zmc2V0CisgICAgICAgIGFscmVhZHkgc3VwcG9ydHMgY29uc3RhbnQgdmFs
dWVzIHRoaXMgcGF0Y2gganVzdCBhZGRzIGEgY29uc3RhbnQgY2FzZSB3aGVyZSB0aGUgZmV0Y2hl
ZAorICAgICAgICB2YWx1ZSBpcyB1bmRlZmluZWQuIEZvcnR1bmF0ZWx5IChvciB1bmZvcnR1bmF0
ZWx5KSB3ZSBkb24ndCBzdXBwb3J0IG9iamVjdCBhbGxvY2F0aW9uCisgICAgICAgIHNpbmtpbmcg
Zm9yIGNvbnN0YW50IGNhc2VzIG9mIE11bHRpR2V0QnlPZmZzZXQsIHdoaWNoIG1lYW5zIHdlIGRv
bid0IG5lZWQgdG8gYWRqdXN0IGFueQorICAgICAgICBpbiB0aGF0IHBoYXNlLgorCisgICAgICAg
ICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29k
ZVBhcnNlcjo6cGxhbkxvYWQpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpo
YW5kbGVHZXRCeUlkKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvbXVsdGktZ2V0LWJ5LW9mZnNl
dC1wcm90by1vci11bnNldC5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAqIHRl
c3RzL3N0cmVzcy9tdWx0aS1nZXQtYnktb2Zmc2V0LXByb3RvLXNlbGYtb3ItdW5zZXQuanM6IEFk
ZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvbXVsdGktZ2V0LWJ5
LW9mZnNldC1zZWxmLW9yLXVuc2V0LmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisKKzIwMTYt
MDYtMTUgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CisKICAgICAgICAg
REZHQnl0ZUNvZGVQYXJzZXIgc2hvdWxkIGJlIGFibGUgdG8gaW5mZXIgYSBwcm9wZXJ0eSBpcyB1
bnNldCBmcm9tIHRoZSBCYXNlbGluZSBpbmxpbmUgY2FjaGUuCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3NzQKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCAwZDdlMTJlMDZlNGFmOWM1
MjBlMDdmYzk0YjFkMDdiNjZiN2FlMjFmLi45NTE3MzY5OTJlMjFkMmQzNjM5MDFlNzU4ODczNjVm
MDZlMjQ3YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcApAQCAtMjk0Miw3ICsyOTQyLDExIEBAIEdldEJ5T2Zmc2V0TWV0aG9kIEJ5dGVD
b2RlUGFyc2VyOjpwbGFuTG9hZChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KLSAgICBSRUxFQVNFX0FTU0VS
VCghIXJlc3VsdCk7CisgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAgLy8gV2UgaGF2ZSBhIHVu
c2V0IHByb3BlcnR5LgorICAgICAgICBBU1NFUlQoIWNvbmRpdGlvblNldC5udW1iZXJPZkNvbmRp
dGlvbnNXaXRoS2luZChQcm9wZXJ0eUNvbmRpdGlvbjo6UHJlc2VuY2UpKTsKKyAgICAgICAgcmV0
dXJuIEdldEJ5T2Zmc2V0TWV0aG9kOjpjb25zdGFudChtX2NvbnN0YW50VW5kZWZpbmVkKTsKKyAg
ICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMzE1MCw3ICszMTU0LDcgQEAgdm9pZCBC
eXRlQ29kZVBhcnNlcjo6aGFuZGxlR2V0QnlJZCgKICAgICAgICAgLy8gICAgb3B0aW1hbCwgaWYg
dGhlcmUgaXMgc29tZSByYXJlbHkgZXhlY3V0ZWQgY2FzZSBpbiB0aGUgY2hhaW4gdGhhdCByZXF1
aXJlcyBhIGxvdAogICAgICAgICAvLyAgICBvZiBjaGVja3MgYW5kIHRob3NlIGNoZWNrcyBhcmUg
bm90IHdhdGNocG9pbnRhYmxlLgogICAgICAgICBmb3IgKGNvbnN0IEdldEJ5SWRWYXJpYW50JiB2
YXJpYW50IDogZ2V0QnlJZFN0YXR1cy52YXJpYW50cygpKSB7Ci0gICAgICAgICAgICBpZiAodmFy
aWFudC5pbnRyaW5zaWMoKSAhPSBOb0ludHJpbnNpYyB8fCB2YXJpYW50LmlzUHJvcGVydHlVbnNl
dCgpKSB7CisgICAgICAgICAgICBpZiAodmFyaWFudC5pbnRyaW5zaWMoKSAhPSBOb0ludHJpbnNp
YykgewogICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoZGVzdGluYXRpb25PcGVy
YW5kKSwKICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChnZXRCeUlkLCBPcEluZm8oaWRl
bnRpZmllck51bWJlciksIE9wSW5mbyhwcmVkaWN0aW9uKSwgYmFzZSkpOwogICAgICAgICAgICAg
ICAgIHJldHVybjsKQEAgLTMxNjMsNyArMzE2Nyw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6Omhh
bmRsZUdldEJ5SWQoCiAgICAgICAgICAgICAgICAgICAgICAgICBHZXRCeU9mZnNldE1ldGhvZDo6
bG9hZCh2YXJpYW50Lm9mZnNldCgpKSkpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgfQotICAgICAgICAgICAgCisKICAgICAgICAgICAgIEdldEJ5T2Zmc2V0TWV0aG9k
IG1ldGhvZCA9IHBsYW5Mb2FkKHZhcmlhbnQuY29uZGl0aW9uU2V0KCkpOwogICAgICAgICAgICAg
aWYgKCFtZXRob2QpIHsKICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGRlc3Rp
bmF0aW9uT3BlcmFuZCksCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL211bHRpLWdldC1ieS1vZmZzZXQtcHJvdG8tb3ItdW5zZXQuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL211bHRpLWdldC1ieS1vZmZzZXQtcHJvdG8tb3ItdW5z
ZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTUxZjRiNmMxOGQ0Y2VlM2JjZjc1MDYxNWUxZjNmODc3NzUyNWM3
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
bXVsdGktZ2V0LWJ5LW9mZnNldC1wcm90by1vci11bnNldC5qcwpAQCAtMCwwICsxLDQxIEBACitm
dW5jdGlvbiBmb28obywgc3RhcnQpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDsgKytpKQorICAgICAgICByZXN1bHQgKz0gby5mOworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK25vSW5saW5lKGZvbyk7CisKKwordmFyIHAgPSB7fTsKK3AuZiA9IDQy
OwordmFyIG8gPSBPYmplY3QuY3JlYXRlKHApOworCit2YXIgcSA9IHt9CitxLmYgPSA0MjsKKwor
dmFyIGYgPSB7fTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKQorICAgIG8uZiA9
IGk7CitvLmYgPSA0MjsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAg
aWYgKGkgJSAxMDAgPT09IDApIHsKKyAgICAgICAgaWYgKGZvbyhxKSAhPT0gNDIwMDApCisgICAg
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJhZCByZXN1bHQ6ICIgKyByZXN1bHQpOworICAgIH0K
KworICAgIGlmIChmb28obykgIT09IDQyMDApCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiYmFk
IHJlc3VsdDogIiArIHJlc3VsdCk7CisgICAgdmFyIHJlc3VsdCA9IGZvbyhmKTsKKyAgICBpZiAo
IU51bWJlci5pc05hTihyZXN1bHQpKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6
ICIgKyByZXN1bHQ7Cit9CisKK3ZhciBxID0ge307CitxLmYgPSA0MzsKK3ZhciByZXN1bHQgPSBm
b28ocSk7CitpZiAocmVzdWx0ICE9IDEwMCAqIDQzKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJl
c3VsdCBhdCBlbmQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL211bHRpLWdldC1ieS1vZmZzZXQtcHJvdG8tc2VsZi1vci11bnNldC5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbXVsdGktZ2V0LWJ5LW9mZnNl
dC1wcm90by1zZWxmLW9yLXVuc2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyYmMyNWRjMGY5ZTY5ZjFmZDQw
YjQzNzY5NWEwYzUzY2UxZDA0MGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL211bHRpLWdldC1ieS1vZmZzZXQtcHJvdG8tc2VsZi1vci11bnNl
dC5qcwpAQCAtMCwwICsxLDMwIEBACitmdW5jdGlvbiBmb28obywgc3RhcnQpIHsKKyAgICB2YXIg
cmVzdWx0ID0gMDsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgKytpKQorICAgICAgICBy
ZXN1bHQgKz0gby5mOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK25vSW5saW5lKGZvbyk7CisK
K3ZhciBvID0ge307CitvLmYgPSA0MjsKK3ZhciBmID0ge307CisKK2ZvciAodmFyIGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkKKyAgICBvLmYgPSBpOworby5mID0gNDI7CisKK2ZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgIGlmIChmb28obykgIT09IDQyMDApCisgICAgICAgIHRo
cm93IG5ldyBFcnJvcigiYmFkIHJlc3VsdDogIiArIHJlc3VsdCk7CisgICAgdmFyIHJlc3VsdCA9
IGZvbyhmKTsKKyAgICBpZiAoIU51bWJlci5pc05hTihyZXN1bHQpKQorICAgICAgICB0aHJvdyAi
RXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciBxID0ge307CitxLmYgPSA0
MzsKK3ZhciByZXN1bHQgPSBmb28ocSk7CitpZiAocmVzdWx0ICE9IDEwMCAqIDQzKQorICAgIHRo
cm93ICJFcnJvcjogYmFkIHJlc3VsdCBhdCBlbmQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL211bHRpLWdldC1ieS1vZmZzZXQtc2Vs
Zi1vci11bnNldC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbXVsdGkt
Z2V0LWJ5LW9mZnNldC1zZWxmLW9yLXVuc2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyYmMyNWRjMGY5ZTY5
ZjFmZDQwYjQzNzY5NWEwYzUzY2UxZDA0MGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL211bHRpLWdldC1ieS1vZmZzZXQtc2VsZi1vci11bnNl
dC5qcwpAQCAtMCwwICsxLDMwIEBACitmdW5jdGlvbiBmb28obywgc3RhcnQpIHsKKyAgICB2YXIg
cmVzdWx0ID0gMDsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgKytpKQorICAgICAgICBy
ZXN1bHQgKz0gby5mOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK25vSW5saW5lKGZvbyk7CisK
K3ZhciBvID0ge307CitvLmYgPSA0MjsKK3ZhciBmID0ge307CisKK2ZvciAodmFyIGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkKKyAgICBvLmYgPSBpOworby5mID0gNDI7CisKK2ZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgIGlmIChmb28obykgIT09IDQyMDApCisgICAgICAgIHRo
cm93IG5ldyBFcnJvcigiYmFkIHJlc3VsdDogIiArIHJlc3VsdCk7CisgICAgdmFyIHJlc3VsdCA9
IGZvbyhmKTsKKyAgICBpZiAoIU51bWJlci5pc05hTihyZXN1bHQpKQorICAgICAgICB0aHJvdyAi
RXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciBxID0ge307CitxLmYgPSA0
MzsKK3ZhciByZXN1bHQgPSBmb28ocSk7CitpZiAocmVzdWx0ICE9IDEwMCAqIDQzKQorICAgIHRo
cm93ICJFcnJvcjogYmFkIHJlc3VsdCBhdCBlbmQ6ICIgKyByZXN1bHQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281378</attachid>
            <date>2016-06-15 12:11:26 -0700</date>
            <delta_ts>2016-06-15 12:40:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-158802-20160615121125.patch</filename>
            <type>text/plain</type>
            <size>7140</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZDBlNGJjZDExZWRiODk1ZjZiZmNmZTNhZWRmMDc3NDRjOTUzNmQyLi43YmZkMTFmZjg0ZGNiODc1
MzNhOWJiODliNGJjMzk5M2VhOTQ4NGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyOSBAQAogMjAxNi0wNi0xNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBERkdCeXRlQ29kZVBhcnNlciBzaG91bGQgYmUgYWJsZSB0byBpbmZl
ciB0aGUgdmFsdWUgb2YgdW5zZXQgcHJvcGVydGllcyBpbiBNdWx0aUdldEJ5T2Zmc2V0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMg
c3VwcG9ydCBmb3IgdW5zZXQgcHJvcGVydGllcyBpbiBNdWx0aUdldEJ5T2Zmc2V0LiBTaW5jZSBN
dWx0aUdldEJ5T2Zmc2V0CisgICAgICAgIGFscmVhZHkgc3VwcG9ydHMgY29uc3RhbnQgdmFsdWVz
IHRoaXMgcGF0Y2gganVzdCBhZGRzIGEgY29uc3RhbnQgY2FzZSB3aGVyZSB0aGUgZmV0Y2hlZAor
ICAgICAgICB2YWx1ZSBpcyB1bmRlZmluZWQuIEZvcnR1bmF0ZWx5IChvciB1bmZvcnR1bmF0ZWx5
KSB3ZSBkb24ndCBzdXBwb3J0IG9iamVjdCBhbGxvY2F0aW9uCisgICAgICAgIHNpbmtpbmcgZm9y
IGNvbnN0YW50IGNhc2VzIG9mIE11bHRpR2V0QnlPZmZzZXQsIHdoaWNoIG1lYW5zIHdlIGRvbid0
IG5lZWQgdG8gYWRqdXN0IGFueQorICAgICAgICBpbiB0aGF0IHBoYXNlLgorCisgICAgICAgICog
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBh
cnNlcjo6cGxhbkxvYWQpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVHZXRCeUlkKToKKyAgICAgICAgKiBkZmcvREZHTXVsdGlHZXRCeU9mZnNldERhdGEuaDoKKyAg
ICAgICAgKiB0ZXN0cy9zdHJlc3MvbXVsdGktZ2V0LWJ5LW9mZnNldC1wcm90by1vci11bnNldC5q
czogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9tdWx0aS1n
ZXQtYnktb2Zmc2V0LXByb3RvLXNlbGYtb3ItdW5zZXQuanM6IEFkZGVkLgorICAgICAgICAoZm9v
KToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvbXVsdGktZ2V0LWJ5LW9mZnNldC1zZWxmLW9yLXVu
c2V0LmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisKKzIwMTYtMDYtMTUgIEtlaXRoIE1pbGxl
ciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CisKICAgICAgICAgREZHQnl0ZUNvZGVQYXJzZXIg
c2hvdWxkIGJlIGFibGUgdG8gaW5mZXIgYSBwcm9wZXJ0eSBpcyB1bnNldCBmcm9tIHRoZSBCYXNl
bGluZSBpbmxpbmUgY2FjaGUuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTg3NzQKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5
dGVDb2RlUGFyc2VyLmNwcAppbmRleCAwZDdlMTJlMDZlNGFmOWM1MjBlMDdmYzk0YjFkMDdiNjZi
N2FlMjFmLi45NTE3MzY5OTJlMjFkMmQzNjM5MDFlNzU4ODczNjVmMDZlMjQ3YTU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMjk0
Miw3ICsyOTQyLDExIEBAIEdldEJ5T2Zmc2V0TWV0aG9kIEJ5dGVDb2RlUGFyc2VyOjpwbGFuTG9h
ZChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uCiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVCghIXJlc3VsdCk7CisgICAg
aWYgKCFyZXN1bHQpIHsKKyAgICAgICAgLy8gV2UgaGF2ZSBhIHVuc2V0IHByb3BlcnR5LgorICAg
ICAgICBBU1NFUlQoIWNvbmRpdGlvblNldC5udW1iZXJPZkNvbmRpdGlvbnNXaXRoS2luZChQcm9w
ZXJ0eUNvbmRpdGlvbjo6UHJlc2VuY2UpKTsKKyAgICAgICAgcmV0dXJuIEdldEJ5T2Zmc2V0TWV0
aG9kOjpjb25zdGFudChtX2NvbnN0YW50VW5kZWZpbmVkKTsKKyAgICB9CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIApAQCAtMzE1MCw3ICszMTU0LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6aGFu
ZGxlR2V0QnlJZCgKICAgICAgICAgLy8gICAgb3B0aW1hbCwgaWYgdGhlcmUgaXMgc29tZSByYXJl
bHkgZXhlY3V0ZWQgY2FzZSBpbiB0aGUgY2hhaW4gdGhhdCByZXF1aXJlcyBhIGxvdAogICAgICAg
ICAvLyAgICBvZiBjaGVja3MgYW5kIHRob3NlIGNoZWNrcyBhcmUgbm90IHdhdGNocG9pbnRhYmxl
LgogICAgICAgICBmb3IgKGNvbnN0IEdldEJ5SWRWYXJpYW50JiB2YXJpYW50IDogZ2V0QnlJZFN0
YXR1cy52YXJpYW50cygpKSB7Ci0gICAgICAgICAgICBpZiAodmFyaWFudC5pbnRyaW5zaWMoKSAh
PSBOb0ludHJpbnNpYyB8fCB2YXJpYW50LmlzUHJvcGVydHlVbnNldCgpKSB7CisgICAgICAgICAg
ICBpZiAodmFyaWFudC5pbnRyaW5zaWMoKSAhPSBOb0ludHJpbnNpYykgewogICAgICAgICAgICAg
ICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoZGVzdGluYXRpb25PcGVyYW5kKSwKICAgICAgICAgICAg
ICAgICAgICAgYWRkVG9HcmFwaChnZXRCeUlkLCBPcEluZm8oaWRlbnRpZmllck51bWJlciksIE9w
SW5mbyhwcmVkaWN0aW9uKSwgYmFzZSkpOwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTMx
NjMsNyArMzE2Nyw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUdldEJ5SWQoCiAgICAg
ICAgICAgICAgICAgICAgICAgICBHZXRCeU9mZnNldE1ldGhvZDo6bG9hZCh2YXJpYW50Lm9mZnNl
dCgpKSkpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgCisKICAgICAgICAgICAgIEdldEJ5T2Zmc2V0TWV0aG9kIG1ldGhvZCA9IHBsYW5Mb2Fk
KHZhcmlhbnQuY29uZGl0aW9uU2V0KCkpOwogICAgICAgICAgICAgaWYgKCFtZXRob2QpIHsKICAg
ICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGRlc3RpbmF0aW9uT3BlcmFuZCksCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR011bHRpR2V0QnlPZmZzZXRE
YXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR011bHRpR2V0QnlPZmZzZXREYXRh
LmgKaW5kZXggNzI2ODBiZjYxMzk0NGY3Nzg1NDA2NmM2OTA4Y2M0NzMxYWVmOWU1ZS4uZjEwOWQ4
YjNiMjk5N2YxNWU5MjU5MWM3ODg1ZmQzYTcyYTIyY2JmMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdNdWx0aUdldEJ5T2Zmc2V0RGF0YS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTXVsdGlHZXRCeU9mZnNldERhdGEuaApAQCAtNDAsNiArNDAs
OSBAQCBjbGFzcyBHZXRCeU9mZnNldE1ldGhvZCB7CiBwdWJsaWM6CiAgICAgZW51bSBLaW5kIHsK
ICAgICAgICAgSW52YWxpZCwKKyAgICAgICAgLy8gQ29uc3RhbnQgbWlnaHQgbWVhbiBlaXRoZXIg
dGhhdCB3ZSBoYXZlIHNvbWUgZml4ZWQgcHJvcGVydHkgb3IgdGhhdCB0aGUKKyAgICAgICAgLy8g
cHJvcGVydHkgaXMgdW5zZXQgYW5kIHdlIGtub3cgdGhlIHJlc3VsdCBpcyB1bmRlZmluZWQuIFdl
IGRvbid0IGRpc3Rpbmdpc2gKKyAgICAgICAgLy8gYmV0d2VlbiB0aGVzZSBjYXNlcyBiZWNhdXNl
IG5vIG9uZSBjYXJlcyBhYm91dCB0aGlzIGRpc3RpbnRpb24geWV0LgogICAgICAgICBDb25zdGFu
dCwKICAgICAgICAgTG9hZCwKICAgICAgICAgTG9hZEZyb21Qcm90b3R5cGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbXVsdGktZ2V0LWJ5LW9mZnNldC1w
cm90by1vci11bnNldC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbXVs
dGktZ2V0LWJ5LW9mZnNldC1wcm90by1vci11bnNldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTFmNGI2YzE4
ZDRjZWUzYmNmNzUwNjE1ZTFmM2Y4Nzc3NTI1YzcwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9tdWx0aS1nZXQtYnktb2Zmc2V0LXByb3RvLW9y
LXVuc2V0LmpzCkBAIC0wLDAgKzEsNDEgQEAKK2Z1bmN0aW9uIGZvbyhvLCBzdGFydCkgeworICAg
IHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpCisgICAg
ICAgIHJlc3VsdCArPSBvLmY7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworbm9JbmxpbmUoZm9v
KTsKKworCit2YXIgcCA9IHt9OworcC5mID0gNDI7Cit2YXIgbyA9IE9iamVjdC5jcmVhdGUocCk7
CisKK3ZhciBxID0ge30KK3EuZiA9IDQyOworCit2YXIgZiA9IHt9OworCitmb3IgKHZhciBpID0g
MDsgaSA8IDEwMDAwOyArK2kpCisgICAgby5mID0gaTsKK28uZiA9IDQyOworCitmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpZiAoaSAlIDEwMCA9PT0gMCkgeworICAgICAg
ICBpZiAoZm9vKHEpICE9PSA0MjAwMCkKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiYmFk
IHJlc3VsdDogIiArIHJlc3VsdCk7CisgICAgfQorCisgICAgaWYgKGZvbyhvKSAhPT0gNDIwMCkK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJiYWQgcmVzdWx0OiAiICsgcmVzdWx0KTsKKyAgICB2
YXIgcmVzdWx0ID0gZm9vKGYpOworICAgIGlmICghTnVtYmVyLmlzTmFOKHJlc3VsdCkpCisgICAg
ICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwordmFyIHEgPSB7
fTsKK3EuZiA9IDQzOwordmFyIHJlc3VsdCA9IGZvbyhxKTsKK2lmIChyZXN1bHQgIT0gMTAwICog
NDMpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0IGF0IGVuZDogIiArIHJlc3VsdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbXVsdGktZ2V0LWJ5
LW9mZnNldC1wcm90by1zZWxmLW9yLXVuc2V0LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9tdWx0aS1nZXQtYnktb2Zmc2V0LXByb3RvLXNlbGYtb3ItdW5zZXQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzJiYzI1ZGMwZjllNjlmMWZkNDBiNDM3Njk1YTBjNTNjZTFkMDQwZAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbXVsdGktZ2V0
LWJ5LW9mZnNldC1wcm90by1zZWxmLW9yLXVuc2V0LmpzCkBAIC0wLDAgKzEsMzAgQEAKK2Z1bmN0
aW9uIGZvbyhvLCBzdGFydCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMTAwOyArK2kpCisgICAgICAgIHJlc3VsdCArPSBvLmY7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworbm9JbmxpbmUoZm9vKTsKKwordmFyIG8gPSB7fTsKK28uZiA9IDQyOwordmFy
IGYgPSB7fTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKQorICAgIG8uZiA9IGk7
CitvLmYgPSA0MjsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgaWYg
KGZvbyhvKSAhPT0gNDIwMCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJiYWQgcmVzdWx0OiAi
ICsgcmVzdWx0KTsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKGYpOworICAgIGlmICghTnVtYmVyLmlz
TmFOKHJlc3VsdCkpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3Vs
dDsKK30KKwordmFyIHEgPSB7fTsKK3EuZiA9IDQzOwordmFyIHJlc3VsdCA9IGZvbyhxKTsKK2lm
IChyZXN1bHQgIT0gMTAwICogNDMpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0IGF0IGVu
ZDogIiArIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvbXVsdGktZ2V0LWJ5LW9mZnNldC1zZWxmLW9yLXVuc2V0LmpzIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9tdWx0aS1nZXQtYnktb2Zmc2V0LXNlbGYtb3ItdW5zZXQu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzJiYzI1ZGMwZjllNjlmMWZkNDBiNDM3Njk1YTBjNTNjZTFkMDQwZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbXVs
dGktZ2V0LWJ5LW9mZnNldC1zZWxmLW9yLXVuc2V0LmpzCkBAIC0wLDAgKzEsMzAgQEAKK2Z1bmN0
aW9uIGZvbyhvLCBzdGFydCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMTAwOyArK2kpCisgICAgICAgIHJlc3VsdCArPSBvLmY7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworbm9JbmxpbmUoZm9vKTsKKwordmFyIG8gPSB7fTsKK28uZiA9IDQyOwordmFy
IGYgPSB7fTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKQorICAgIG8uZiA9IGk7
CitvLmYgPSA0MjsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgaWYg
KGZvbyhvKSAhPT0gNDIwMCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJiYWQgcmVzdWx0OiAi
ICsgcmVzdWx0KTsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKGYpOworICAgIGlmICghTnVtYmVyLmlz
TmFOKHJlc3VsdCkpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3Vs
dDsKK30KKwordmFyIHEgPSB7fTsKK3EuZiA9IDQzOwordmFyIHJlc3VsdCA9IGZvbyhxKTsKK2lm
IChyZXN1bHQgIT0gMTAwICogNDMpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0IGF0IGVu
ZDogIiArIHJlc3VsdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>