<?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>157775</bug_id>
          
          <creation_ts>2016-05-16 17:25:47 -0700</creation_ts>
          <short_desc>[JSC] &quot;return this&quot; in a constructor does not need a branch on isObject(this)</short_desc>
          <delta_ts>2016-05-16 20:35:53 -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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1193635</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-16 17:25:47 -0700</bug_when>
    <thetext>[JSC] &quot;return this&quot; in a constructor does not need a branch on isObject(this)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193637</commentid>
    <comment_count>1</comment_count>
      <attachid>279073</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-16 17:29:39 -0700</bug_when>
    <thetext>Created attachment 279073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193638</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-16 17:30:06 -0700</bug_when>
    <thetext>                                    Conf#1                    Conf#2                                      

3d-cube                         4.9549+-0.0261     ?      4.9916+-0.0312        ?
3d-morph                        5.0523+-0.0255     ?      5.0780+-0.0304        ?
3d-raytrace                     5.3399+-0.0310            5.3223+-0.0249        
access-binary-trees             2.0966+-0.0164     ^      2.0264+-0.0164        ^ definitely 1.0346x faster
access-fannkuch                 5.8749+-0.0359     ^      5.8014+-0.0308        ^ definitely 1.0127x faster
access-nbody                    2.5241+-0.0162     ?      2.5462+-0.0184        ?
access-nsieve                   2.9690+-0.0152            2.9677+-0.0163        
bitops-3bit-bits-in-byte        1.0807+-0.0084     ?      1.0826+-0.0085        ?
bitops-bits-in-byte             2.7130+-0.0180     ?      2.7253+-0.0201        ?
bitops-bitwise-and              2.0030+-0.0133            1.9902+-0.0108        
bitops-nsieve-bits              3.0466+-0.0198     ?      3.0540+-0.0238        ?
controlflow-recursive           2.3161+-0.0152     ?      2.3349+-0.0179        ?
crypto-aes                      4.4217+-0.0372            4.4038+-0.0318        
crypto-md5                      2.4412+-0.0167            2.4099+-0.0157          might be 1.0130x faster
crypto-sha1                     2.2903+-0.0174     ?      2.2995+-0.0180        ?
date-format-tofte               6.6671+-0.0416            6.6478+-0.0401        
date-format-xparb               4.8312+-0.0372            4.8075+-0.0361        
math-cordic                     2.8409+-0.0129     ?      2.8411+-0.0168        ?
math-partial-sums               4.2179+-0.0366            4.2139+-0.0341        
math-spectral-norm              1.9951+-0.0155            1.9880+-0.0119        
regexp-dna                      6.5850+-0.0456     ?      6.6112+-0.0548        ?
string-base64                   4.2546+-0.0384            4.2394+-0.0342        
string-fasta                    5.6429+-0.0195            5.6271+-0.0216        
string-tagcloud                 8.6104+-0.0471     ?      8.6181+-0.0574        ?
string-unpack-code             18.7322+-0.1295           18.5419+-0.1163          might be 1.0103x faster
string-validate-input           4.1828+-0.0290     ?      4.1885+-0.0282        ?

&lt;arithmetic&gt;                    4.5263+-0.0071            4.5138+-0.0073          might be 1.0028x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193668</commentid>
    <comment_count>3</comment_count>
      <attachid>279073</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-05-16 19:33:52 -0700</bug_when>
    <thetext>Comment on attachment 279073
Patch

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

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3223
&gt; +        bool shouldEmitIsObjectTest = derived || !srcIsThis;

I think that if you&apos;re in an ES6 derived constructor, your &apos;this&apos; value must either be TDZ or an object.
I&apos;m fairly sure then that &apos;shouldEmitIsObjectTest&apos; can just be !srcIsThis because the TDZ check
above will cover &apos;this&apos; being TDZ.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193679</commentid>
    <comment_count>4</comment_count>
      <attachid>279085</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-16 20:00:08 -0700</bug_when>
    <thetext>Created attachment 279085
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193680</commentid>
    <comment_count>5</comment_count>
      <attachid>279085</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-05-16 20:01:10 -0700</bug_when>
    <thetext>Comment on attachment 279085
Patch

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

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3232
&gt;                  emitTDZCheck(&amp;m_thisRegister);

This can be:
if (!srcIsThis)
    emitTDZCheck...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193681</commentid>
    <comment_count>6</comment_count>
      <attachid>279085</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-05-16 20:01:55 -0700</bug_when>
    <thetext>Comment on attachment 279085
Patch

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

&gt;&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3232
&gt;&gt;                  emitTDZCheck(&amp;m_thisRegister);
&gt; 
&gt; This can be:
&gt; if (!srcIsThis)
&gt;     emitTDZCheck...

Oh. Never mind</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193683</commentid>
    <comment_count>7</comment_count>
      <attachid>279087</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-16 20:06:44 -0700</bug_when>
    <thetext>Created attachment 279087
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193696</commentid>
    <comment_count>8</comment_count>
      <attachid>279087</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-16 20:35:48 -0700</bug_when>
    <thetext>Comment on attachment 279087
Patch for landing

Clearing flags on attachment: 279087

Committed r200992: &lt;http://trac.webkit.org/changeset/200992&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193698</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-16 20:35:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279073</attachid>
            <date>2016-05-16 17:29:39 -0700</date>
            <delta_ts>2016-05-16 20:00:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157775-20160516173035.patch</filename>
            <type>text/plain</type>
            <size>2917</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwODk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MjQzNDFiZTJmNDcyNGRkN2Q3MjJiMWQ2NGY2N2E3MzYyOGI5YTU0Li5iMTAwMzZiMzk2NTA4Y2U3
N2I5MzY5ZGRmZWFmOWQyMzY3NjllZGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxNi0wNS0xNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSAicmV0dXJuIHRoaXMiIGluIGEgY29uc3RydWN0b3IgZG9l
cyBub3QgbmVlZCBhIGJyYW5jaCBvbiBpc09iamVjdCh0aGlzKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3Nzc1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiByZXR1cm5pbmcgInRoaXMiIGluIGEg
Y29uc3RydWN0b3IsIHRoZSBieXRlY29kZSBnZW5lcmF0b3Igd2FzIGdlbmVyYXRpbmc6CisgICAg
ICAgICAgICBpc19vYmplY3QgICAgICAgICBsb2NYLCB0aGlzCisgICAgICAgICAgICBqdHJ1ZSAg
ICAgICAgICAgICBsb2NYLCA1KC0+c2Vjb25kIHJldCkKKyAgICAgICAgICAgIHJldCAgICAgICAg
ICAgICAgIHRoaXMKKyAgICAgICAgICAgIHJldCAgICAgICAgICAgICAgIHRoaXMKKworICAgICAg
ICBUaGF0IGNvZGUgaXMgZWxpbWluYXRlZCBpbiBERkcgYnV0IGl0IGlzIHByZXR0eSBjb3N0bHkg
bG93ZXIgdGllcnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIGJ5dGVjb2RlIGdlbmVy
YXRpb24gdG8gYXZvaWQgdGhlIGlzX29iamVjdCB0ZXN0CisgICAgICAgIHdoZW4gcG9zc2libGUg
YW5kIG5vdCBnZW5lcmF0ZSB0d28gcmV0IGlmIHRoZXkgZW5jb2RlIHRoZSBzYW1lIHRoaW5nLgor
CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXR1cm4pOgorCiAyMDE2LTA1LTEzICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFNldExv
Y2FsIHdpdGhvdXQgZXhpdCBkbyBub3QgbmVlZCBwaGFudG9tcwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRl
eCBlYzExMGY5NTQ4MTJjODYyNGM5OTYxNmFiN2M2MmJlZDM3YTQzYTNlLi42ZDdiN2M4NWRjNzQ5
YmZkNWFmNTNiMzYxYzk3NzJmMGQyZmYyYjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMzIxNSwx
MSArMzIxNSwxNyBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJldHVybihS
ZWdpc3RlcklEKiBzcmMpCiB7CiAgICAgaWYgKGlzQ29uc3RydWN0b3IoKSkgewogICAgICAgICBi
b29sIGRlcml2ZWQgPSBjb25zdHJ1Y3RvcktpbmQoKSA9PSBDb25zdHJ1Y3RvcktpbmQ6OkRlcml2
ZWQ7Ci0gICAgICAgIGlmIChkZXJpdmVkICYmIHNyYy0+aW5kZXgoKSA9PSBtX3RoaXNSZWdpc3Rl
ci5pbmRleCgpKQorICAgICAgICBib29sIHNyY0lzVGhpcyA9IHNyYy0+aW5kZXgoKSA9PSBtX3Ro
aXNSZWdpc3Rlci5pbmRleCgpOworCisgICAgICAgIGlmIChkZXJpdmVkICYmIHNyY0lzVGhpcykK
ICAgICAgICAgICAgIGVtaXRURFpDaGVjayhzcmMpOwogCi0gICAgICAgIFJlZlB0cjxMYWJlbD4g
aXNPYmplY3RMYWJlbCA9IG5ld0xhYmVsKCk7Ci0gICAgICAgIGVtaXRKdW1wSWZUcnVlKGVtaXRJ
c09iamVjdChuZXdUZW1wb3JhcnkoKSwgc3JjKSwgaXNPYmplY3RMYWJlbC5nZXQoKSk7CisgICAg
ICAgIGJvb2wgc2hvdWxkRW1pdElzT2JqZWN0VGVzdCA9IGRlcml2ZWQgfHwgIXNyY0lzVGhpczsK
KyAgICAgICAgUmVmUHRyPExhYmVsPiBpc09iamVjdExhYmVsOworICAgICAgICBpZiAoc2hvdWxk
RW1pdElzT2JqZWN0VGVzdCkgeworICAgICAgICAgICAgaXNPYmplY3RMYWJlbCA9IG5ld0xhYmVs
KCk7CisgICAgICAgICAgICBlbWl0SnVtcElmVHJ1ZShlbWl0SXNPYmplY3QobmV3VGVtcG9yYXJ5
KCksIHNyYyksIGlzT2JqZWN0TGFiZWwuZ2V0KCkpOworICAgICAgICB9CiAKICAgICAgICAgaWYg
KGRlcml2ZWQpIHsKICAgICAgICAgICAgIFJlZlB0cjxMYWJlbD4gaXNVbmRlZmluZWRMYWJlbCA9
IG5ld0xhYmVsKCk7CkBAIC0zMjMwLDkgKzMyMzYsMTEgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVH
ZW5lcmF0b3I6OmVtaXRSZXR1cm4oUmVnaXN0ZXJJRCogc3JjKQogICAgICAgICAgICAgICAgIGVt
aXRURFpDaGVjaygmbV90aGlzUmVnaXN0ZXIpOwogICAgICAgICB9CiAKLSAgICAgICAgZW1pdFVu
YXJ5Tm9Ec3RPcChvcF9yZXQsICZtX3RoaXNSZWdpc3Rlcik7CisgICAgICAgIGlmICghc3JjSXNU
aGlzKQorICAgICAgICAgICAgZW1pdFVuYXJ5Tm9Ec3RPcChvcF9yZXQsICZtX3RoaXNSZWdpc3Rl
cik7CiAKLSAgICAgICAgZW1pdExhYmVsKGlzT2JqZWN0TGFiZWwuZ2V0KCkpOworICAgICAgICBp
ZiAoc2hvdWxkRW1pdElzT2JqZWN0VGVzdCkKKyAgICAgICAgICAgIGVtaXRMYWJlbChpc09iamVj
dExhYmVsLmdldCgpKTsKICAgICB9CiAKICAgICByZXR1cm4gZW1pdFVuYXJ5Tm9Ec3RPcChvcF9y
ZXQsIHNyYyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279085</attachid>
            <date>2016-05-16 20:00:08 -0700</date>
            <delta_ts>2016-05-16 20:06:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157775-20160516200105.patch</filename>
            <type>text/plain</type>
            <size>3345</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwODk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MjQzNDFiZTJmNDcyNGRkN2Q3MjJiMWQ2NGY2N2E3MzYyOGI5YTU0Li4xNjg0MmIxY2ZlMzcxZjkx
YjlkYTliZGJiNGIzYzlkMzBlMzNlYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxNi0wNS0xNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSAicmV0dXJuIHRoaXMiIGluIGEgY29uc3RydWN0b3IgZG9l
cyBub3QgbmVlZCBhIGJyYW5jaCBvbiBpc09iamVjdCh0aGlzKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3Nzc1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2FhbSBCYXJhdGkuCisKKyAgICAgICAgV2hlbiByZXR1cm5pbmcgInRoaXMiIGluIGEgY29u
c3RydWN0b3IsIHRoZSBieXRlY29kZSBnZW5lcmF0b3Igd2FzIGdlbmVyYXRpbmc6CisgICAgICAg
ICAgICBpc19vYmplY3QgICAgICAgICBsb2NYLCB0aGlzCisgICAgICAgICAgICBqdHJ1ZSAgICAg
ICAgICAgICBsb2NYLCA1KC0+c2Vjb25kIHJldCkKKyAgICAgICAgICAgIHJldCAgICAgICAgICAg
ICAgIHRoaXMKKyAgICAgICAgICAgIHJldCAgICAgICAgICAgICAgIHRoaXMKKworICAgICAgICBU
aGF0IGNvZGUgaXMgZWxpbWluYXRlZCBpbiBERkcgYnV0IGl0IGlzIHByZXR0eSBjb3N0bHkgbG93
ZXIgdGllcnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIGJ5dGVjb2RlIGdlbmVyYXRp
b24gdG8gYXZvaWQgdGhlIGlzX29iamVjdCB0ZXN0CisgICAgICAgIHdoZW4gcG9zc2libGUgYW5k
IG5vdCBnZW5lcmF0ZSB0d28gcmV0IGlmIHRoZXkgZW5jb2RlIHRoZSBzYW1lIHRoaW5nLgorCisg
ICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXR1cm4pOgorCiAyMDE2LTA1LTEzICBCZW5qYW1p
biBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFNldExvY2Fs
IHdpdGhvdXQgZXhpdCBkbyBub3QgbmVlZCBwaGFudG9tcwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCBl
YzExMGY5NTQ4MTJjODYyNGM5OTYxNmFiN2M2MmJlZDM3YTQzYTNlLi5lZTIzZmQ4Y2I1MzVmNDE2
MmY2MGViZDIzYTJjODJjZjU4MTBiMTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMzIxNSwyNCAr
MzIxNSwyNiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJldHVybihSZWdp
c3RlcklEKiBzcmMpCiB7CiAgICAgaWYgKGlzQ29uc3RydWN0b3IoKSkgewogICAgICAgICBib29s
IGRlcml2ZWQgPSBjb25zdHJ1Y3RvcktpbmQoKSA9PSBDb25zdHJ1Y3RvcktpbmQ6OkRlcml2ZWQ7
Ci0gICAgICAgIGlmIChkZXJpdmVkICYmIHNyYy0+aW5kZXgoKSA9PSBtX3RoaXNSZWdpc3Rlci5p
bmRleCgpKQorICAgICAgICBib29sIHNyY0lzVGhpcyA9IHNyYy0+aW5kZXgoKSA9PSBtX3RoaXNS
ZWdpc3Rlci5pbmRleCgpOworCisgICAgICAgIGlmIChkZXJpdmVkICYmIHNyY0lzVGhpcykKICAg
ICAgICAgICAgIGVtaXRURFpDaGVjayhzcmMpOwogCi0gICAgICAgIFJlZlB0cjxMYWJlbD4gaXNP
YmplY3RMYWJlbCA9IG5ld0xhYmVsKCk7Ci0gICAgICAgIGVtaXRKdW1wSWZUcnVlKGVtaXRJc09i
amVjdChuZXdUZW1wb3JhcnkoKSwgc3JjKSwgaXNPYmplY3RMYWJlbC5nZXQoKSk7CisgICAgICAg
IGlmICghc3JjSXNUaGlzKSB7CisgICAgICAgICAgICBSZWZQdHI8TGFiZWw+IGlzT2JqZWN0TGFi
ZWwgPSBuZXdMYWJlbCgpOworICAgICAgICAgICAgZW1pdEp1bXBJZlRydWUoZW1pdElzT2JqZWN0
KG5ld1RlbXBvcmFyeSgpLCBzcmMpLCBpc09iamVjdExhYmVsLmdldCgpKTsKIAotICAgICAgICBp
ZiAoZGVyaXZlZCkgewotICAgICAgICAgICAgUmVmUHRyPExhYmVsPiBpc1VuZGVmaW5lZExhYmVs
ID0gbmV3TGFiZWwoKTsKLSAgICAgICAgICAgIGVtaXRKdW1wSWZUcnVlKGVtaXRJc1VuZGVmaW5l
ZChuZXdUZW1wb3JhcnkoKSwgc3JjKSwgaXNVbmRlZmluZWRMYWJlbC5nZXQoKSk7Ci0gICAgICAg
ICAgICBlbWl0VGhyb3dUeXBlRXJyb3IoIkNhbm5vdCByZXR1cm4gYSBub24tb2JqZWN0IHR5cGUg
aW4gdGhlIGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBjbGFzcy4iKTsKLSAgICAgICAgICAgIGVt
aXRMYWJlbChpc1VuZGVmaW5lZExhYmVsLmdldCgpKTsKLSAgICAgICAgICAgIGlmIChjb25zdHJ1
Y3RvcktpbmQoKSA9PSBDb25zdHJ1Y3RvcktpbmQ6OkRlcml2ZWQpCisgICAgICAgICAgICBpZiAo
ZGVyaXZlZCkgeworICAgICAgICAgICAgICAgIFJlZlB0cjxMYWJlbD4gaXNVbmRlZmluZWRMYWJl
bCA9IG5ld0xhYmVsKCk7CisgICAgICAgICAgICAgICAgZW1pdEp1bXBJZlRydWUoZW1pdElzVW5k
ZWZpbmVkKG5ld1RlbXBvcmFyeSgpLCBzcmMpLCBpc1VuZGVmaW5lZExhYmVsLmdldCgpKTsKKyAg
ICAgICAgICAgICAgICBlbWl0VGhyb3dUeXBlRXJyb3IoIkNhbm5vdCByZXR1cm4gYSBub24tb2Jq
ZWN0IHR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBjbGFzcy4iKTsKKyAgICAg
ICAgICAgICAgICBlbWl0TGFiZWwoaXNVbmRlZmluZWRMYWJlbC5nZXQoKSk7CiAgICAgICAgICAg
ICAgICAgZW1pdFREWkNoZWNrKCZtX3RoaXNSZWdpc3Rlcik7Ci0gICAgICAgIH0KLQotICAgICAg
ICBlbWl0VW5hcnlOb0RzdE9wKG9wX3JldCwgJm1fdGhpc1JlZ2lzdGVyKTsKKyAgICAgICAgICAg
IH0KIAotICAgICAgICBlbWl0TGFiZWwoaXNPYmplY3RMYWJlbC5nZXQoKSk7CisgICAgICAgICAg
ICBlbWl0VW5hcnlOb0RzdE9wKG9wX3JldCwgJm1fdGhpc1JlZ2lzdGVyKTsKKyAgICAgICAgICAg
IGVtaXRMYWJlbChpc09iamVjdExhYmVsLmdldCgpKTsKKyAgICAgICAgfQogICAgIH0KIAogICAg
IHJldHVybiBlbWl0VW5hcnlOb0RzdE9wKG9wX3JldCwgc3JjKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279087</attachid>
            <date>2016-05-16 20:06:44 -0700</date>
            <delta_ts>2016-05-16 20:35:48 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-157775-20160516200740.patch</filename>
            <type>text/plain</type>
            <size>3362</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwODk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MjQzNDFiZTJmNDcyNGRkN2Q3MjJiMWQ2NGY2N2E3MzYyOGI5YTU0Li4wNTA3ZDdiMTJmOTViMjM5
YTVmNzQ2ZjNkZjE5Y2ViMzkzZjM0MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxNi0wNS0xNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSAicmV0dXJuIHRoaXMiIGluIGEgY29uc3RydWN0b3IgZG9l
cyBub3QgbmVlZCBhIGJyYW5jaCBvbiBpc09iamVjdCh0aGlzKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3Nzc1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2FhbSBCYXJhdGkgYW5kIFJ5b3N1a2UgTml3YS4KKworICAgICAgICBXaGVuIHJldHVybmlu
ZyAidGhpcyIgaW4gYSBjb25zdHJ1Y3RvciwgdGhlIGJ5dGVjb2RlIGdlbmVyYXRvciB3YXMgZ2Vu
ZXJhdGluZzoKKyAgICAgICAgICAgIGlzX29iamVjdCAgICAgICAgIGxvY1gsIHRoaXMKKyAgICAg
ICAgICAgIGp0cnVlICAgICAgICAgICAgIGxvY1gsIDUoLT5zZWNvbmQgcmV0KQorICAgICAgICAg
ICAgcmV0ICAgICAgICAgICAgICAgdGhpcworICAgICAgICAgICAgcmV0ICAgICAgICAgICAgICAg
dGhpcworCisgICAgICAgIFRoYXQgY29kZSBpcyBlbGltaW5hdGVkIGluIERGRyBidXQgaXQgaXMg
cHJldHR5IGNvc3RseSBsb3dlciB0aWVycy4KKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMg
Ynl0ZWNvZGUgZ2VuZXJhdGlvbiB0byBhdm9pZCB0aGUgaXNfb2JqZWN0IHRlc3QKKyAgICAgICAg
d2hlbiBwb3NzaWJsZSBhbmQgbm90IGdlbmVyYXRlIHR3byByZXQgaWYgdGhleSBlbmNvZGUgdGhl
IHNhbWUgdGhpbmcuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJldHVybik6CisKIDIw
MTYtMDUtMTMgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0pTQ10gU2V0TG9jYWwgd2l0aG91dCBleGl0IGRvIG5vdCBuZWVkIHBoYW50b21zCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5l
cmF0b3IuY3BwCmluZGV4IGVjMTEwZjk1NDgxMmM4NjI0Yzk5NjE2YWI3YzYyYmVkMzdhNDNhM2Uu
LmVlMjNmZDhjYjUzNWY0MTYyZjYwZWJkMjNhMmM4MmNmNTgxMGIxNTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwCkBAIC0zMjE1LDI0ICszMjE1LDI2IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9y
OjplbWl0UmV0dXJuKFJlZ2lzdGVySUQqIHNyYykKIHsKICAgICBpZiAoaXNDb25zdHJ1Y3Rvcigp
KSB7CiAgICAgICAgIGJvb2wgZGVyaXZlZCA9IGNvbnN0cnVjdG9yS2luZCgpID09IENvbnN0cnVj
dG9yS2luZDo6RGVyaXZlZDsKLSAgICAgICAgaWYgKGRlcml2ZWQgJiYgc3JjLT5pbmRleCgpID09
IG1fdGhpc1JlZ2lzdGVyLmluZGV4KCkpCisgICAgICAgIGJvb2wgc3JjSXNUaGlzID0gc3JjLT5p
bmRleCgpID09IG1fdGhpc1JlZ2lzdGVyLmluZGV4KCk7CisKKyAgICAgICAgaWYgKGRlcml2ZWQg
JiYgc3JjSXNUaGlzKQogICAgICAgICAgICAgZW1pdFREWkNoZWNrKHNyYyk7CiAKLSAgICAgICAg
UmVmUHRyPExhYmVsPiBpc09iamVjdExhYmVsID0gbmV3TGFiZWwoKTsKLSAgICAgICAgZW1pdEp1
bXBJZlRydWUoZW1pdElzT2JqZWN0KG5ld1RlbXBvcmFyeSgpLCBzcmMpLCBpc09iamVjdExhYmVs
LmdldCgpKTsKKyAgICAgICAgaWYgKCFzcmNJc1RoaXMpIHsKKyAgICAgICAgICAgIFJlZlB0cjxM
YWJlbD4gaXNPYmplY3RMYWJlbCA9IG5ld0xhYmVsKCk7CisgICAgICAgICAgICBlbWl0SnVtcElm
VHJ1ZShlbWl0SXNPYmplY3QobmV3VGVtcG9yYXJ5KCksIHNyYyksIGlzT2JqZWN0TGFiZWwuZ2V0
KCkpOwogCi0gICAgICAgIGlmIChkZXJpdmVkKSB7Ci0gICAgICAgICAgICBSZWZQdHI8TGFiZWw+
IGlzVW5kZWZpbmVkTGFiZWwgPSBuZXdMYWJlbCgpOwotICAgICAgICAgICAgZW1pdEp1bXBJZlRy
dWUoZW1pdElzVW5kZWZpbmVkKG5ld1RlbXBvcmFyeSgpLCBzcmMpLCBpc1VuZGVmaW5lZExhYmVs
LmdldCgpKTsKLSAgICAgICAgICAgIGVtaXRUaHJvd1R5cGVFcnJvcigiQ2Fubm90IHJldHVybiBh
IG5vbi1vYmplY3QgdHlwZSBpbiB0aGUgY29uc3RydWN0b3Igb2YgYSBkZXJpdmVkIGNsYXNzLiIp
OwotICAgICAgICAgICAgZW1pdExhYmVsKGlzVW5kZWZpbmVkTGFiZWwuZ2V0KCkpOwotICAgICAg
ICAgICAgaWYgKGNvbnN0cnVjdG9yS2luZCgpID09IENvbnN0cnVjdG9yS2luZDo6RGVyaXZlZCkK
KyAgICAgICAgICAgIGlmIChkZXJpdmVkKSB7CisgICAgICAgICAgICAgICAgUmVmUHRyPExhYmVs
PiBpc1VuZGVmaW5lZExhYmVsID0gbmV3TGFiZWwoKTsKKyAgICAgICAgICAgICAgICBlbWl0SnVt
cElmVHJ1ZShlbWl0SXNVbmRlZmluZWQobmV3VGVtcG9yYXJ5KCksIHNyYyksIGlzVW5kZWZpbmVk
TGFiZWwuZ2V0KCkpOworICAgICAgICAgICAgICAgIGVtaXRUaHJvd1R5cGVFcnJvcigiQ2Fubm90
IHJldHVybiBhIG5vbi1vYmplY3QgdHlwZSBpbiB0aGUgY29uc3RydWN0b3Igb2YgYSBkZXJpdmVk
IGNsYXNzLiIpOworICAgICAgICAgICAgICAgIGVtaXRMYWJlbChpc1VuZGVmaW5lZExhYmVsLmdl
dCgpKTsKICAgICAgICAgICAgICAgICBlbWl0VERaQ2hlY2soJm1fdGhpc1JlZ2lzdGVyKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIGVtaXRVbmFyeU5vRHN0T3Aob3BfcmV0LCAmbV90aGlzUmVnaXN0
ZXIpOworICAgICAgICAgICAgfQogCi0gICAgICAgIGVtaXRMYWJlbChpc09iamVjdExhYmVsLmdl
dCgpKTsKKyAgICAgICAgICAgIGVtaXRVbmFyeU5vRHN0T3Aob3BfcmV0LCAmbV90aGlzUmVnaXN0
ZXIpOworICAgICAgICAgICAgZW1pdExhYmVsKGlzT2JqZWN0TGFiZWwuZ2V0KCkpOworICAgICAg
ICB9CiAgICAgfQogCiAgICAgcmV0dXJuIGVtaXRVbmFyeU5vRHN0T3Aob3BfcmV0LCBzcmMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>