<?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>165820</bug_id>
          
          <creation_ts>2016-12-13 13:52:13 -0800</creation_ts>
          <short_desc>BytecodeBasicBlock::computeImpl() should not keep iterating blocks if all jump targets have already been found.</short_desc>
          <delta_ts>2016-12-14 12:00:02 -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 Local 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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1259524</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-13 13:52:13 -0800</bug_when>
    <thetext>Currently, if an opcode is a branch type opcode. BytecodeBasicBlock::computeImpl() will iterate over all basic blocks looking for the block containing the jump target, and it will continue to do this even when all the jump targets have been found.  This is wasted work, and all the more so given that most branch type opcodes only have a single jump target.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259526</commentid>
    <comment_count>1</comment_count>
      <attachid>297039</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-13 13:55:35 -0800</bug_when>
    <thetext>Created attachment 297039
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259529</commentid>
    <comment_count>2</comment_count>
      <attachid>297039</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-13 13:58:52 -0800</bug_when>
    <thetext>Comment on attachment 297039
proposed patch.

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

&gt; Source/JavaScriptCore/bytecode/BytecodeBasicBlock.cpp:163
&gt; +                ASSERT(!numberOfJumpTargets);

This assertion is firing.  I will need to check why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259547</commentid>
    <comment_count>3</comment_count>
      <attachid>297042</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-13 14:52:01 -0800</bug_when>
    <thetext>Created attachment 297042
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259829</commentid>
    <comment_count>4</comment_count>
      <attachid>297042</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-14 11:45:30 -0800</bug_when>
    <thetext>Comment on attachment 297042
proposed patch.

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

&gt; Source/JavaScriptCore/bytecode/BytecodeBasicBlock.cpp:160
&gt; +                        --numberOfJumpTargets;

Style suggestion: Instead of having the numberOfJumpTarget inside the &quot;if&quot; statement&apos;s conditional, you could instead check &quot;if (!numberOfJumpTargets) break&quot; right here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259830</commentid>
    <comment_count>5</comment_count>
      <attachid>297042</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-14 11:47:25 -0800</bug_when>
    <thetext>Comment on attachment 297042
proposed patch.

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

&gt;&gt; Source/JavaScriptCore/bytecode/BytecodeBasicBlock.cpp:160
&gt;&gt; +                        --numberOfJumpTargets;
&gt; 
&gt; Style suggestion: Instead of having the numberOfJumpTarget inside the &quot;if&quot; statement&apos;s conditional, you could instead check &quot;if (!numberOfJumpTargets) break&quot; right here.

I agree.  That also makes it such that we only test numberOfJumpTarget if we&apos;ve found a jump target instead of on every iteration.  I&apos;ll change the code to do this before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259833</commentid>
    <comment_count>6</comment_count>
      <attachid>297108</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-14 11:57:05 -0800</bug_when>
    <thetext>Created attachment 297108
patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259835</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-14 12:00:02 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r209820: &lt;http://trac.webkit.org/r209820&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297039</attachid>
            <date>2016-12-13 13:55:35 -0800</date>
            <delta_ts>2016-12-13 14:52:01 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-165820.patch</filename>
            <type>text/plain</type>
            <size>2438</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA5NzczKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE2LTEyLTEzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBC
eXRlY29kZUJhc2ljQmxvY2s6OmNvbXB1dGVJbXBsKCkgc2hvdWxkIG5vdCBrZWVwIGl0ZXJhdGlu
ZyBibG9ja3MgaWYgYWxsIGp1bXAgdGFyZ2V0cyBoYXZlIGFscmVhZHkgYmVlbiBmb3VuZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTgyMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwg
aWYgYW4gb3Bjb2RlIGlzIGEgYnJhbmNoIHR5cGUgb3Bjb2RlLCBCeXRlY29kZUJhc2ljQmxvY2s6
OmNvbXB1dGVJbXBsKCkKKyAgICAgICAgd2lsbCBpdGVyYXRlIG92ZXIgYWxsIGJhc2ljIGJsb2Nr
cyBsb29raW5nIGZvciB0aGUgYmxvY2sgY29udGFpbmluZyB0aGUganVtcAorICAgICAgICB0YXJn
ZXQsIGFuZCBpdCB3aWxsIGNvbnRpbnVlIHRvIGRvIHRoaXMgZXZlbiB3aGVuIGFsbCB0aGUganVt
cCB0YXJnZXRzIGhhdmUgYmVlbgorICAgICAgICBmb3VuZC4gIFRoaXMgaXMgd2FzdGVkIHdvcmss
IGFuZCBhbGwgdGhlIG1vcmUgc28gZ2l2ZW4gdGhhdCBtb3N0IGJyYW5jaCB0eXBlCisgICAgICAg
IG9wY29kZXMgb25seSBoYXZlIGEgc2luZ2xlIGp1bXAgdGFyZ2V0LgorCisgICAgICAgICogYnl0
ZWNvZGUvQnl0ZWNvZGVCYXNpY0Jsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVCYXNp
Y0Jsb2NrOjpjb21wdXRlSW1wbCk6CisKIDIwMTYtMTItMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjA5NTQ0LgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlQmFzaWNCbG9jay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2Rl
QmFzaWNCbG9jay5jcHAJKHJldmlzaW9uIDIwOTcyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZUJhc2ljQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTEs
MTEgKzE1MSwxNiBAQCB2b2lkIEJ5dGVjb2RlQmFzaWNCbG9jazo6Y29tcHV0ZUltcGwoQmxvCiAg
ICAgICAgICAgICAgICAgVmVjdG9yPHVuc2lnbmVkLCAxPiBieXRlY29kZU9mZnNldHNKdW1wZWRU
bzsKICAgICAgICAgICAgICAgICBmaW5kSnVtcFRhcmdldHNGb3JCeXRlY29kZU9mZnNldChjb2Rl
QmxvY2ssIGluc3RydWN0aW9uc0JlZ2luLCBieXRlY29kZU9mZnNldCwgYnl0ZWNvZGVPZmZzZXRz
SnVtcGVkVG8pOwogCi0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJh
c2ljQmxvY2tzLnNpemUoKTsgaSsrKSB7CisgICAgICAgICAgICAgICAgc2l6ZV90IG51bWJlck9m
SnVtcFRhcmdldHMgPSBieXRlY29kZU9mZnNldHNKdW1wZWRUby5zaXplKCk7CisgICAgICAgICAg
ICAgICAgQVNTRVJUKG51bWJlck9mSnVtcFRhcmdldHMpOworICAgICAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IG51bWJlck9mSnVtcFRhcmdldHMgJiYgaSA8IGJhc2ljQmxvY2tzLnNp
emUoKTsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgIEJ5dGVjb2RlQmFzaWNCbG9jayogb3Ro
ZXJCbG9jayA9IGJhc2ljQmxvY2tzW2ldLmdldCgpOwotICAgICAgICAgICAgICAgICAgICBpZiAo
Ynl0ZWNvZGVPZmZzZXRzSnVtcGVkVG8uY29udGFpbnMob3RoZXJCbG9jay0+bGVhZGVyT2Zmc2V0
KCkpKQorICAgICAgICAgICAgICAgICAgICBpZiAoYnl0ZWNvZGVPZmZzZXRzSnVtcGVkVG8uY29u
dGFpbnMob3RoZXJCbG9jay0+bGVhZGVyT2Zmc2V0KCkpKSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBsaW5rQmxvY2tzKGJsb2NrLCBvdGhlckJsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIC0tbnVtYmVyT2ZKdW1wVGFyZ2V0czsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBBU1NFUlQoIW51bWJlck9mSnVtcFRhcmdldHMp
OwogCiAgICAgICAgICAgICAgICAgaWYgKGlzVW5jb25kaXRpb25hbEJyYW5jaChvcGNvZGVJRCkp
CiAgICAgICAgICAgICAgICAgICAgIGZhbGxzVGhyb3VnaCA9IGZhbHNlOwo=
</data>
<flag name="review"
          id="319388"
          type_id="1"
          status="-"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297042</attachid>
            <date>2016-12-13 14:52:01 -0800</date>
            <delta_ts>2016-12-14 11:57:05 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-165820.patch</filename>
            <type>text/plain</type>
            <size>2876</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA5NzczKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE2LTEyLTEzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBC
eXRlY29kZUJhc2ljQmxvY2s6OmNvbXB1dGVJbXBsKCkgc2hvdWxkIG5vdCBrZWVwIGl0ZXJhdGlu
ZyBibG9ja3MgaWYgYWxsIGp1bXAgdGFyZ2V0cyBoYXZlIGFscmVhZHkgYmVlbiBmb3VuZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTgyMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwg
aWYgYW4gb3Bjb2RlIGlzIGEgYnJhbmNoIHR5cGUgb3Bjb2RlLCBCeXRlY29kZUJhc2ljQmxvY2s6
OmNvbXB1dGVJbXBsKCkKKyAgICAgICAgd2lsbCBpdGVyYXRlIG92ZXIgYWxsIGJhc2ljIGJsb2Nr
cyBsb29raW5nIGZvciB0aGUgYmxvY2sgY29udGFpbmluZyB0aGUganVtcAorICAgICAgICB0YXJn
ZXQsIGFuZCBpdCB3aWxsIGNvbnRpbnVlIHRvIGRvIHRoaXMgZXZlbiB3aGVuIGFsbCB0aGUganVt
cCB0YXJnZXRzIGhhdmUgYmVlbgorICAgICAgICBmb3VuZC4gIFRoaXMgaXMgd2FzdGVkIHdvcmss
IGFuZCBhbGwgdGhlIG1vcmUgc28gZ2l2ZW4gdGhhdCBtb3N0IGJyYW5jaCB0eXBlCisgICAgICAg
IG9wY29kZXMgb25seSBoYXZlIGEgc2luZ2xlIGp1bXAgdGFyZ2V0LgorCisgICAgICAgICogYnl0
ZWNvZGUvQnl0ZWNvZGVCYXNpY0Jsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVCYXNp
Y0Jsb2NrOjpjb21wdXRlSW1wbCk6CisKIDIwMTYtMTItMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjA5NTQ0LgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlQmFzaWNCbG9jay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2Rl
QmFzaWNCbG9jay5jcHAJKHJldmlzaW9uIDIwOTcyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZUJhc2ljQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTEs
MTEgKzE1MSwyMCBAQCB2b2lkIEJ5dGVjb2RlQmFzaWNCbG9jazo6Y29tcHV0ZUltcGwoQmxvCiAg
ICAgICAgICAgICAgICAgVmVjdG9yPHVuc2lnbmVkLCAxPiBieXRlY29kZU9mZnNldHNKdW1wZWRU
bzsKICAgICAgICAgICAgICAgICBmaW5kSnVtcFRhcmdldHNGb3JCeXRlY29kZU9mZnNldChjb2Rl
QmxvY2ssIGluc3RydWN0aW9uc0JlZ2luLCBieXRlY29kZU9mZnNldCwgYnl0ZWNvZGVPZmZzZXRz
SnVtcGVkVG8pOwogCi0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJh
c2ljQmxvY2tzLnNpemUoKTsgaSsrKSB7CisgICAgICAgICAgICAgICAgc2l6ZV90IG51bWJlck9m
SnVtcFRhcmdldHMgPSBieXRlY29kZU9mZnNldHNKdW1wZWRUby5zaXplKCk7CisgICAgICAgICAg
ICAgICAgQVNTRVJUKG51bWJlck9mSnVtcFRhcmdldHMpOworICAgICAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IG51bWJlck9mSnVtcFRhcmdldHMgJiYgaSA8IGJhc2ljQmxvY2tzLnNp
emUoKTsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgIEJ5dGVjb2RlQmFzaWNCbG9jayogb3Ro
ZXJCbG9jayA9IGJhc2ljQmxvY2tzW2ldLmdldCgpOwotICAgICAgICAgICAgICAgICAgICBpZiAo
Ynl0ZWNvZGVPZmZzZXRzSnVtcGVkVG8uY29udGFpbnMob3RoZXJCbG9jay0+bGVhZGVyT2Zmc2V0
KCkpKQorICAgICAgICAgICAgICAgICAgICBpZiAoYnl0ZWNvZGVPZmZzZXRzSnVtcGVkVG8uY29u
dGFpbnMob3RoZXJCbG9jay0+bGVhZGVyT2Zmc2V0KCkpKSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBsaW5rQmxvY2tzKGJsb2NrLCBvdGhlckJsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIC0tbnVtYmVyT2ZKdW1wVGFyZ2V0czsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAvLyBudW1iZXJPZkp1bXBUYXJnZXRzIG1heSBu
b3QgYmUgMCBoZXJlIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBqdW1wcyB0YXJnZXRpbmcgdGhlIHNh
bWUKKyAgICAgICAgICAgICAgICAvLyBiYXNpYyBibG9ja3MgKGUuZy4gaW4gYSBzd2l0Y2ggdHlw
ZSBvcGNvZGUpLiBTaW5jZSB3ZSBvbmx5IGRlY3JlbWVudCBudW1iZXJPZkp1bXBUYXJnZXRzCisg
ICAgICAgICAgICAgICAgLy8gb25jZSBwZXIgYmFzaWMgYmxvY2ssIHRoZSBkdXBsaWNhdGVzIGFy
ZSBub3QgYWNjb3VudGVkIGZvci4gRm9yIG91ciBwdXJwb3NlIGhlcmUsCisgICAgICAgICAgICAg
ICAgLy8gdGhhdCBkb2Vzbid0IG1hdHRlciBiZWNhdXNlIHdlIG9ubHkgbmVlZCB0byBsaW5rIHRv
IHRoZSB0YXJnZXQgYmxvY2sgb25jZSByZWdhcmRsZXNzCisgICAgICAgICAgICAgICAgLy8gb2Yg
aG93IG1hbnkgd2F5cyB0aGlzIGJsb2NrIGNhbiBqdW1wIHRoZXJlLgogCiAgICAgICAgICAgICAg
ICAgaWYgKGlzVW5jb25kaXRpb25hbEJyYW5jaChvcGNvZGVJRCkpCiAgICAgICAgICAgICAgICAg
ICAgIGZhbGxzVGhyb3VnaCA9IGZhbHNlOwo=
</data>
<flag name="review"
          id="319390"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297108</attachid>
            <date>2016-12-14 11:57:05 -0800</date>
            <delta_ts>2016-12-14 11:57:05 -0800</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-165820.patch</filename>
            <type>text/plain</type>
            <size>2934</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA5ODE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE2LTEyLTE0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBC
eXRlY29kZUJhc2ljQmxvY2s6OmNvbXB1dGVJbXBsKCkgc2hvdWxkIG5vdCBrZWVwIGl0ZXJhdGlu
ZyBibG9ja3MgaWYgYWxsIGp1bXAgdGFyZ2V0cyBoYXZlIGFscmVhZHkgYmVlbiBmb3VuZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTgyMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IFNhYW0gQmFyYXRpLgorCisgICAgICAgIEN1cnJlbnRseSwgaWYg
YW4gb3Bjb2RlIGlzIGEgYnJhbmNoIHR5cGUgb3Bjb2RlLCBCeXRlY29kZUJhc2ljQmxvY2s6OmNv
bXB1dGVJbXBsKCkKKyAgICAgICAgd2lsbCBpdGVyYXRlIG92ZXIgYWxsIGJhc2ljIGJsb2NrcyBs
b29raW5nIGZvciB0aGUgYmxvY2sgY29udGFpbmluZyB0aGUganVtcAorICAgICAgICB0YXJnZXQs
IGFuZCBpdCB3aWxsIGNvbnRpbnVlIHRvIGRvIHRoaXMgZXZlbiB3aGVuIGFsbCB0aGUganVtcCB0
YXJnZXRzIGhhdmUgYmVlbgorICAgICAgICBmb3VuZC4gIFRoaXMgaXMgd2FzdGVkIHdvcmssIGFu
ZCBhbGwgdGhlIG1vcmUgc28gZ2l2ZW4gdGhhdCBtb3N0IGJyYW5jaCB0eXBlCisgICAgICAgIG9w
Y29kZXMgb25seSBoYXZlIGEgc2luZ2xlIGp1bXAgdGFyZ2V0LgorCisgICAgICAgICogYnl0ZWNv
ZGUvQnl0ZWNvZGVCYXNpY0Jsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVCYXNpY0Js
b2NrOjpjb21wdXRlSW1wbCk6CisKIDIwMTYtMTItMTQgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFy
cmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmtlZEJsb2NrOjptYXJrc0NvbnZleUxp
dmVuZXNzRHVyaW5nTWFya2luZyBzaG91bGQgdGFrZSBpbnRvIGFjY291bnQgY29sbGVjdGlvbiBz
Y29wZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlQmFzaWNC
bG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlQmFzaWNCbG9jay5jcHAJKHJldmlzaW9uIDIwOTgxOCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUJhc2ljQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTEsMTEgKzE1MSwyMiBAQCB2b2lkIEJ5dGVjb2RlQmFzaWNCbG9jazo6Y29tcHV0ZUltcGwo
QmxvCiAgICAgICAgICAgICAgICAgVmVjdG9yPHVuc2lnbmVkLCAxPiBieXRlY29kZU9mZnNldHNK
dW1wZWRUbzsKICAgICAgICAgICAgICAgICBmaW5kSnVtcFRhcmdldHNGb3JCeXRlY29kZU9mZnNl
dChjb2RlQmxvY2ssIGluc3RydWN0aW9uc0JlZ2luLCBieXRlY29kZU9mZnNldCwgYnl0ZWNvZGVP
ZmZzZXRzSnVtcGVkVG8pOwogCisgICAgICAgICAgICAgICAgc2l6ZV90IG51bWJlck9mSnVtcFRh
cmdldHMgPSBieXRlY29kZU9mZnNldHNKdW1wZWRUby5zaXplKCk7CisgICAgICAgICAgICAgICAg
QVNTRVJUKG51bWJlck9mSnVtcFRhcmdldHMpOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBiYXNpY0Jsb2Nrcy5zaXplKCk7IGkrKykgewogICAgICAgICAgICAgICAg
ICAgICBCeXRlY29kZUJhc2ljQmxvY2sqIG90aGVyQmxvY2sgPSBiYXNpY0Jsb2Nrc1tpXS5nZXQo
KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGJ5dGVjb2RlT2Zmc2V0c0p1bXBlZFRvLmNvbnRh
aW5zKG90aGVyQmxvY2stPmxlYWRlck9mZnNldCgpKSkKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGJ5dGVjb2RlT2Zmc2V0c0p1bXBlZFRvLmNvbnRhaW5zKG90aGVyQmxvY2stPmxlYWRlck9mZnNl
dCgpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgbGlua0Jsb2NrcyhibG9jaywgb3RoZXJC
bG9jayk7CisgICAgICAgICAgICAgICAgICAgICAgICAtLW51bWJlck9mSnVtcFRhcmdldHM7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW51bWJlck9mSnVtcFRhcmdldHMpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLy8gbnVtYmVyT2ZKdW1wVGFyZ2V0cyBtYXkg
bm90IGJlIDAgaGVyZSBpZiB0aGVyZSBhcmUgbXVsdGlwbGUganVtcHMgdGFyZ2V0aW5nIHRoZSBz
YW1lCisgICAgICAgICAgICAgICAgLy8gYmFzaWMgYmxvY2tzIChlLmcuIGluIGEgc3dpdGNoIHR5
cGUgb3Bjb2RlKS4gU2luY2Ugd2Ugb25seSBkZWNyZW1lbnQgbnVtYmVyT2ZKdW1wVGFyZ2V0cwor
ICAgICAgICAgICAgICAgIC8vIG9uY2UgcGVyIGJhc2ljIGJsb2NrLCB0aGUgZHVwbGljYXRlcyBh
cmUgbm90IGFjY291bnRlZCBmb3IuIEZvciBvdXIgcHVycG9zZSBoZXJlLAorICAgICAgICAgICAg
ICAgIC8vIHRoYXQgZG9lc24ndCBtYXR0ZXIgYmVjYXVzZSB3ZSBvbmx5IG5lZWQgdG8gbGluayB0
byB0aGUgdGFyZ2V0IGJsb2NrIG9uY2UgcmVnYXJkbGVzcworICAgICAgICAgICAgICAgIC8vIG9m
IGhvdyBtYW55IHdheXMgdGhpcyBibG9jayBjYW4ganVtcCB0aGVyZS4KIAogICAgICAgICAgICAg
ICAgIGlmIChpc1VuY29uZGl0aW9uYWxCcmFuY2gob3Bjb2RlSUQpKQogICAgICAgICAgICAgICAg
ICAgICBmYWxsc1Rocm91Z2ggPSBmYWxzZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>