<?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>22246</bug_id>
          
          <creation_ts>2008-11-13 16:20:49 -0800</creation_ts>
          <short_desc>Get arguments for opcodes together to eliminate more redundant memory reads</short_desc>
          <delta_ts>2008-11-13 17:40:30 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Cameron Zwarich (cpst)">zwarich</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>98674</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-13 16:20:49 -0800</bug_when>
    <thetext>Currently, if an opcode gets its first operand in eax and its second operand in edx, the read from eax will kill the last result register. Instead, if there is an opportunity for optimization for the second operand we should move eax to edx and then read the first operand from memory into eax.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98680</commentid>
    <comment_count>1</comment_count>
      <attachid>25142</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-13 16:29:59 -0800</bug_when>
    <thetext>Created attachment 25142
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98684</commentid>
    <comment_count>2</comment_count>
      <attachid>25142</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-11-13 16:33:39 -0800</bug_when>
    <thetext>Comment on attachment 25142
Proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98702</commentid>
    <comment_count>3</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-13 17:40:30 -0800</bug_when>
    <thetext>Landed in r38379.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25142</attachid>
            <date>2008-11-13 16:29:59 -0800</date>
            <delta_ts>2008-11-13 16:33:39 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>pair.diff</filename>
            <type>text/plain</type>
            <size>11871</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4Mzc4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDgtMTEt
MTMgIENhbWVyb24gWndhcmljaCAgPHp3YXJpY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyMjI0NjogR2V0IGFyZ3VtZW50
cyBmb3Igb3Bjb2RlcyB0b2dldGhlciB0byBlbGltaW5hdGUgbW9yZSByZWR1bmRhbnQgbWVtb3J5
IHJlYWRzCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjIyNDY+CisKKyAgICAgICAgSXQgaXMgY29tbW9uIGZvciBvcGNvZGVzIHRvIHJlYWQgdGhlaXIg
Zmlyc3Qgb3BlcmFuZCBpbnRvIGVheCBhbmQgdGhlaXIKKyAgICAgICAgc2Vjb25kIG9wZXJhbmQg
aW50byBlZHguIElmIHRoZSB2YWx1ZSBpbnRlbmRlZCBmb3IgdGhlIHNlY29uZCBvcGVyYW5kIGlz
CisgICAgICAgIGluIGVheCwgd2Ugc2hvdWxkIGZpcnN0IG1vdmUgZWF4IHRvIHRoZSByZWdpc3Rl
ciBmb3IgdGhlIHNlY29uZCBvcGVyYW5kCisgICAgICAgIGFuZCB0aGVuIHJlYWQgdGhlIGZpcnN0
IG9wZXJhbmQgaW50byBlYXguCisKKyAgICAgICAgVGhpcyBpcyBhIDAuNSUgc3BlZWR1cCBvbiBT
dW5TcGlkZXIgYW5kIGEgMi4wJSBzcGVlZHVwIG9uIHRoZSBWOAorICAgICAgICBiZW5jaG1hcmsg
c3VpdGUgd2hlbiBtZWFzdXJlZCB1c2luZyB0aGUgVjggaGFybmVzcy4KKworICAgICAgICAqIFZN
L0NUSS5jcHA6CisgICAgICAgIChKU0M6OkNUSTo6ZW1pdEdldEFyZ3MpOgorICAgICAgICAoSlND
OjpDVEk6OmNvbXBpbGVPcFN0cmljdEVxKToKKyAgICAgICAgKEpTQzo6Q1RJOjpjb21waWxlQmlu
YXJ5QXJpdGhPcCk6CisgICAgICAgIChKU0M6OkNUSTo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6
CisgICAgICAgIChKU0M6OkNUSTo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMpOgorICAgICAgICAq
IFZNL0NUSS5oOgorCiAyMDA4LTExLTEzICBDYW1lcm9uIFp3YXJpY2ggIDx6d2FyaWNoQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFZNL0NUSS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVk0vQ1RJLmNwcAkocmV2aXNpb24gMzgzNzcpCisrKyBWTS9DVEku
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAsNiArMjEwLDE3IEBAIEFMV0FZU19JTkxJTkUgdm9p
ZCBDVEk6OmVtaXRHZXRBcmcoaW50IHMKICAgICBraWxsTGFzdFJlc3VsdFJlZ2lzdGVyKCk7CiB9
CiAKK0FMV0FZU19JTkxJTkUgdm9pZCBDVEk6OmVtaXRHZXRBcmdzKGludCBzcmMxLCBYODZBc3Nl
bWJsZXI6OlJlZ2lzdGVySUQgZHN0MSwgaW50IHNyYzIsIFg4NkFzc2VtYmxlcjo6UmVnaXN0ZXJJ
RCBkc3QyLCB1bnNpZ25lZCBpKQoreworICAgIGlmIChzcmMyID09IG1fbGFzdFJlc3VsdEJ5dGVj
b2RlUmVnaXN0ZXIpIHsKKyAgICAgICAgZW1pdEdldEFyZyhzcmMyLCBkc3QyLCBpKTsKKyAgICAg
ICAgZW1pdEdldEFyZyhzcmMxLCBkc3QxLCBpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBlbWl0
R2V0QXJnKHNyYzEsIGRzdDEsIGkpOworICAgICAgICBlbWl0R2V0QXJnKHNyYzIsIGRzdDIsIGkp
OworICAgIH0KK30KKwogLy8gZ2V0IGFyZyBwdXRzIGFuIGFyZyBmcm9tIHRoZSBTRiByZWdpc3Rl
ciBhcnJheSBvbnRvIHRoZSBzdGFjaywgYXMgYW4gYXJnIHRvIGEgY29udGV4dCB0aHJlYWRlZCBm
dW5jdGlvbi4KIEFMV0FZU19JTkxJTkUgdm9pZCBDVEk6OmVtaXRHZXRQdXRBcmcodW5zaWduZWQg
c3JjLCB1bnNpZ25lZCBvZmZzZXQsIFg4NkFzc2VtYmxlcjo6UmVnaXN0ZXJJRCBzY3JhdGNoKQog
ewpAQCAtNzU3LDggKzc2OCw3IEBAIHZvaWQgQ1RJOjpjb21waWxlT3BTdHJpY3RFcShJbnN0cnVj
dGlvbioKICAgICB1bnNpZ25lZCBzcmMxID0gaW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogICAg
IHVuc2lnbmVkIHNyYzIgPSBpbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7CiAKLSAgICBlbWl0R2V0
QXJnKHNyYzEsIFg4Njo6ZWF4LCBpKTsKLSAgICBlbWl0R2V0QXJnKHNyYzIsIFg4Njo6ZWR4LCBp
KTsKKyAgICBlbWl0R2V0QXJncyhzcmMxLCBYODY6OmVheCwgc3JjMiwgWDg2OjplZHgsIGkpOwog
CiAgICAgbV9qaXQudGVzdGxfaTMycihKU0ltbWVkaWF0ZTo6VGFnTWFzaywgWDg2OjplYXgpOwog
ICAgIFg4NkFzc2VtYmxlcjo6Sm1wU3JjIGZpcnN0Tm90SW1tZWRpYXRlID0gbV9qaXQuZW1pdFVu
bGlua2VkSmUoKTsKQEAgLTg2NSw4ICs4NzUsNyBAQCB2b2lkIENUSTo6Y29tcGlsZUJpbmFyeUFy
aXRoT3AoT3Bjb2RlSUQgCiAgICAgWDg2QXNzZW1ibGVyOjpKbXBTcmMgd2FzSlNOdW1iZXJDZWxs
MjsKICAgICBYODZBc3NlbWJsZXI6OkptcFNyYyB3YXNKU051bWJlckNlbGwyYjsKIAotICAgIGVt
aXRHZXRBcmcoc3JjMSwgWDg2OjplYXgsIGkpOwotICAgIGVtaXRHZXRBcmcoc3JjMiwgWDg2Ojpl
ZHgsIGkpOworICAgIGVtaXRHZXRBcmdzKHNyYzEsIFg4Njo6ZWF4LCBzcmMyLCBYODY6OmVkeCwg
aSk7CiAKICAgICBpZiAodHlwZXMuc2Vjb25kKCkuaXNSZXVzYWJsZSgpICYmIGlzU1NFMlByZXNl
bnQoKSkgewogICAgICAgICBBU1NFUlQodHlwZXMuc2Vjb25kKCkubWlnaHRCZU51bWJlcigpKTsK
QEAgLTExNjQsOCArMTE3Myw3IEBAIHZvaWQgQ1RJOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkK
ICAgICAgICAgICAgICAgICBtX2ppdC5jbXBsX2kzMnIoYXNJbnRlZ2VyKHNyYzJpbW0pLCBYODY6
OmVkeCk7CiAgICAgICAgICAgICAgICAgbV9qbXBUYWJsZS5hcHBlbmQoSm1wVGFibGUobV9qaXQu
ZW1pdFVubGlua2VkSmwoKSwgaSArIDMgKyB0YXJnZXQpKTsKICAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgZW1pdEdldEFyZyhpbnN0cnVjdGlvbltpICsgMV0udS5vcGVyYW5k
LCBYODY6OmVheCwgaSk7Ci0gICAgICAgICAgICAgICAgZW1pdEdldEFyZyhpbnN0cnVjdGlvbltp
ICsgMl0udS5vcGVyYW5kLCBYODY6OmVkeCwgaSk7CisgICAgICAgICAgICAgICAgZW1pdEdldEFy
Z3MoaW5zdHJ1Y3Rpb25baSArIDFdLnUub3BlcmFuZCwgWDg2OjplYXgsIGluc3RydWN0aW9uW2kg
KyAyXS51Lm9wZXJhbmQsIFg4Njo6ZWR4LCBpKTsKICAgICAgICAgICAgICAgICBlbWl0SnVtcFNs
b3dDYXNlSWZOb3RJbW1OdW0oWDg2OjplYXgsIGkpOwogICAgICAgICAgICAgICAgIGVtaXRKdW1w
U2xvd0Nhc2VJZk5vdEltbU51bShYODY6OmVkeCwgaSk7CiAgICAgICAgICAgICAgICAgbV9qaXQu
Y21wbF9ycihYODY6OmVkeCwgWDg2OjplYXgpOwpAQCAtMTE4NSw4ICsxMTkzLDcgQEAgdm9pZCBD
VEk6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgICAgIG1faml0LmNtcGxf
aTMycihhc0ludGVnZXIoc3JjMmltbSksIFg4Njo6ZWR4KTsKICAgICAgICAgICAgICAgICBtX2pt
cFRhYmxlLmFwcGVuZChKbXBUYWJsZShtX2ppdC5lbWl0VW5saW5rZWRKbGUoKSwgaSArIDMgKyB0
YXJnZXQpKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgZW1pdEdldEFy
ZyhpbnN0cnVjdGlvbltpICsgMV0udS5vcGVyYW5kLCBYODY6OmVheCwgaSk7Ci0gICAgICAgICAg
ICAgICAgZW1pdEdldEFyZyhpbnN0cnVjdGlvbltpICsgMl0udS5vcGVyYW5kLCBYODY6OmVkeCwg
aSk7CisgICAgICAgICAgICAgICAgZW1pdEdldEFyZ3MoaW5zdHJ1Y3Rpb25baSArIDFdLnUub3Bl
cmFuZCwgWDg2OjplYXgsIGluc3RydWN0aW9uW2kgKyAyXS51Lm9wZXJhbmQsIFg4Njo6ZWR4LCBp
KTsKICAgICAgICAgICAgICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RJbW1OdW0oWDg2OjplYXgs
IGkpOwogICAgICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEltbU51bShYODY6OmVk
eCwgaSk7CiAgICAgICAgICAgICAgICAgbV9qaXQuY21wbF9ycihYODY6OmVkeCwgWDg2OjplYXgp
OwpAQCAtMTIwNyw4ICsxMjE0LDcgQEAgdm9pZCBDVEk6OnByaXZhdGVDb21waWxlTWFpblBhc3Mo
KQogICAgICAgICAgICAgLy8gc3VjaCB0aGF0IHRoZSBTdHJ1Y3R1cmVJRCAmIG9mZnNldCBhcmUg
YWx3YXlzIGF0IHRoZSBzYW1lIGRpc3RhbmNlIGZyb20gdGhpcy4KIAogICAgICAgICAgICAgaW50
IGJhc2VWUmVnID0gaW5zdHJ1Y3Rpb25baSArIDFdLnUub3BlcmFuZDsKLSAgICAgICAgICAgIGVt
aXRHZXRBcmcoYmFzZVZSZWcsIFg4Njo6ZWF4LCBpKTsKLSAgICAgICAgICAgIGVtaXRHZXRBcmco
aW5zdHJ1Y3Rpb25baSArIDNdLnUub3BlcmFuZCwgWDg2OjplZHgsIGkpOworICAgICAgICAgICAg
ZW1pdEdldEFyZ3MoYmFzZVZSZWcsIFg4Njo6ZWF4LCBpbnN0cnVjdGlvbltpICsgM10udS5vcGVy
YW5kLCBYODY6OmVkeCwgaSk7CiAKICAgICAgICAgICAgIEFTU0VSVChtX2NvZGVCbG9jay0+cHJv
cGVydHlBY2Nlc3NJbnN0cnVjdGlvbnNbcHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlvbkluZGV4XS5v
cGNvZGVJbmRleCA9PSBpKTsKIApAQCAtMTQ4Nyw4ICsxNDkzLDcgQEAgdm9pZCBDVEk6OnByaXZh
dGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAg
ICAgY2FzZSBvcF9nZXRfYnlfdmFsOiB7Ci0gICAgICAgICAgICBlbWl0R2V0QXJnKGluc3RydWN0
aW9uW2kgKyAyXS51Lm9wZXJhbmQsIFg4Njo6ZWF4LCBpKTsKLSAgICAgICAgICAgIGVtaXRHZXRB
cmcoaW5zdHJ1Y3Rpb25baSArIDNdLnUub3BlcmFuZCwgWDg2OjplZHgsIGkpOworICAgICAgICAg
ICAgZW1pdEdldEFyZ3MoaW5zdHJ1Y3Rpb25baSArIDJdLnUub3BlcmFuZCwgWDg2OjplYXgsIGlu
c3RydWN0aW9uW2kgKyAzXS51Lm9wZXJhbmQsIFg4Njo6ZWR4LCBpKTsKICAgICAgICAgICAgIGVt
aXRKdW1wU2xvd0Nhc2VJZk5vdEltbU51bShYODY6OmVkeCwgaSk7CiAgICAgICAgICAgICBlbWl0
RmFzdEFyaXRoSW1tVG9JbnQoWDg2OjplZHgpOwogICAgICAgICAgICAgbV9qaXQudGVzdGxfaTMy
cihKU0ltbWVkaWF0ZTo6VGFnTWFzaywgWDg2OjplYXgpOwpAQCAtMTUyMiw4ICsxNTI3LDcgQEAg
dm9pZCBDVEk6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9wdXRfYnlfdmFsOiB7Ci0gICAgICAgICAgICBlbWl0
R2V0QXJnKGluc3RydWN0aW9uW2kgKyAxXS51Lm9wZXJhbmQsIFg4Njo6ZWF4LCBpKTsKLSAgICAg
ICAgICAgIGVtaXRHZXRBcmcoaW5zdHJ1Y3Rpb25baSArIDJdLnUub3BlcmFuZCwgWDg2OjplZHgs
IGkpOworICAgICAgICAgICAgZW1pdEdldEFyZ3MoaW5zdHJ1Y3Rpb25baSArIDFdLnUub3BlcmFu
ZCwgWDg2OjplYXgsIGluc3RydWN0aW9uW2kgKyAyXS51Lm9wZXJhbmQsIFg4Njo6ZWR4LCBpKTsK
ICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEltbU51bShYODY6OmVkeCwgaSk7CiAg
ICAgICAgICAgICBlbWl0RmFzdEFyaXRoSW1tVG9JbnQoWDg2OjplZHgpOwogICAgICAgICAgICAg
bV9qaXQudGVzdGxfaTMycihKU0ltbWVkaWF0ZTo6VGFnTWFzaywgWDg2OjplYXgpOwpAQCAtMTY5
MCw4ICsxNjk0LDcgQEAgdm9pZCBDVEk6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAg
ICAgICAgICAgIG1faml0LmNtcGxfaTMycihhc0ludGVnZXIoc3JjMmltbSksIFg4Njo6ZWR4KTsK
ICAgICAgICAgICAgICAgICBtX2ptcFRhYmxlLmFwcGVuZChKbXBUYWJsZShtX2ppdC5lbWl0VW5s
aW5rZWRKZ2UoKSwgaSArIDMgKyB0YXJnZXQpKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgZW1pdEdldEFyZyhpbnN0cnVjdGlvbltpICsgMV0udS5vcGVyYW5kLCBYODY6
OmVheCwgaSk7Ci0gICAgICAgICAgICAgICAgZW1pdEdldEFyZyhpbnN0cnVjdGlvbltpICsgMl0u
dS5vcGVyYW5kLCBYODY6OmVkeCwgaSk7CisgICAgICAgICAgICAgICAgZW1pdEdldEFyZ3MoaW5z
dHJ1Y3Rpb25baSArIDFdLnUub3BlcmFuZCwgWDg2OjplYXgsIGluc3RydWN0aW9uW2kgKyAyXS51
Lm9wZXJhbmQsIFg4Njo6ZWR4LCBpKTsKICAgICAgICAgICAgICAgICBlbWl0SnVtcFNsb3dDYXNl
SWZOb3RJbW1OdW0oWDg2OjplYXgsIGkpOwogICAgICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nh
c2VJZk5vdEltbU51bShYODY6OmVkeCwgaSk7CiAgICAgICAgICAgICAgICAgbV9qaXQuY21wbF9y
cihYODY6OmVkeCwgWDg2OjplYXgpOwpAQCAtMTgyNCw4ICsxODI3LDcgQEAgdm9pZCBDVEk6OnBy
aXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAg
ICAgICAgY2FzZSBvcF9lcTogewotICAgICAgICAgICAgZW1pdEdldEFyZyhpbnN0cnVjdGlvbltp
ICsgMl0udS5vcGVyYW5kLCBYODY6OmVheCwgaSk7Ci0gICAgICAgICAgICBlbWl0R2V0QXJnKGlu
c3RydWN0aW9uW2kgKyAzXS51Lm9wZXJhbmQsIFg4Njo6ZWR4LCBpKTsKKyAgICAgICAgICAgIGVt
aXRHZXRBcmdzKGluc3RydWN0aW9uW2kgKyAyXS51Lm9wZXJhbmQsIFg4Njo6ZWF4LCBpbnN0cnVj
dGlvbltpICsgM10udS5vcGVyYW5kLCBYODY6OmVkeCwgaSk7CiAgICAgICAgICAgICBlbWl0SnVt
cFNsb3dDYXNlSWZOb3RJbW1OdW1zKFg4Njo6ZWF4LCBYODY6OmVkeCwgaSk7CiAgICAgICAgICAg
ICBtX2ppdC5jbXBsX3JyKFg4Njo6ZWR4LCBYODY6OmVheCk7CiAgICAgICAgICAgICBtX2ppdC5z
ZXRlX3IoWDg2OjplYXgpOwpAQCAtMTgzNiw4ICsxODM4LDcgQEAgdm9pZCBDVEk6OnByaXZhdGVD
b21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAg
Y2FzZSBvcF9sc2hpZnQ6IHsKLSAgICAgICAgICAgIGVtaXRHZXRBcmcoaW5zdHJ1Y3Rpb25baSAr
IDJdLnUub3BlcmFuZCwgWDg2OjplYXgsIGkpOwotICAgICAgICAgICAgZW1pdEdldEFyZyhpbnN0
cnVjdGlvbltpICsgM10udS5vcGVyYW5kLCBYODY6OmVjeCwgaSk7CisgICAgICAgICAgICBlbWl0
R2V0QXJncyhpbnN0cnVjdGlvbltpICsgMl0udS5vcGVyYW5kLCBYODY6OmVheCwgaW5zdHJ1Y3Rp
b25baSArIDNdLnUub3BlcmFuZCwgWDg2OjplY3gsIGkpOwogICAgICAgICAgICAgZW1pdEp1bXBT
bG93Q2FzZUlmTm90SW1tTnVtKFg4Njo6ZWF4LCBpKTsKICAgICAgICAgICAgIGVtaXRKdW1wU2xv
d0Nhc2VJZk5vdEltbU51bShYODY6OmVjeCwgaSk7CiAgICAgICAgICAgICBlbWl0RmFzdEFyaXRo
SW1tVG9JbnQoWDg2OjplYXgpOwpAQCAtMTg2Myw4ICsxODY0LDcgQEAgdm9pZCBDVEk6OnByaXZh
dGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgICAgIG1faml0LmFuZGxfaTMycihhc0lu
dGVnZXIodmFsdWUpLCBYODY6OmVheCk7CiAgICAgICAgICAgICAgICAgZW1pdFB1dFJlc3VsdChk
c3QpOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBlbWl0R2V0QXJnKHNy
YzEsIFg4Njo6ZWF4LCBpKTsKLSAgICAgICAgICAgICAgICBlbWl0R2V0QXJnKHNyYzIsIFg4Njo6
ZWR4LCBpKTsKKyAgICAgICAgICAgICAgICBlbWl0R2V0QXJncyhzcmMxLCBYODY6OmVheCwgc3Jj
MiwgWDg2OjplZHgsIGkpOwogICAgICAgICAgICAgICAgIG1faml0LmFuZGxfcnIoWDg2OjplZHgs
IFg4Njo6ZWF4KTsKICAgICAgICAgICAgICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RJbW1OdW0o
WDg2OjplYXgsIGkpOwogICAgICAgICAgICAgICAgIGVtaXRQdXRSZXN1bHQoZHN0KTsKQEAgLTE4
NzMsOCArMTg3Myw3IEBAIHZvaWQgQ1RJOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ugb3BfcnNoaWZ0OiB7Ci0gICAg
ICAgICAgICBlbWl0R2V0QXJnKGluc3RydWN0aW9uW2kgKyAyXS51Lm9wZXJhbmQsIFg4Njo6ZWF4
LCBpKTsKLSAgICAgICAgICAgIGVtaXRHZXRBcmcoaW5zdHJ1Y3Rpb25baSArIDNdLnUub3BlcmFu
ZCwgWDg2OjplY3gsIGkpOworICAgICAgICAgICAgZW1pdEdldEFyZ3MoaW5zdHJ1Y3Rpb25baSAr
IDJdLnUub3BlcmFuZCwgWDg2OjplYXgsIGluc3RydWN0aW9uW2kgKyAzXS51Lm9wZXJhbmQsIFg4
Njo6ZWN4LCBpKTsKICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEltbU51bShYODY6
OmVheCwgaSk7CiAgICAgICAgICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RJbW1OdW0oWDg2Ojpl
Y3gsIGkpOwogICAgICAgICAgICAgZW1pdEZhc3RBcml0aEltbVRvSW50KFg4Njo6ZWN4KTsKQEAg
LTE5MTAsOCArMTkwOSw3IEBAIHZvaWQgQ1RJOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ugb3BfbW9kOiB7Ci0gICAg
ICAgICAgICBlbWl0R2V0QXJnKGluc3RydWN0aW9uW2kgKyAyXS51Lm9wZXJhbmQsIFg4Njo6ZWF4
LCBpKTsKLSAgICAgICAgICAgIGVtaXRHZXRBcmcoaW5zdHJ1Y3Rpb25baSArIDNdLnUub3BlcmFu
ZCwgWDg2OjplY3gsIGkpOworICAgICAgICAgICAgZW1pdEdldEFyZ3MoaW5zdHJ1Y3Rpb25baSAr
IDJdLnUub3BlcmFuZCwgWDg2OjplYXgsIGluc3RydWN0aW9uW2kgKyAzXS51Lm9wZXJhbmQsIFg4
Njo6ZWN4LCBpKTsKICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEltbU51bShYODY6
OmVheCwgaSk7CiAgICAgICAgICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RJbW1OdW0oWDg2Ojpl
Y3gsIGkpOwogICAgICAgICAgICAgZW1pdEZhc3RBcml0aERlVGFnSW1tZWRpYXRlKFg4Njo6ZWF4
KTsKQEAgLTE5NDQsOCArMTk0Miw3IEBAIHZvaWQgQ1RJOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KCkKICAgICAgICAgfQogICAgICAgICBDVElfQ09NUElMRV9CSU5BUllfT1Aob3BfbGVzcykKICAg
ICAgICAgY2FzZSBvcF9uZXE6IHsKLSAgICAgICAgICAgIGVtaXRHZXRBcmcoaW5zdHJ1Y3Rpb25b
aSArIDJdLnUub3BlcmFuZCwgWDg2OjplYXgsIGkpOwotICAgICAgICAgICAgZW1pdEdldEFyZyhp
bnN0cnVjdGlvbltpICsgM10udS5vcGVyYW5kLCBYODY6OmVkeCwgaSk7CisgICAgICAgICAgICBl
bWl0R2V0QXJncyhpbnN0cnVjdGlvbltpICsgMl0udS5vcGVyYW5kLCBYODY6OmVheCwgaW5zdHJ1
Y3Rpb25baSArIDNdLnUub3BlcmFuZCwgWDg2OjplZHgsIGkpOwogICAgICAgICAgICAgZW1pdEp1
bXBTbG93Q2FzZUlmTm90SW1tTnVtcyhYODY6OmVheCwgWDg2OjplZHgsIGkpOwogICAgICAgICAg
ICAgbV9qaXQuY21wbF9ycihYODY6OmVheCwgWDg2OjplZHgpOwogCkBAIC0xOTcyLDggKzE5Njks
NyBAQCB2b2lkIENUSTo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIH0KICAgICAg
ICAgQ1RJX0NPTVBJTEVfQklOQVJZX09QKG9wX3Vyc2hpZnQpCiAgICAgICAgIGNhc2Ugb3BfYml0
eG9yOiB7Ci0gICAgICAgICAgICBlbWl0R2V0QXJnKGluc3RydWN0aW9uW2kgKyAyXS51Lm9wZXJh
bmQsIFg4Njo6ZWF4LCBpKTsKLSAgICAgICAgICAgIGVtaXRHZXRBcmcoaW5zdHJ1Y3Rpb25baSAr
IDNdLnUub3BlcmFuZCwgWDg2OjplZHgsIGkpOworICAgICAgICAgICAgZW1pdEdldEFyZ3MoaW5z
dHJ1Y3Rpb25baSArIDJdLnUub3BlcmFuZCwgWDg2OjplYXgsIGluc3RydWN0aW9uW2kgKyAzXS51
Lm9wZXJhbmQsIFg4Njo6ZWR4LCBpKTsKICAgICAgICAgICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5v
dEltbU51bXMoWDg2OjplYXgsIFg4Njo6ZWR4LCBpKTsKICAgICAgICAgICAgIG1faml0Lnhvcmxf
cnIoWDg2OjplZHgsIFg4Njo6ZWF4KTsKICAgICAgICAgICAgIGVtaXRGYXN0QXJpdGhSZVRhZ0lt
bWVkaWF0ZShYODY6OmVheCk7CkBAIC0xOTkwLDggKzE5ODYsNyBAQCB2b2lkIENUSTo6cHJpdmF0
ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAg
ICBjYXNlIG9wX2JpdG9yOiB7Ci0gICAgICAgICAgICBlbWl0R2V0QXJnKGluc3RydWN0aW9uW2kg
KyAyXS51Lm9wZXJhbmQsIFg4Njo6ZWF4LCBpKTsKLSAgICAgICAgICAgIGVtaXRHZXRBcmcoaW5z
dHJ1Y3Rpb25baSArIDNdLnUub3BlcmFuZCwgWDg2OjplZHgsIGkpOworICAgICAgICAgICAgZW1p
dEdldEFyZ3MoaW5zdHJ1Y3Rpb25baSArIDJdLnUub3BlcmFuZCwgWDg2OjplYXgsIGluc3RydWN0
aW9uW2kgKyAzXS51Lm9wZXJhbmQsIFg4Njo6ZWR4LCBpKTsKICAgICAgICAgICAgIGVtaXRKdW1w
U2xvd0Nhc2VJZk5vdEltbU51bXMoWDg2OjplYXgsIFg4Njo6ZWR4LCBpKTsKICAgICAgICAgICAg
IG1faml0Lm9ybF9ycihYODY6OmVkeCwgWDg2OjplYXgpOwogICAgICAgICAgICAgZW1pdFB1dFJl
c3VsdChpbnN0cnVjdGlvbltpICsgMV0udS5vcGVyYW5kKTsKQEAgLTI1MDcsOCArMjUwMiw3IEBA
IHZvaWQgQ1RJOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAgICAgICAgICAgICBYODZBc3Nl
bWJsZXI6OkptcFNyYyBub3RJbW0xID0gaXRlci0+ZnJvbTsKICAgICAgICAgICAgIFg4NkFzc2Vt
Ymxlcjo6Sm1wU3JjIG5vdEltbTIgPSAoKytpdGVyKS0+ZnJvbTsKICAgICAgICAgICAgIG1faml0
LmxpbmsoKCsraXRlciktPmZyb20sIG1faml0LmxhYmVsKCkpOwotICAgICAgICAgICAgZW1pdEdl
dEFyZyhpbnN0cnVjdGlvbltpICsgMl0udS5vcGVyYW5kLCBYODY6OmVheCwgaSk7Ci0gICAgICAg
ICAgICBlbWl0R2V0QXJnKGluc3RydWN0aW9uW2kgKyAzXS51Lm9wZXJhbmQsIFg4Njo6ZWN4LCBp
KTsKKyAgICAgICAgICAgIGVtaXRHZXRBcmdzKGluc3RydWN0aW9uW2kgKyAyXS51Lm9wZXJhbmQs
IFg4Njo6ZWF4LCBpbnN0cnVjdGlvbltpICsgM10udS5vcGVyYW5kLCBYODY6OmVjeCwgaSk7CiAg
ICAgICAgICAgICBtX2ppdC5saW5rKG5vdEltbTEsIG1faml0LmxhYmVsKCkpOwogICAgICAgICAg
ICAgbV9qaXQubGluayhub3RJbW0yLCBtX2ppdC5sYWJlbCgpKTsKICAgICAgICAgICAgIGVtaXRQ
dXRBcmcoWDg2OjplYXgsIDApOwpJbmRleDogVk0vQ1RJLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVk0vQ1RJ
LmgJKHJldmlzaW9uIDM4MzcxKQorKysgVk0vQ1RJLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3NSw2
ICszNzUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBjb21waWxlQmluYXJ5QXJp
dGhPcFNsb3dDYXNlKEluc3RydWN0aW9uKiwgT3Bjb2RlSUQsIFZlY3RvcjxTbG93Q2FzZUVudHJ5
Pjo6aXRlcmF0b3ImIGl0ZXIsIHVuc2lnbmVkIGRzdCwgdW5zaWduZWQgc3JjMSwgdW5zaWduZWQg
c3JjMiwgT3BlcmFuZFR5cGVzIG9waSwgdW5zaWduZWQgaSk7CiAKICAgICAgICAgdm9pZCBlbWl0
R2V0QXJnKGludCBzcmMsIFg4NkFzc2VtYmxlcjo6UmVnaXN0ZXJJRCBkc3QsIHVuc2lnbmVkIGkp
OworICAgICAgICB2b2lkIGVtaXRHZXRBcmdzKGludCBzcmMxLCBYODZBc3NlbWJsZXI6OlJlZ2lz
dGVySUQgZHN0MSwgaW50IHNyYzIsIFg4NkFzc2VtYmxlcjo6UmVnaXN0ZXJJRCBkc3QyLCB1bnNp
Z25lZCBpKTsKICAgICAgICAgdm9pZCBlbWl0R2V0UHV0QXJnKHVuc2lnbmVkIHNyYywgdW5zaWdu
ZWQgb2Zmc2V0LCBYODZBc3NlbWJsZXI6OlJlZ2lzdGVySUQgc2NyYXRjaCk7CiAgICAgICAgIHZv
aWQgZW1pdFB1dEFyZyhYODZBc3NlbWJsZXI6OlJlZ2lzdGVySUQgc3JjLCB1bnNpZ25lZCBvZmZz
ZXQpOwogICAgICAgICB2b2lkIGVtaXRQdXRBcmdDb25zdGFudCh1bnNpZ25lZCB2YWx1ZSwgdW5z
aWduZWQgb2Zmc2V0KTsK
</data>
<flag name="review"
          id="11585"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>