<?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>145480</bug_id>
          
          <creation_ts>2015-05-29 16:32:53 -0700</creation_ts>
          <short_desc>Refactoring HandlerInfo and UnlinkedHandlerInfo.</short_desc>
          <delta_ts>2015-06-01 15:01:07 -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>JavaScriptCore</component>
          <version>528+ (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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1098250</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-29 16:32:53 -0700</bug_when>
    <thetext>HandlerInfo and UnlinkedHandlerInfo have common parts, but are not currently expressed as 2 unrelated structs that happen to have near identical fields.  We can refactor them to better express their relationship.  We can also add some convenience functions to make the code that uses them a little more readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098255</commentid>
    <comment_count>1</comment_count>
      <attachid>253935</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-29 16:38:56 -0700</bug_when>
    <thetext>Created attachment 253935
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098258</commentid>
    <comment_count>2</comment_count>
      <attachid>253935</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-05-29 16:50:43 -0700</bug_when>
    <thetext>Comment on attachment 253935
the patch.

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

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:132
&gt; +        UnlinkedHandlerInfo info(start, end, range.tryData-&gt;target-&gt;bind(), range.tryData-&gt;targetScopeDepth);

No need for cast?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098278</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-29 17:16:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 253935 [details]
&gt; the patch.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=253935&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:132
&gt; &gt; +        UnlinkedHandlerInfo info(start, end, range.tryData-&gt;target-&gt;bind(), range.tryData-&gt;targetScopeDepth);
&gt; 
&gt; No need for cast?

My local builds and the bots seem to agree that we don&apos;t need the cast, but it might be resulting in noisy warning on the Windows port.  I&apos;ll restore them before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098280</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-29 17:19:58 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r185022: &lt;http://trac.webkit.org/r185022&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098473</commentid>
    <comment_count>5</comment_count>
      <attachid>253935</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-06-01 04:23:14 -0700</bug_when>
    <thetext>Comment on attachment 253935
the patch.

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

&gt; Source/JavaScriptCore/bytecode/HandlerInfo.h:51
&gt; +    void initialize(const UnlinkedHandlerInfo&amp; unlinkedInfo, size_t nonLocalScopeDepth, CodeLocationLabel label)

Using CodeLocationLabel is incorrect here, because it is defined inside ENABLE(ASSEMBLER) guard.
Now !ENABLE(ASSEMBLER) build is broken due to this issue. ( !ENABLE(JIT) &amp;&amp; !ENABLE(YARR_JIT) )

Could you check it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098595</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-06-01 15:01:07 -0700</bug_when>
    <thetext>The CodeLocationLabel issue is fixed in https://bugs.webkit.org/show_bug.cgi?id=145515.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253935</attachid>
            <date>2015-05-29 16:38:56 -0700</date>
            <delta_ts>2015-05-29 16:50:43 -0700</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-145480.patch</filename>
            <type>text/plain</type>
            <size>8350</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg1MDE2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDE1LTA1LTI5ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvcmluZyBIYW5kbGVySW5mbyBhbmQgVW5saW5rZWRIYW5kbGVySW5mby4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTQ4MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhbmRsZXJJbmZvIGFuZCBV
bmxpbmtlZEhhbmRsZXJJbmZvIGhhdmUgY29tbW9uIHBhcnRzLCBidXQgYXJlIG5vdCBjdXJyZW50
bHkKKyAgICAgICAgZXhwcmVzc2VkIGFzIDIgdW5yZWxhdGVkIHN0cnVjdHMgdGhhdCBoYXBwZW4g
dG8gaGF2ZSBuZWFyIGlkZW50aWNhbCBmaWVsZHMuCisgICAgICAgIFdlIGNhbiByZWZhY3RvciB0
aGVtIHRvIGJldHRlciBleHByZXNzIHRoZWlyIHJlbGF0aW9uc2hpcC4gIFdlIGNhbiBhbHNvIGFk
ZAorICAgICAgICBzb21lIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyB0byBtYWtlIHRoZSBjb2RlIHRo
YXQgdXNlcyB0aGVtIGEgbGl0dGxlIG1vcmUKKyAgICAgICAgcmVhZGFibGUuCisKKyAgICAgICAg
KiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBC
eXRlY29kZSk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Q29kZUJsb2NrKToKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjpoYW5kbGVyRm9yQnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5
dGVjb2RlL0hhbmRsZXJJbmZvLmg6CisgICAgICAgIChKU0M6OlVubGlua2VkSGFuZGxlckluZm86
OlVubGlua2VkSGFuZGxlckluZm8pOgorICAgICAgICAoSlNDOjpIYW5kbGVySW5mbzo6aW5pdGlh
bGl6ZSk6CisgICAgICAgIC0gSSBjaG9zZSB0byBpbmNsdWRlIENvZGVMb2NhdGlvbkxhYmVsIGFy
ZyBldmVuIHRob3VnaCBpdCBpcyB1bnVzZWQgYnkKKyAgICAgICAgICBieSBub24tSklUIGJ1aWxk
cy4gIFRoaXMgbWFrZXMgdGhlIGNhbGwgc2l0ZSBjbGVhbmVyIHRvIHJlYWQuCisKKyAgICAgICAg
KiBieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpVbmxpbmtlZFNp
bXBsZUp1bXBUYWJsZTo6YWRkKToKKyAgICAgICAgKEpTQzo6VW5saW5rZWRJbnN0cnVjdGlvbjo6
VW5saW5rZWRJbnN0cnVjdGlvbik6CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrOjpu
dW1iZXJPZkV4Y2VwdGlvbkhhbmRsZXJzKToKKyAgICAgICAgKEpTQzo6VW5saW5rZWRDb2RlQmxv
Y2s6OmFkZEV4Y2VwdGlvbkhhbmRsZXIpOgorICAgICAgICAoSlNDOjpVbmxpbmtlZENvZGVCbG9j
azo6ZXhjZXB0aW9uSGFuZGxlcik6CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrOjpz
eW1ib2xUYWJsZSk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKToKKwogMjAxNS0w
NS0yOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIE5vbi1zcGVj
dWxhdGl2ZSBCcmFuY2ggc2hvdWxkIGJlIGZhc3QgaW4gdGhlIEZUTApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDE4NTAwOSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02NTQsNyArNjU0LDkgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZShQ
cmludFN0cmVhbQogICAgICAgICBvdXQucHJpbnRmKCJcbkV4Y2VwdGlvbiBIYW5kbGVyczpcbiIp
OwogICAgICAgICB1bnNpZ25lZCBpID0gMDsKICAgICAgICAgZG8gewotICAgICAgICAgICAgb3V0
LnByaW50ZigiXHQgJWQ6IHsgc3RhcnQ6IFslNGRdIGVuZDogWyU0ZF0gdGFyZ2V0OiBbJTRkXSBk
ZXB0aDogWyU0ZF0gfVxuIiwgaSArIDEsIG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnNb
aV0uc3RhcnQsIG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnNbaV0uZW5kLCBtX3JhcmVE
YXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzW2ldLnRhcmdldCwgbV9yYXJlRGF0YS0+bV9leGNlcHRp
b25IYW5kbGVyc1tpXS5zY29wZURlcHRoKTsKKyAgICAgICAgICAgIEhhbmRsZXJJbmZvJiBoYW5k
bGVyID0gbV9yYXJlRGF0YS0+bV9leGNlcHRpb25IYW5kbGVyc1tpXTsKKyAgICAgICAgICAgIG91
dC5wcmludGYoIlx0ICVkOiB7IHN0YXJ0OiBbJTRkXSBlbmQ6IFslNGRdIHRhcmdldDogWyU0ZF0g
ZGVwdGg6IFslNGRdIH1cbiIsCisgICAgICAgICAgICAgICAgaSArIDEsIGhhbmRsZXIuc3RhcnQs
IGhhbmRsZXIuZW5kLCBoYW5kbGVyLnRhcmdldCwgaGFuZGxlci5zY29wZURlcHRoKTsKICAgICAg
ICAgICAgICsraTsKICAgICAgICAgfSB3aGlsZSAoaSA8IG1fcmFyZURhdGEtPm1fZXhjZXB0aW9u
SGFuZGxlcnMuc2l6ZSgpKTsKICAgICB9CkBAIC0xODE5LDE0ICsxODIxLDEwIEBAIENvZGVCbG9j
azo6Q29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG8KICAgICAgICAgICAgIG1fcmFyZURhdGEt
Pm1fZXhjZXB0aW9uSGFuZGxlcnMucmVzaXplVG9GaXQoY291bnQpOwogICAgICAgICAgICAgc2l6
ZV90IG5vbkxvY2FsU2NvcGVEZXB0aCA9IHNjb3BlLT5kZXB0aCgpOwogICAgICAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgY29uc3Qg
VW5saW5rZWRIYW5kbGVySW5mbyYgaGFuZGxlciA9IHVubGlua2VkQ29kZUJsb2NrLT5leGNlcHRp
b25IYW5kbGVyKGkpOwotICAgICAgICAgICAgICAgIG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFu
ZGxlcnNbaV0uc3RhcnQgPSBoYW5kbGVyLnN0YXJ0OwotICAgICAgICAgICAgICAgIG1fcmFyZURh
dGEtPm1fZXhjZXB0aW9uSGFuZGxlcnNbaV0uZW5kID0gaGFuZGxlci5lbmQ7Ci0gICAgICAgICAg
ICAgICAgbV9yYXJlRGF0YS0+bV9leGNlcHRpb25IYW5kbGVyc1tpXS50YXJnZXQgPSBoYW5kbGVy
LnRhcmdldDsKLSAgICAgICAgICAgICAgICBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJz
W2ldLnNjb3BlRGVwdGggPSBub25Mb2NhbFNjb3BlRGVwdGggKyBoYW5kbGVyLnNjb3BlRGVwdGg7
Ci0jaWYgRU5BQkxFKEpJVCkKLSAgICAgICAgICAgICAgICBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlv
bkhhbmRsZXJzW2ldLm5hdGl2ZUNvZGUgPSBDb2RlTG9jYXRpb25MYWJlbChNYWNyb0Fzc2VtYmxl
ckNvZGVQdHI6OmNyZWF0ZUZyb21FeGVjdXRhYmxlQWRkcmVzcyhMTEludDo6Z2V0Q29kZVB0cihv
cF9jYXRjaCkpKTsKLSNlbmRpZgorICAgICAgICAgICAgICAgIGNvbnN0IFVubGlua2VkSGFuZGxl
ckluZm8mIHVubGlua2VkSGFuZGxlciA9IHVubGlua2VkQ29kZUJsb2NrLT5leGNlcHRpb25IYW5k
bGVyKGkpOworICAgICAgICAgICAgICAgIEhhbmRsZXJJbmZvJiBoYW5kbGVyID0gbV9yYXJlRGF0
YS0+bV9leGNlcHRpb25IYW5kbGVyc1tpXTsKKyAgICAgICAgICAgICAgICBoYW5kbGVyLmluaXRp
YWxpemUodW5saW5rZWRIYW5kbGVyLCBub25Mb2NhbFNjb3BlRGVwdGgsCisgICAgICAgICAgICAg
ICAgICAgIENvZGVMb2NhdGlvbkxhYmVsKE1hY3JvQXNzZW1ibGVyQ29kZVB0cjo6Y3JlYXRlRnJv
bUV4ZWN1dGFibGVBZGRyZXNzKExMSW50OjpnZXRDb2RlUHRyKG9wX2NhdGNoKSkpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogCkBAIC0yODg1LDEwICsyODgzLDExIEBAIEhhbmRsZXJJbmZv
KiBDb2RlQmxvY2s6OmhhbmRsZXJGb3JCeXRlY28KICAgICAKICAgICBWZWN0b3I8SGFuZGxlcklu
Zm8+JiBleGNlcHRpb25IYW5kbGVycyA9IG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnM7
CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBleGNlcHRpb25IYW5kbGVycy5zaXplKCk7ICsr
aSkgeworICAgICAgICBIYW5kbGVySW5mbyYgaGFuZGxlciA9IGV4Y2VwdGlvbkhhbmRsZXJzW2ld
OwogICAgICAgICAvLyBIYW5kbGVycyBhcmUgb3JkZXJlZCBpbm5lcm1vc3QgZmlyc3QsIHNvIHRo
ZSBmaXJzdCBoYW5kbGVyIHdlIGVuY291bnRlcgogICAgICAgICAvLyB0aGF0IGNvbnRhaW5zIHRo
ZSBzb3VyY2UgYWRkcmVzcyBpcyB0aGUgY29ycmVjdCBoYW5kbGVyIHRvIHVzZS4KLSAgICAgICAg
aWYgKGV4Y2VwdGlvbkhhbmRsZXJzW2ldLnN0YXJ0IDw9IGJ5dGVjb2RlT2Zmc2V0ICYmIGV4Y2Vw
dGlvbkhhbmRsZXJzW2ldLmVuZCA+IGJ5dGVjb2RlT2Zmc2V0KQotICAgICAgICAgICAgcmV0dXJu
ICZleGNlcHRpb25IYW5kbGVyc1tpXTsKKyAgICAgICAgaWYgKGhhbmRsZXIuc3RhcnQgPD0gYnl0
ZWNvZGVPZmZzZXQgJiYgaGFuZGxlci5lbmQgPiBieXRlY29kZU9mZnNldCkKKyAgICAgICAgICAg
IHJldHVybiAmaGFuZGxlcjsKICAgICB9CiAKICAgICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9IYW5kbGVySW5mby5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9IYW5kbGVySW5mby5oCShyZXZpc2lvbiAxODUwMDkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSGFuZGxlckluZm8uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsMTEgKzMwLDM3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1zdHJ1Y3Qg
SGFuZGxlckluZm8geworc3RydWN0IEhhbmRsZXJJbmZvQmFzZSB7CiAgICAgdWludDMyX3Qgc3Rh
cnQ7CiAgICAgdWludDMyX3QgZW5kOwogICAgIHVpbnQzMl90IHRhcmdldDsKICAgICB1aW50MzJf
dCBzY29wZURlcHRoOworfTsKKworc3RydWN0IFVubGlua2VkSGFuZGxlckluZm8gOiBwdWJsaWMg
SGFuZGxlckluZm9CYXNlIHsKKyAgICBVbmxpbmtlZEhhbmRsZXJJbmZvKHVpbnQzMl90IHN0YXJ0
LCB1aW50MzJfdCBlbmQsIHVpbnQzMl90IHRhcmdldCwgdWludDMyX3Qgc2NvcGVEZXB0aCkKKyAg
ICB7CisgICAgICAgIHRoaXMtPnN0YXJ0ID0gc3RhcnQ7CisgICAgICAgIHRoaXMtPmVuZCA9IGVu
ZDsKKyAgICAgICAgdGhpcy0+dGFyZ2V0ID0gdGFyZ2V0OworICAgICAgICB0aGlzLT5zY29wZURl
cHRoID0gc2NvcGVEZXB0aDsKKyAgICB9Cit9OworCitzdHJ1Y3QgSGFuZGxlckluZm8gOiBwdWJs
aWMgSGFuZGxlckluZm9CYXNlIHsKKyAgICB2b2lkIGluaXRpYWxpemUoY29uc3QgVW5saW5rZWRI
YW5kbGVySW5mbyYgdW5saW5rZWRJbmZvLCBzaXplX3Qgbm9uTG9jYWxTY29wZURlcHRoLCBDb2Rl
TG9jYXRpb25MYWJlbCBsYWJlbCkKKyAgICB7CisgICAgICAgIHN0YXJ0ID0gdW5saW5rZWRJbmZv
LnN0YXJ0OworICAgICAgICBlbmQgPSB1bmxpbmtlZEluZm8uZW5kOworICAgICAgICB0YXJnZXQg
PSB1bmxpbmtlZEluZm8udGFyZ2V0OworICAgICAgICBzY29wZURlcHRoID0gdW5saW5rZWRJbmZv
LnNjb3BlRGVwdGggKyBub25Mb2NhbFNjb3BlRGVwdGg7CisjaWYgRU5BQkxFKEpJVCkKKyAgICAg
ICAgbmF0aXZlQ29kZSA9IGxhYmVsOworI2Vsc2UKKyAgICAgICAgVU5VU0VEX1BBUkFNKGxhYmVs
KTsKKyNlbmRpZgorICAgIH0KKwogI2lmIEVOQUJMRShKSVQpCiAgICAgQ29kZUxvY2F0aW9uTGFi
ZWwgbmF0aXZlQ29kZTsKICNlbmRpZgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1VubGlua2VkQ29kZUJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmgJKHJldmlzaW9uIDE4NTAwOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ29kZVNwZWNpYWxpemF0aW9uS2lu
ZC5oIgogI2luY2x1ZGUgIkNvZGVUeXBlLmgiCiAjaW5jbHVkZSAiRXhwcmVzc2lvblJhbmdlSW5m
by5oIgorI2luY2x1ZGUgIkhhbmRsZXJJbmZvLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgog
I2luY2x1ZGUgIkpTQ2VsbC5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCkBAIC0yNDYsMTMgKzI0
Nyw2IEBAIHN0cnVjdCBVbmxpbmtlZFNpbXBsZUp1bXBUYWJsZSB7CiAgICAgfQogfTsKIAotc3Ry
dWN0IFVubGlua2VkSGFuZGxlckluZm8gewotICAgIHVpbnQzMl90IHN0YXJ0OwotICAgIHVpbnQz
Ml90IGVuZDsKLSAgICB1aW50MzJfdCB0YXJnZXQ7Ci0gICAgdWludDMyX3Qgc2NvcGVEZXB0aDsK
LX07Ci0KIHN0cnVjdCBVbmxpbmtlZEluc3RydWN0aW9uIHsKICAgICBVbmxpbmtlZEluc3RydWN0
aW9uKCkgeyB1Lm9wZXJhbmQgPSAwOyB9CiAgICAgVW5saW5rZWRJbnN0cnVjdGlvbihPcGNvZGVJ
RCBvcGNvZGUpIHsgdS5vcGNvZGUgPSBvcGNvZGU7IH0KQEAgLTQyNyw3ICs0MjEsNyBAQCBwdWJs
aWM6CiAKICAgICAvLyBFeGNlcHRpb24gaGFuZGxpbmcgc3VwcG9ydAogICAgIHNpemVfdCBudW1i
ZXJPZkV4Y2VwdGlvbkhhbmRsZXJzKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlRGF0YSA/IG1fcmFy
ZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnMuc2l6ZSgpIDogMDsgfQotICAgIHZvaWQgYWRkRXhj
ZXB0aW9uSGFuZGxlcihjb25zdCBVbmxpbmtlZEhhbmRsZXJJbmZvJiBoYW5sZXIpIHsgY3JlYXRl
UmFyZURhdGFJZk5lY2Vzc2FyeSgpOyByZXR1cm4gbV9yYXJlRGF0YS0+bV9leGNlcHRpb25IYW5k
bGVycy5hcHBlbmQoaGFubGVyKTsgfQorICAgIHZvaWQgYWRkRXhjZXB0aW9uSGFuZGxlcihjb25z
dCBVbmxpbmtlZEhhbmRsZXJJbmZvJiBoYW5kbGVyKSB7IGNyZWF0ZVJhcmVEYXRhSWZOZWNlc3Nh
cnkoKTsgcmV0dXJuIG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnMuYXBwZW5kKGhhbmRs
ZXIpOyB9CiAgICAgVW5saW5rZWRIYW5kbGVySW5mbyYgZXhjZXB0aW9uSGFuZGxlcihpbnQgaW5k
ZXgpIHsgQVNTRVJUKG1fcmFyZURhdGEpOyByZXR1cm4gbV9yYXJlRGF0YS0+bV9leGNlcHRpb25I
YW5kbGVyc1tpbmRleF07IH0KIAogICAgIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc3ltYm9sVGFibGUuZ2V0KCk7IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCShy
ZXZpc2lvbiAxODUwMDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDExICsxMjksNyBAQCBQ
YXJzZXJFcnJvciBCeXRlY29kZUdlbmVyYXRvcjo6Z2VuZXJhdGUoCiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgCiAgICAgICAgIEFTU0VSVChyYW5nZS50cnlEYXRhLT50YXJnZXRTY29w
ZURlcHRoICE9IFVJTlRfTUFYKTsKLSAgICAgICAgVW5saW5rZWRIYW5kbGVySW5mbyBpbmZvID0g
ewotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN0YXJ0KSwgc3RhdGljX2Nhc3Q8
dWludDMyX3Q+KGVuZCksCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4ocmFuZ2Uu
dHJ5RGF0YS0+dGFyZ2V0LT5iaW5kKCkpLAotICAgICAgICAgICAgcmFuZ2UudHJ5RGF0YS0+dGFy
Z2V0U2NvcGVEZXB0aAotICAgICAgICB9OworICAgICAgICBVbmxpbmtlZEhhbmRsZXJJbmZvIGlu
Zm8oc3RhcnQsIGVuZCwgcmFuZ2UudHJ5RGF0YS0+dGFyZ2V0LT5iaW5kKCksIHJhbmdlLnRyeURh
dGEtPnRhcmdldFNjb3BlRGVwdGgpOwogICAgICAgICBtX2NvZGVCbG9jay0+YWRkRXhjZXB0aW9u
SGFuZGxlcihpbmZvKTsKICAgICB9CiAgICAgCg==
</data>
<flag name="review"
          id="278898"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>