<?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>20820</bug_id>
          
          <creation_ts>2008-09-12 18:04:37 -0700</creation_ts>
          <short_desc>op_stricteq is slow</short_desc>
          <delta_ts>2008-09-22 14:07:16 -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>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>
          
          <blocked>20813</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>91005</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-12 18:04:37 -0700</bug_when>
    <thetext>op_stricteq is 1.7% of the Shark profile of the Earley-Boyer benchmark. We should determine why this is the case and fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91966</commentid>
    <comment_count>1</comment_count>
      <attachid>23619</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-09-20 22:15:30 -0700</bug_when>
    <thetext>Created attachment 23619
more speedups for the CTI case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91967</commentid>
    <comment_count>2</comment_count>
      <attachid>23619</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-20 22:26:22 -0700</bug_when>
    <thetext>Comment on attachment 23619
more speedups for the CTI case

+        (JSC::Machine::cti_op_stricteq): Check for pointer equality first; use inline version
+        of strictEqualSlowCase; remove unneeded exception check.

I don&apos;t see any &quot;check for pointer equality first&quot; change.

-            r[dst] = jsBoolean(reinterpret_cast&lt;intptr_t&gt;(src1) == reinterpret_cast&lt;intptr_t&gt;(src2));
+            r[dst]= jsBoolean(reinterpret_cast&lt;intptr_t&gt;(src1) == reinterpret_cast&lt;intptr_t&gt;(src2));

Should change this back. No reason to delete the space before that &quot;=&quot;.

-    if (JSImmediate::isEitherImmediate(src1, src2) &amp; (src1 != JSImmediate::from(0)) &amp; (src2 != JSImmediate::from(0)))
+    if (JSImmediate::isEitherImmediate(src1, src2) &amp; (src1 != JSImmediate::zeroImmediate()) &amp; (src2 != JSImmediate::zeroImmediate()))

JSImmediate::from(0) doesn&apos;t get constant folded?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91968</commentid>
    <comment_count>3</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-09-20 22:53:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 23619 [edit])
&gt; +        (JSC::Machine::cti_op_stricteq): Check for pointer equality first; use
&gt; inline version
&gt; +        of strictEqualSlowCase; remove unneeded exception check.
&gt; 
&gt; I don&apos;t see any &quot;check for pointer equality first&quot; change.

Oh right, I had to back that out after writing the ChangeLog because it was wrong for NaN. I&apos;ll fix ChangeLog too.

&gt; 
&gt; -            r[dst] = jsBoolean(reinterpret_cast&lt;intptr_t&gt;(src1) ==
&gt; reinterpret_cast&lt;intptr_t&gt;(src2));
&gt; +            r[dst]= jsBoolean(reinterpret_cast&lt;intptr_t&gt;(src1) ==
&gt; reinterpret_cast&lt;intptr_t&gt;(src2));
&gt; 
&gt; Should change this back. No reason to delete the space before that &quot;=&quot;.
&gt;

I fixed that.
 
&gt; -    if (JSImmediate::isEitherImmediate(src1, src2) &amp; (src1 !=
&gt; JSImmediate::from(0)) &amp; (src2 != JSImmediate::from(0)))
&gt; +    if (JSImmediate::isEitherImmediate(src1, src2) &amp; (src1 !=
&gt; JSImmediate::zeroImmediate()) &amp; (src2 != JSImmediate::zeroImmediate()))
&gt; 
&gt; JSImmediate::from(0) doesn&apos;t get constant folded?
&gt; 

I think both get constant folded, but I figued it was better style to use zeroImmediate().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91982</commentid>
    <comment_count>4</comment_count>
      <attachid>23624</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-09-21 03:29:44 -0700</bug_when>
    <thetext>Created attachment 23624
inline JIT the fast paths of the strict equal operator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91983</commentid>
    <comment_count>5</comment_count>
      <attachid>23619</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-09-21 03:30:00 -0700</bug_when>
    <thetext>Comment on attachment 23619
more speedups for the CTI case

unflagging since this is landed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92197</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-22 14:07:16 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/36738</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23619</attachid>
            <date>2008-09-20 22:15:30 -0700</date>
            <delta_ts>2008-09-21 03:30:00 -0700</delta_ts>
            <desc>more speedups for the CTI case</desc>
            <filename>stricteq-speedup-misc.patch.txt</filename>
            <type>text/plain</type>
            <size>6824</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM2NzI2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMDgtMDkt
MjAgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIC0gYXNzb3J0ZWQgb3B0aW1p
emF0aW9ucyB0byA9PT0gYW5kICE9PSBvcGVyYXRvcnMKKyAgICAgICAgKHdvcmsgdG93YXJkcyA8
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIwPikKKyAgICAgICAg
CisgICAgICAgIDIuNSUgc3BlZWR1cCBvbiBlYXJsZXktYm95ZXIgdGVzdAorCisgICAgICAgICog
Vk0vTWFjaGluZS5jcHA6CisgICAgICAgIChKU0M6Ok1hY2hpbmU6OmN0aV9vcF9zdHJpY3RlcSk6
IENoZWNrIGZvciBwb2ludGVyIGVxdWFsaXR5IGZpcnN0OyB1c2UgaW5saW5lIHZlcnNpb24KKyAg
ICAgICAgb2Ygc3RyaWN0RXF1YWxTbG93Q2FzZTsgcmVtb3ZlIHVubmVlZGVkIGV4Y2VwdGlvbiBj
aGVjay4KKyAgICAgICAgKEpTQzo6TWFjaGluZTo6Y3RpX29wX25zdHJpY3RlcSk6IGRpdHRvCisg
ICAgICAgICoga2pzL29wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpzdHJpY3RFcXVhbCk6
IFVzZSBzdHJpY3RFcXVhbFNsb3dDYXNlSW5saW5lCisgICAgICAgIChKU0M6OnN0cmljdEVxdWFs
U2xvd0Nhc2UpOiBkaXR0bworICAgICAgICAqIGtqcy9vcGVyYXRpb25zLmg6CisgICAgICAgIChK
U0M6OnN0cmljdEVxdWFsU2xvd0Nhc2VJbmxpbmUpOiBWZXJzaW9uIG9mIHN0cmljdEVxdWFsU2xv
d0Nhc2UgdGhhdCBjYW4gYmUgaW5saW5lZCwKKyAgICAgICAgc2luY2UgdGhlIGV4dHJhIGZ1bmN0
aW9uIGNhbGwgaW5kaXJlY3Rpb24gaXMgYSBsb3NlIGZvciBDVEkuCisKIDIwMDgtMDktMjAgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2ll
aiBTdGFjaG93aWFrLgpJbmRleDogVk0vTWFjaGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVk0vTWFj
aGluZS5jcHAJKHJldmlzaW9uIDM2NzI2KQorKysgVk0vTWFjaGluZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE2MjAsNyArMTYyMCw3IEBAIEpTVmFsdWUqIE1hY2hpbmU6OnByaXZhdGVFeGVjdXRl
KEV4ZWN1dGkKICAgICAgICAgSlNWYWx1ZSogc3JjMSA9IHJbKCsrdlBDKS0+dS5vcGVyYW5kXS5q
c1ZhbHVlKGV4ZWMpOwogICAgICAgICBKU1ZhbHVlKiBzcmMyID0gclsoKyt2UEMpLT51Lm9wZXJh
bmRdLmpzVmFsdWUoZXhlYyk7CiAgICAgICAgIGlmIChKU0ltbWVkaWF0ZTo6YXJlQm90aEltbWVk
aWF0ZShzcmMxLCBzcmMyKSkKLSAgICAgICAgICAgIHJbZHN0XSA9IGpzQm9vbGVhbihyZWludGVy
cHJldF9jYXN0PGludHB0cl90PihzcmMxKSA9PSByZWludGVycHJldF9jYXN0PGludHB0cl90Pihz
cmMyKSk7CisgICAgICAgICAgICByW2RzdF09IGpzQm9vbGVhbihyZWludGVycHJldF9jYXN0PGlu
dHB0cl90PihzcmMxKSA9PSByZWludGVycHJldF9jYXN0PGludHB0cl90PihzcmMyKSk7CiAgICAg
ICAgIGVsc2UgaWYgKEpTSW1tZWRpYXRlOjppc0VpdGhlckltbWVkaWF0ZShzcmMxLCBzcmMyKSAm
IChzcmMxICE9IEpTSW1tZWRpYXRlOjp6ZXJvSW1tZWRpYXRlKCkpICYgKHNyYzIgIT0gSlNJbW1l
ZGlhdGU6Onplcm9JbW1lZGlhdGUoKSkpCiAgICAgICAgICAgICByW2RzdF0gPSBqc0Jvb2xlYW4o
ZmFsc2UpOwogICAgICAgICBlbHNlCkBAIC01MzAxLDEzICs1MzAxLDEwIEBAIEpTVmFsdWUqIE1h
Y2hpbmU6OmN0aV9vcF9zdHJpY3RlcShDVElfQVIKIAogICAgIGlmIChKU0ltbWVkaWF0ZTo6YXJl
Qm90aEltbWVkaWF0ZShzcmMxLCBzcmMyKSkKICAgICAgICAgcmV0dXJuIGpzQm9vbGVhbihyZWlu
dGVycHJldF9jYXN0PGludHB0cl90PihzcmMxKSA9PSByZWludGVycHJldF9jYXN0PGludHB0cl90
PihzcmMyKSk7Ci0gICAgaWYgKEpTSW1tZWRpYXRlOjppc0VpdGhlckltbWVkaWF0ZShzcmMxLCBz
cmMyKSAmIChzcmMxICE9IEpTSW1tZWRpYXRlOjpmcm9tKDApKSAmIChzcmMyICE9IEpTSW1tZWRp
YXRlOjpmcm9tKDApKSkKKyAgICBpZiAoSlNJbW1lZGlhdGU6OmlzRWl0aGVySW1tZWRpYXRlKHNy
YzEsIHNyYzIpICYgKHNyYzEgIT0gSlNJbW1lZGlhdGU6Onplcm9JbW1lZGlhdGUoKSkgJiAoc3Jj
MiAhPSBKU0ltbWVkaWF0ZTo6emVyb0ltbWVkaWF0ZSgpKSkKICAgICAgICAgcmV0dXJuIGpzQm9v
bGVhbihmYWxzZSk7CiAKLSAgICBFeGVjU3RhdGUqIGV4ZWMgPSBBUkdfZXhlYzsKLSAgICBKU1Zh
bHVlKiByZXN1bHQgPSBqc0Jvb2xlYW4oc3RyaWN0RXF1YWxTbG93Q2FzZShzcmMxLCBzcmMyKSk7
Ci0gICAgVk1fQ0hFQ0tfRVhDRVBUSU9OX0FUX0VORCgpOwotICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgcmV0dXJuIGpzQm9vbGVhbihzdHJpY3RFcXVhbFNsb3dDYXNlSW5saW5lKHNyYzEsIHNyYzIp
KTsKIH0KIAogSlNWYWx1ZSogTWFjaGluZTo6Y3RpX29wX25zdHJpY3RlcShDVElfQVJHUykKQEAg
LTUzMTcsMTMgKzUzMTQsMTAgQEAgSlNWYWx1ZSogTWFjaGluZTo6Y3RpX29wX25zdHJpY3RlcShD
VElfQQogCiAgICAgaWYgKEpTSW1tZWRpYXRlOjphcmVCb3RoSW1tZWRpYXRlKHNyYzEsIHNyYzIp
KQogICAgICAgICByZXR1cm4ganNCb29sZWFuKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHNy
YzEpICE9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHNyYzIpKTsKLSAgICBpZiAoSlNJbW1l
ZGlhdGU6OmlzRWl0aGVySW1tZWRpYXRlKHNyYzEsIHNyYzIpICYgKHNyYzEgIT0gSlNJbW1lZGlh
dGU6OmZyb20oMCkpICYgKHNyYzIgIT0gSlNJbW1lZGlhdGU6OmZyb20oMCkpKQorICAgIGlmIChK
U0ltbWVkaWF0ZTo6aXNFaXRoZXJJbW1lZGlhdGUoc3JjMSwgc3JjMikgJiAoc3JjMSAhPSBKU0lt
bWVkaWF0ZTo6emVyb0ltbWVkaWF0ZSgpKSAmIChzcmMyICE9IEpTSW1tZWRpYXRlOjp6ZXJvSW1t
ZWRpYXRlKCkpKQogICAgICAgICByZXR1cm4ganNCb29sZWFuKHRydWUpOwogICAgIAotICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IEFSR19leGVjOwotICAgIEpTVmFsdWUqIHJlc3VsdCA9IGpzQm9vbGVh
bighc3RyaWN0RXF1YWxTbG93Q2FzZShzcmMxLCBzcmMyKSk7Ci0gICAgVk1fQ0hFQ0tfRVhDRVBU
SU9OX0FUX0VORCgpOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGpzQm9vbGVhbigh
c3RyaWN0RXF1YWxTbG93Q2FzZUlubGluZShzcmMxLCBzcmMyKSk7CiB9CiAKIEpTVmFsdWUqIE1h
Y2hpbmU6OmN0aV9vcF90b19qc251bWJlcihDVElfQVJHUykKSW5kZXg6IGtqcy9vcGVyYXRpb25z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBranMvb3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDM2NzI2KQor
Kysga2pzL29wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsMzYgKzEwNywxMiBA
QCBib29sIHN0cmljdEVxdWFsKEpTVmFsdWUqIHYxLCBKU1ZhbHVlKiB2CiAgICAgaWYgKEpTSW1t
ZWRpYXRlOjppc0VpdGhlckltbWVkaWF0ZSh2MSwgdjIpICYgKHYxICE9IEpTSW1tZWRpYXRlOjpm
cm9tKDApKSAmICh2MiAhPSBKU0ltbWVkaWF0ZTo6ZnJvbSgwKSkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgIHJldHVybiBzdHJpY3RFcXVhbFNsb3dDYXNlKHYxLCB2Mik7CisgICAgcmV0
dXJuIHN0cmljdEVxdWFsU2xvd0Nhc2VJbmxpbmUodjEsIHYyKTsKIH0KIAogYm9vbCBzdHJpY3RF
cXVhbFNsb3dDYXNlKEpTVmFsdWUqIHYxLCBKU1ZhbHVlKiB2MikKIHsKLSAgICBBU1NFUlQoIUpT
SW1tZWRpYXRlOjphcmVCb3RoSW1tZWRpYXRlKHYxLCB2MikpOwotCi0gICAgaWYgKEpTSW1tZWRp
YXRlOjppc0VpdGhlckltbWVkaWF0ZSh2MSwgdjIpKSB7Ci0gICAgICAgIC8vIHBvaW50ZXJzIGNh
bid0IGJlIGVxdWFsIHNpbmNlIG9uZSBpcyBpbW1lZGlhdGUgYW5kIG9uZSBpc24ndAotICAgICAg
ICBBU1NFUlQodjEgIT0gdjIpOwotICAgICAgICBBU1NFUlQodjEgPT0gSlNJbW1lZGlhdGU6Onpl
cm9JbW1lZGlhdGUoKSB8fCB2MiA9PSBKU0ltbWVkaWF0ZTo6emVyb0ltbWVkaWF0ZSgpKTsKLQot
ICAgICAgICAvLyBUaGUgcmVhc29uIHdlIGNhbid0IGp1c3QgcmV0dXJuIGZhbHNlIGhlcmUgaXMg
dGhhdCAwID09PSAtMCwKLSAgICAgICAgLy8gYW5kIHdoaWxlIHRoZSBmb3JtZXIgaXMgYW4gaW1t
ZWRpYXRlIG51bWJlciwgdGhlIGxhdHRlciBpcyBub3QuCi0gICAgICAgIGlmICh2MSA9PSBKU0lt
bWVkaWF0ZTo6emVyb0ltbWVkaWF0ZSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PEpTQ2VsbCo+KHYyKS0+aXNOdW1iZXIoKSAmJiBzdGF0aWNfY2FzdDxKU051bWJlckNlbGwqPih2
MiktPnZhbHVlKCkgPT0gMDsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTQ2VsbCo+KHYx
KS0+aXNOdW1iZXIoKSAmJiBzdGF0aWNfY2FzdDxKU051bWJlckNlbGwqPih2MSktPnZhbHVlKCkg
PT0gMDsKLSAgICB9Ci0KLSAgICBpZiAoc3RhdGljX2Nhc3Q8SlNDZWxsKj4odjEpLT5pc051bWJl
cigpKSB7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NlbGwqPih2MiktPmlzTnVtYmVy
KCkKLSAgICAgICAgICAgICYmIHN0YXRpY19jYXN0PEpTTnVtYmVyQ2VsbCo+KHYxKS0+dmFsdWUo
KSA9PSBzdGF0aWNfY2FzdDxKU051bWJlckNlbGwqPih2MiktPnZhbHVlKCk7Ci0gICAgfQotCi0g
ICAgaWYgKHN0YXRpY19jYXN0PEpTQ2VsbCo+KHYxKS0+aXNTdHJpbmcoKSkgewotICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8SlNDZWxsKj4odjIpLT5pc1N0cmluZygpCi0gICAgICAgICAgICAm
JiBzdGF0aWNfY2FzdDxKU1N0cmluZyo+KHYxKS0+dmFsdWUoKSA9PSBzdGF0aWNfY2FzdDxKU1N0
cmluZyo+KHYyKS0+dmFsdWUoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdjEgPT0gdjI7CisgICAg
cmV0dXJuIHN0cmljdEVxdWFsU2xvd0Nhc2VJbmxpbmUodjEsIHYyKTsKIH0KIAogSlNWYWx1ZSog
dGhyb3dPdXRPZk1lbW9yeUVycm9yKEV4ZWNTdGF0ZSogZXhlYykKSW5kZXg6IGtqcy9vcGVyYXRp
b25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0ga2pzL29wZXJhdGlvbnMuaAkocmV2aXNpb24gMzY3MjYpCisr
KyBranMvb3BlcmF0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCwzNSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgYm9vbCBlcXVhbChFeGVjU3RhdGUqLCBKU1ZhbHVlKiwgSlNWYWx1ZSop
OwogICBib29sIHN0cmljdEVxdWFsKEpTVmFsdWUqLCBKU1ZhbHVlKik7CiAgIGJvb2wgc3RyaWN0
RXF1YWxTbG93Q2FzZShKU1ZhbHVlKiwgSlNWYWx1ZSopOworCisgIGlubGluZSBib29sIHN0cmlj
dEVxdWFsU2xvd0Nhc2VJbmxpbmUoSlNWYWx1ZSogdjEsIEpTVmFsdWUqIHYyKQorICB7CisgICAg
ICBBU1NFUlQoIUpTSW1tZWRpYXRlOjphcmVCb3RoSW1tZWRpYXRlKHYxLCB2MikpOworICAgICAg
CisgICAgICBpZiAoSlNJbW1lZGlhdGU6OmlzRWl0aGVySW1tZWRpYXRlKHYxLCB2MikpIHsKKyAg
ICAgICAgICBBU1NFUlQodjEgPT0gSlNJbW1lZGlhdGU6Onplcm9JbW1lZGlhdGUoKSB8fCB2MiA9
PSBKU0ltbWVkaWF0ZTo6emVyb0ltbWVkaWF0ZSgpKTsKKyAgICAgICAgICBBU1NFUlQodjEgIT0g
djIpOworCisgICAgICAgICAgLy8gVGhlIHJlYXNvbiB3ZSBjYW4ndCBqdXN0IHJldHVybiBmYWxz
ZSBoZXJlIGlzIHRoYXQgMCA9PT0gLTAsCisgICAgICAgICAgLy8gYW5kIHdoaWxlIHRoZSBmb3Jt
ZXIgaXMgYW4gaW1tZWRpYXRlIG51bWJlciwgdGhlIGxhdHRlciBpcyBub3QuCisgICAgICAgICAg
aWYgKHYxID09IEpTSW1tZWRpYXRlOjp6ZXJvSW1tZWRpYXRlKCkpCisgICAgICAgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxKU0NlbGwqPih2MiktPmlzTnVtYmVyKCkgJiYgc3RhdGljX2Nhc3Q8
SlNOdW1iZXJDZWxsKj4odjIpLT52YWx1ZSgpID09IDA7CisgICAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEpTQ2VsbCo+KHYxKS0+aXNOdW1iZXIoKSAmJiBzdGF0aWNfY2FzdDxKU051bWJlckNl
bGwqPih2MSktPnZhbHVlKCkgPT0gMDsKKyAgICAgIH0KKyAgICAgIAorICAgICAgaWYgKHN0YXRp
Y19jYXN0PEpTQ2VsbCo+KHYxKS0+aXNOdW1iZXIoKSkgeworICAgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxKU0NlbGwqPih2MiktPmlzTnVtYmVyKCkKKyAgICAgICAgICAgICAgJiYgc3RhdGlj
X2Nhc3Q8SlNOdW1iZXJDZWxsKj4odjEpLT52YWx1ZSgpID09IHN0YXRpY19jYXN0PEpTTnVtYmVy
Q2VsbCo+KHYyKS0+dmFsdWUoKTsKKyAgICAgIH0KKworICAgICAgaWYgKHN0YXRpY19jYXN0PEpT
Q2VsbCo+KHYxKS0+aXNTdHJpbmcoKSkgeworICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxK
U0NlbGwqPih2MiktPmlzU3RyaW5nKCkKKyAgICAgICAgICAgICAgJiYgc3RhdGljX2Nhc3Q8SlNT
dHJpbmcqPih2MSktPnZhbHVlKCkgPT0gc3RhdGljX2Nhc3Q8SlNTdHJpbmcqPih2MiktPnZhbHVl
KCk7CisgICAgICB9CisKKyAgICAgIHJldHVybiB2MSA9PSB2MjsKKyAgfQorCiAgIEpTVmFsdWUq
IHRocm93T3V0T2ZNZW1vcnlFcnJvcihFeGVjU3RhdGUqKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23624</attachid>
            <date>2008-09-21 03:29:44 -0700</date>
            <delta_ts>2008-09-21 03:36:46 -0700</delta_ts>
            <desc>inline JIT the fast paths of the strict equal operator</desc>
            <filename>stricteq-more-jit.txt</filename>
            <type>text/plain</type>
            <size>8089</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM2NzM2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDgtMDkt
MjEgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIC0gc3BlZWQgdXAgPT09IG9w
ZXJhdG9yIGJ5IGdlbmVyYXRpbmcgaW5saW5lIG1hY2hpbmUgY29kZSBmb3IgdGhlIGZhc3QgcGF0
aHMKKworICAgICAgICAqIFZNL0NUSS5jcHA6CisgICAgICAgIChKU0M6OkNUSTo6ZW1pdEp1bXBT
bG93Q2FzZUlmTm90SW1tZWRpYXRlTnVtYmVyKToKKyAgICAgICAgKEpTQzo6Q1RJOjplbWl0SnVt
cFNsb3dDYXNlSWZOb3RJbW1lZGlhdGVOdW1iZXJzKToKKyAgICAgICAgKEpTQzo6Q1RJOjplbWl0
SnVtcFNsb3dDYXNlSWZOb3RJbW1lZGlhdGVzKToKKyAgICAgICAgKEpTQzo6Q1RJOjplbWl0VGFn
QXNCb29sSW1tZWRpYXRlKToKKyAgICAgICAgKEpTQzo6Q1RJOjpwcml2YXRlQ29tcGlsZU1haW5Q
YXNzKToKKyAgICAgICAgKEpTQzo6Q1RJOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcyk6CisgICAg
ICAgICogVk0vQ1RJLmg6CisgICAgICAgICogVk0vTWFjaGluZS5jcHA6CisgICAgICAgIChKU0M6
Ok1hY2hpbmU6OmN0aV9vcF9zdHJpY3RlcSk6CisgICAgICAgICogbWFzbS9YODZBc3NlbWJsZXIu
aDoKKyAgICAgICAgKEpTQzo6WDg2QXNzZW1ibGVyOjopOgorICAgICAgICAoSlNDOjpYODZBc3Nl
bWJsZXI6OnNldGVfcik6CisgICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6c2V0el9yKToKKyAg
ICAgICAgKEpTQzo6WDg2QXNzZW1ibGVyOjptb3Z6YmxfcnIpOgorICAgICAgICAoSlNDOjpYODZB
c3NlbWJsZXI6OmVtaXRVbmxpbmtlZEpueik6CisKIDIwMDgtMDktMjEgIENhbWVyb24gWndhcmlj
aCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVq
IFN0YWNob3dpYWsuCkluZGV4OiBWTS9DVEkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFZNL0NUSS5jcHAJ
KHJldmlzaW9uIDM2NzM2KQorKysgVk0vQ1RJLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzg3LDYg
KzM4NywxMiBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgQ1RJOjplbWl0RmFzdEFyaXRoSW50CiAgICAg
ZW1pdEZhc3RBcml0aFJlVGFnSW1tZWRpYXRlKHJlZyk7CiB9CiAKK0FMV0FZU19JTkxJTkUgdm9p
ZCBDVEk6OmVtaXRUYWdBc0Jvb2xJbW1lZGlhdGUoWDg2QXNzZW1ibGVyOjpSZWdpc3RlcklEIHJl
ZykKK3sKKyAgICBtX2ppdC5zaGxfaThyKEpTSW1tZWRpYXRlOjpFeHRlbmRlZFBheWxvYWRTaGlm
dCwgcmVnKTsKKyAgICBtX2ppdC5vcmxfaTMycihKU0ltbWVkaWF0ZTo6RnVsbFRhZ1R5cGVCb29s
LCByZWcpOworfQorCiBDVEk6OkNUSShNYWNoaW5lKiBtYWNoaW5lLCBFeGVjU3RhdGUqIGV4ZWMs
IENvZGVCbG9jayogY29kZUJsb2NrKQogICAgIDogbV9qaXQobWFjaGluZS0+aml0Q29kZUJ1ZmZl
cigpKQogICAgICwgbV9tYWNoaW5lKG1hY2hpbmUpCkBAIC0xMzc0LDggKzEzODAsNjAgQEAgdm9p
ZCBDVEk6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBDVElfQ09NUElMRV9VTkFS
WV9PUChvcF9pc19zdHJpbmcpCiAgICAgICAgIENUSV9DT01QSUxFX1VOQVJZX09QKG9wX2lzX29i
amVjdCkKICAgICAgICAgQ1RJX0NPTVBJTEVfVU5BUllfT1Aob3BfaXNfZnVuY3Rpb24pCi0gICAg
ICAgIENUSV9DT01QSUxFX0JJTkFSWV9PUChvcF9zdHJpY3RlcSkKICAgICAgICAgQ1RJX0NPTVBJ
TEVfQklOQVJZX09QKG9wX25zdHJpY3RlcSkKKyAgICAgICAgY2FzZSBvcF9zdHJpY3RlcTogewor
ICAgICAgICAgICAgdW5zaWduZWQgZHN0ID0gaW5zdHJ1Y3Rpb25baSArIDFdLnUub3BlcmFuZDsK
KyAgICAgICAgICAgIHVuc2lnbmVkIHNyYzEgPSBpbnN0cnVjdGlvbltpICsgMl0udS5vcGVyYW5k
OworICAgICAgICAgICAgdW5zaWduZWQgc3JjMiA9IGluc3RydWN0aW9uW2kgKyAzXS51Lm9wZXJh
bmQ7CisKKyAgICAgICAgICAgIGVtaXRHZXRBcmcoc3JjMSwgWDg2OjplYXgpOworICAgICAgICAg
ICAgZW1pdEdldEFyZyhzcmMyLCBYODY6OmVkeCk7CisKKyAgICAgICAgICAgIG1faml0LnRlc3Rs
X2kzMnIoSlNJbW1lZGlhdGU6OlRhZ01hc2ssIFg4Njo6ZWF4KTsKKyAgICAgICAgICAgIFg4NkFz
c2VtYmxlcjo6Sm1wU3JjIGZpcnN0Tm90SW1tZWRpYXRlID0gbV9qaXQuZW1pdFVubGlua2VkSmUo
KTsKKyAgICAgICAgICAgIG1faml0LnRlc3RsX2kzMnIoSlNJbW1lZGlhdGU6OlRhZ01hc2ssIFg4
Njo6ZWR4KTsKKyAgICAgICAgICAgIFg4NkFzc2VtYmxlcjo6Sm1wU3JjIHNlY29uZE5vdEltbWVk
aWF0ZSA9IG1faml0LmVtaXRVbmxpbmtlZEplKCk7CisKKyAgICAgICAgICAgIG1faml0LmNtcGxf
cnIoWDg2OjplZHgsIFg4Njo6ZWF4KTsKKyAgICAgICAgICAgIG1faml0LnNldGVfcihYODY6OmVh
eCk7CisgICAgICAgICAgICBtX2ppdC5tb3Z6YmxfcnIoWDg2OjplYXgsIFg4Njo6ZWF4KTsKKyAg
ICAgICAgICAgIGVtaXRUYWdBc0Jvb2xJbW1lZGlhdGUoWDg2OjplYXgpOworICAgICAgICAgICAg
CisgICAgICAgICAgICBYODZBc3NlbWJsZXI6OkptcFNyYyBib3RoV2VyZUltbWVkaWF0ZXMgPSBt
X2ppdC5lbWl0VW5saW5rZWRKbXAoKTsKKworICAgICAgICAgICAgbV9qaXQubGluayhmaXJzdE5v
dEltbWVkaWF0ZSwgbV9qaXQubGFiZWwoKSk7CisKKyAgICAgICAgICAgIC8vIGNoZWNrIHRoYXQg
ZWR4IGlzIGltbWVkaWF0ZSBidXQgbm90IHRoZSB6ZXJvIGltbWVkaWF0ZQorICAgICAgICAgICAg
CisgICAgICAgICAgICBtX2ppdC50ZXN0bF9pMzJyKEpTSW1tZWRpYXRlOjpUYWdNYXNrLCBYODY6
OmVkeCk7CisgICAgICAgICAgICBtX2ppdC5zZXR6X3IoWDg2OjplY3gpOworICAgICAgICAgICAg
bV9qaXQubW92emJsX3JyKFg4Njo6ZWN4LCBYODY6OmVjeCk7IC8vIGVjeCBpcyBub3cgMSBpZiBl
ZHggd2FzIG5vbmltbWVkaWF0ZQorICAgICAgICAgICAgbV9qaXQuY21wbF9pMzJyKHJlaW50ZXJw
cmV0X2Nhc3Q8dWludDMyX3Q+KEpTSW1tZWRpYXRlOjp6ZXJvSW1tZWRpYXRlKCkpLCBYODY6OmVk
eCk7CisgICAgICAgICAgICBtX2ppdC5zZXRlX3IoWDg2OjplZHgpOworICAgICAgICAgICAgbV9q
aXQubW92emJsX3JyKFg4Njo6ZWR4LCBYODY6OmVkeCk7IC8vIGVkeCBpcyBub3cgMSBpZiBlZHgg
d2FzIHRoZSAwIGltbWVkaWF0ZQorICAgICAgICAgICAgbV9qaXQub3JsX3JyKFg4Njo6ZWN4LCBY
ODY6OmVkeCk7CisKKyAgICAgICAgICAgIG1fc2xvd0Nhc2VzLmFwcGVuZChTbG93Q2FzZUVudHJ5
KG1faml0LmVtaXRVbmxpbmtlZEpueigpLCBpKSk7CisKKyAgICAgICAgICAgIG1faml0Lm1vdmxf
aTMycihyZWludGVycHJldF9jYXN0PHVpbnQzMl90Pihqc0Jvb2xlYW4oZmFsc2UpKSwgWDg2Ojpl
YXgpOworCisgICAgICAgICAgICBYODZBc3NlbWJsZXI6OkptcFNyYyBmaXJzdFdhc05vdEltbWVk
aWF0ZSA9IG1faml0LmVtaXRVbmxpbmtlZEptcCgpOworCisgICAgICAgICAgICBtX2ppdC5saW5r
KHNlY29uZE5vdEltbWVkaWF0ZSwgbV9qaXQubGFiZWwoKSk7CisgICAgICAgICAgICAvLyBjaGVj
ayB0aGF0IGVheCBpcyBub3QgdGhlIHplcm8gaW1tZWRpYXRlICh3ZSBrbm93IGl0IG11c3QgYmUg
aW1tZWRpYXRlKQorICAgICAgICAgICAgbV9qaXQuY21wbF9pMzJyKHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDMyX3Q+KEpTSW1tZWRpYXRlOjp6ZXJvSW1tZWRpYXRlKCkpLCBYODY6OmVheCk7CisgICAg
ICAgICAgICBtX3Nsb3dDYXNlcy5hcHBlbmQoU2xvd0Nhc2VFbnRyeShtX2ppdC5lbWl0VW5saW5r
ZWRKZSgpLCBpKSk7CisKKyAgICAgICAgICAgIG1faml0Lm1vdmxfaTMycihyZWludGVycHJldF9j
YXN0PHVpbnQzMl90Pihqc0Jvb2xlYW4oZmFsc2UpKSwgWDg2OjplYXgpOworCisgICAgICAgICAg
ICBtX2ppdC5saW5rKGJvdGhXZXJlSW1tZWRpYXRlcywgbV9qaXQubGFiZWwoKSk7CisgICAgICAg
ICAgICBtX2ppdC5saW5rKGZpcnN0V2FzTm90SW1tZWRpYXRlLCBtX2ppdC5sYWJlbCgpKTsKKwor
ICAgICAgICAgICAgZW1pdFB1dFJlc3VsdChkc3QpOworICAgICAgICAgICAgCisgICAgICAgICAg
ICBpICs9IDQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBjYXNlIG9w
X3RvX2pzbnVtYmVyOiB7CiAgICAgICAgICAgICBlbWl0R2V0UHV0QXJnKGluc3RydWN0aW9uW2kg
KyAyXS51Lm9wZXJhbmQsIDAsIFg4Njo6ZWN4KTsKICAgICAgICAgICAgIGVtaXRDYWxsKGksIE1h
Y2hpbmU6OmN0aV9vcF90b19qc251bWJlcik7CkBAIC0xOTcyLDYgKzIwMzAsOCBAQCB2b2lkIENU
STo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMoKQogICAgICAgICAgICAgaSArPSA0OwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgQ1RJX0NPTVBJTEVfQklOQVJZX09QX1NM
T1dfQ0FTRShvcF9zdHJpY3RlcSk7CisKICAgICAgICAgY2FzZSBvcF9tb2Q6IHsKICAgICAgICAg
ICAgIFg4NkFzc2VtYmxlcjo6Sm1wU3JjIG5vdEltbTEgPSBpdGVyLT5mcm9tOwogICAgICAgICAg
ICAgWDg2QXNzZW1ibGVyOjpKbXBTcmMgbm90SW1tMiA9ICgrK2l0ZXIpLT5mcm9tOwpJbmRleDog
Vk0vQ1RJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVk0vQ1RJLmgJKHJldmlzaW9uIDM2NzM2KQorKysgVk0v
Q1RJLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3MCw2ICszNzAsOCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgdm9pZCBlbWl0RmFzdEFyaXRoSW50VG9JbW1PclNsb3dDYXNlKFg4NkFzc2VtYmxl
cjo6UmVnaXN0ZXJJRCwgdW5zaWduZWQgb3Bjb2RlSW5kZXgpOwogICAgICAgICB2b2lkIGVtaXRG
YXN0QXJpdGhJbnRUb0ltbU5vQ2hlY2soWDg2QXNzZW1ibGVyOjpSZWdpc3RlcklEKTsKIAorICAg
ICAgICB2b2lkIGVtaXRUYWdBc0Jvb2xJbW1lZGlhdGUoWDg2QXNzZW1ibGVyOjpSZWdpc3RlcklE
IHJlZyk7CisKICAgICAgICAgdm9pZCBlbWl0RGVidWdFeGNlcHRpb25DaGVjaygpOwogCiAgICAg
ICAgIFg4NkFzc2VtYmxlcjo6Sm1wU3JjIGVtaXRDYWxsKHVuc2lnbmVkIG9wY29kZUluZGV4LCBD
VElIZWxwZXJfaik7CkluZGV4OiBWTS9NYWNoaW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBWTS9NYWNo
aW5lLmNwcAkocmV2aXNpb24gMzY3MzYpCisrKyBWTS9NYWNoaW5lLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTI5OSwxMCArNTI5OSw5IEBAIEpTVmFsdWUqIE1hY2hpbmU6OmN0aV9vcF9zdHJpY3Rl
cShDVElfQVIKICAgICBKU1ZhbHVlKiBzcmMxID0gQVJHX3NyYzE7CiAgICAgSlNWYWx1ZSogc3Jj
MiA9IEFSR19zcmMyOwogCi0gICAgaWYgKEpTSW1tZWRpYXRlOjphcmVCb3RoSW1tZWRpYXRlKHNy
YzEsIHNyYzIpKQotICAgICAgICByZXR1cm4ganNCb29sZWFuKHJlaW50ZXJwcmV0X2Nhc3Q8aW50
cHRyX3Q+KHNyYzEpID09IHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHNyYzIpKTsKLSAgICBp
ZiAoSlNJbW1lZGlhdGU6OmlzRWl0aGVySW1tZWRpYXRlKHNyYzEsIHNyYzIpICYgKHNyYzEgIT0g
SlNJbW1lZGlhdGU6Onplcm9JbW1lZGlhdGUoKSkgJiAoc3JjMiAhPSBKU0ltbWVkaWF0ZTo6emVy
b0ltbWVkaWF0ZSgpKSkKLSAgICAgICAgcmV0dXJuIGpzQm9vbGVhbihmYWxzZSk7CisgICAgLy8g
aGFuZGxlZCBpbmxpbmUgYXMgZmFzdCBjYXNlcworICAgIEFTU0VSVCghSlNJbW1lZGlhdGU6OmFy
ZUJvdGhJbW1lZGlhdGUoc3JjMSwgc3JjMikpOworICAgIEFTU0VSVCghKEpTSW1tZWRpYXRlOjpp
c0VpdGhlckltbWVkaWF0ZShzcmMxLCBzcmMyKSAmIChzcmMxICE9IEpTSW1tZWRpYXRlOjp6ZXJv
SW1tZWRpYXRlKCkpICYgKHNyYzIgIT0gSlNJbW1lZGlhdGU6Onplcm9JbW1lZGlhdGUoKSkpKTsK
IAogICAgIHJldHVybiBqc0Jvb2xlYW4oc3RyaWN0RXF1YWxTbG93Q2FzZUlubGluZShzcmMxLCBz
cmMyKSk7CiB9CkluZGV4OiBtYXNtL1g4NkFzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG1hc20v
WDg2QXNzZW1ibGVyLmgJKHJldmlzaW9uIDM2NzM2KQorKysgbWFzbS9YODZBc3NlbWJsZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMTkxLDYgKzE5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgT1BfTEVB
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQsCiAgICAgICAgIE9QX0dST1VQMUFfRXYg
ICAgICAgICAgICAgICAgICAgPSAweDhGLAogICAgICAgICBPUF9DRFEgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMHg5OSwKKyAgICAgICAgT1BfU0VURSAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDB4OTQsCiAgICAgICAgIE9QX0dST1VQMl9FdkliICAgICAgICAgICAgICAgICAgPSAweEMx
LAogICAgICAgICBPUF9SRVQgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHhDMywKICAgICAg
ICAgT1BfR1JPVVAxMV9Fdkl6ICAgICAgICAgICAgICAgICA9IDB4QzcsCkBAIC0yMTQsNiArMjE1
LDcgQEAgcHVibGljOgogICAgICAgICBPUDJfSkdFX3JlbDMyICAgPSAweDhELAogICAgICAgICBP
UDJfSkxFX3JlbDMyICAgPSAweDhFLAogICAgICAgICBPUDJfSU1VTF9HdkV2ICAgPSAweEFGLAor
ICAgICAgICBPUDJfTU9WWlhfR3ZFYiAgPSAweEI2LAogICAgICAgICBPUDJfTU9WWlhfR3ZFdyAg
PSAweEI3LAogCiAgICAgICAgIEdST1VQMV9PUF9BREQgPSAwLApAQCAtMzg2LDYgKzM4OCwxOCBA
QCBwdWJsaWM6CiAgICAgICAgIGVtaXRNb2RSbV9ybXNpYihzcmMsIGJhc2UsIGluZGV4LCBzY2Fs
ZSk7CiAgICAgfQogCisgICAgdm9pZCBzZXRlX3IoUmVnaXN0ZXJJRCBkc3QpCisgICAgeworICAg
ICAgICBtX2J1ZmZlci0+cHV0Qnl0ZShPUF8yQllURV9FU0NBUEUpOworICAgICAgICBtX2J1ZmZl
ci0+cHV0Qnl0ZShPUF9TRVRFKTsKKyAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoTU9EUk0oMywg
MCwgZHN0KSk7CisgICAgfQorCisgICAgdm9pZCBzZXR6X3IoUmVnaXN0ZXJJRCBkc3QpCisgICAg
eworICAgICAgICBzZXRlX3IoZHN0KTsKKyAgICB9CisKICAgICB2b2lkIG9ybF9ycihSZWdpc3Rl
cklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCiAgICAgewogICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0
ZShPUF9PUl9Fdkd2KTsKQEAgLTU0NSw2ICs1NTksMTMgQEAgcHVibGljOgogICAgICAgICBlbWl0
TW9kUm1fcm1zaWIoZHN0LCBiYXNlLCBpbmRleCwgc2NhbGUsIG9mZnNldCk7CiAgICAgfQogCisg
ICAgdm9pZCBtb3Z6YmxfcnIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZHN0KQorICAgIHsK
KyAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoT1BfMkJZVEVfRVNDQVBFKTsKKyAgICAgICAgbV9i
dWZmZXItPnB1dEJ5dGUoT1AyX01PVlpYX0d2RWIpOworICAgICAgICBlbWl0TW9kUm1fcnIoZHN0
LCBzcmMpOworICAgIH0KKwogICAgIHZvaWQgbW92endsX21yKGludCBvZmZzZXQsIFJlZ2lzdGVy
SUQgYmFzZSwgUmVnaXN0ZXJJRCBkc3QpCiAgICAgewogICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0
ZShPUF8yQllURV9FU0NBUEUpOwpAQCAtNzAwLDYgKzcyMSwxMSBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiBKbXBTcmMobV9idWZmZXItPmdldE9mZnNldCgpKTsKICAgICB9CiAgICAgCisgICAg
Sm1wU3JjIGVtaXRVbmxpbmtlZEpueigpCisgICAgeworICAgICAgICByZXR1cm4gZW1pdFVubGlu
a2VkSm5lKCk7CisgICAgfQorCiAgICAgSm1wU3JjIGVtaXRVbmxpbmtlZEplKCkKICAgICB7CiAg
ICAgICAgIG1fYnVmZmVyLT5lbnN1cmVTcGFjZShNQVhfSU5TVFJVQ1RJT05fU0laRSk7Cg==
</data>
<flag name="review"
          id="10588"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>