<?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>20819</bug_id>
          
          <creation_ts>2008-09-12 17:40:25 -0700</creation_ts>
          <short_desc>JSValue::isObject() is slow</short_desc>
          <delta_ts>2008-09-12 21:58:00 -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="Cameron Zwarich (cpst)">zwarich</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>91001</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-12 17:40:25 -0700</bug_when>
    <thetext>JSValue::isObject() shows up as 2.4% of the Shark profile for the V8 Earley-Boyer benchmark. The recent changes to property access should make this easier to implement efficiently.

I am assigning this to myself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91015</commentid>
    <comment_count>1</comment_count>
      <attachid>23386</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-12 19:37:34 -0700</bug_when>
    <thetext>Created attachment 23386
Patch that is a slowdown, but shouldn&apos;t be

This is a 0.7% speedup on SunSpider, but it is a regression on V8, including a small regression on Earley-Boyer and a large 6.4% regression on Richards. I don&apos;t really know what&apos;s up with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91020</commentid>
    <comment_count>2</comment_count>
      <attachid>23388</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-12 21:31:46 -0700</bug_when>
    <thetext>Created attachment 23388
Proposed patch

This patch that also does the same thing for JSCell::isString() is a 0.7% speedup on SunSpider and a 1.0% speedup on the V8 benchmark suite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91021</commentid>
    <comment_count>3</comment_count>
      <attachid>23388</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-09-12 21:32:54 -0700</bug_when>
    <thetext>Comment on attachment 23388
Proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91023</commentid>
    <comment_count>4</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-12 21:58:00 -0700</bug_when>
    <thetext>Landed in r36368.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23386</attachid>
            <date>2008-09-12 19:37:34 -0700</date>
            <delta_ts>2008-09-12 21:31:46 -0700</delta_ts>
            <desc>Patch that is a slowdown, but shouldn&apos;t be</desc>
            <filename>isobject.diff</filename>
            <type>text/plain</type>
            <size>3428</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlLmV4cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS5l
eHAJKHJldmlzaW9uIDM2MzY1KQorKysgSmF2YVNjcmlwdENvcmUuZXhwCSh3b3JraW5nIGNvcHkp
CkBAIC0yOTgsNyArMjk4LDYgQEAgX19aTkszSlNDNkpTQ2VsbDEydG9UaGlzU3RyaW5nRVBOU185
RXhlYwogX19aTkszSlNDNkpTQ2VsbDE0aXNHZXR0ZXJTZXR0ZXJFdgogX19aTkszSlNDNkpTQ2Vs
bDE3Z2V0VHJ1bmNhdGVkSW50MzJFUmkKIF9fWk5LM0pTQzZKU0NlbGwxOGdldFRydW5jYXRlZFVJ
bnQzMkVSagotX19aTkszSlNDNkpTQ2VsbDhpc09iamVjdEV2CiBfX1pOSzNKU0M2SlNDZWxsOGlz
U3RyaW5nRXYKIF9fWk5LM0pTQzZKU0NlbGw5Y2xhc3NJbmZvRXYKIF9fWk5LM0pTQzZKU0NlbGw5
Z2V0TnVtYmVyRXYKQEAgLTMyNSw3ICszMjQsNiBAQCBfX1pOSzNKU0M4SlNPYmplY3QxMnRvVGhp
c09iamVjdEVQTlNfOUV4CiBfX1pOSzNKU0M4SlNPYmplY3QxNHRvR2xvYmFsT2JqZWN0RVBOU185
RXhlY1N0YXRlRQogX19aTkszSlNDOEpTT2JqZWN0MjFnZXRQcm9wZXJ0eUF0dHJpYnV0ZXNFUE5T
XzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUmoKIF9fWk5LM0pTQzhKU09iamVjdDIxaW1w
bGVtZW50c0hhc0luc3RhbmNlRXYKLV9fWk5LM0pTQzhKU09iamVjdDhpc09iamVjdEV2CiBfX1pO
SzNKU0M4SlNPYmplY3Q4dG9OdW1iZXJFUE5TXzlFeGVjU3RhdGVFCiBfX1pOSzNKU0M4SlNPYmpl
Y3Q4dG9PYmplY3RFUE5TXzlFeGVjU3RhdGVFCiBfX1pOSzNKU0M4SlNPYmplY3Q4dG9TdHJpbmdF
UE5TXzlFeGVjU3RhdGVFCkluZGV4OiBranMvSlNDZWxsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBranMv
SlNDZWxsLmNwcAkocmV2aXNpb24gMzYzNjUpCisrKyBranMvSlNDZWxsLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjI1LDkgKzIyNSw0IEBAIGJvb2wgSlNDZWxsOjppc0dldHRlclNldHRlcigpIGNv
bnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEpTQ2VsbDo6aXNPYmplY3QoKSBjb25z
dAotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBr
anMvSlNDZWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2pzL0pTQ2VsbC5oCShyZXZpc2lvbiAzNjM2NSkK
KysrIGtqcy9KU0NlbGwuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsOSArNDYsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFF1ZXJ5aW5nIHRoZSB0eXBlLgogICAg
ICAgICBib29sIGlzTnVtYmVyKCkgY29uc3Q7CisgICAgICAgIGJvb2wgaXNPYmplY3QoKSBjb25z
dDsKICAgICAgICAgdmlydHVhbCBib29sIGlzU3RyaW5nKCkgY29uc3Q7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0dldHRlclNldHRlcigpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNP
YmplY3QoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzT2JqZWN0KGNvbnN0IENsYXNz
SW5mbyopIGNvbnN0OwogCiAgICAgICAgIFN0cnVjdHVyZUlEKiBzdHJ1Y3R1cmVJRCgpIGNvbnN0
OwpAQCAtMTIxLDYgKzEyMSwxMSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIEhl
YXA6OmlzTnVtYmVyKGNvbnN0X2Nhc3Q8SlNDZWxsKj4odGhpcykpOwogICAgIH0KIAorICAgIGlu
bGluZSBib29sIEpTQ2VsbDo6aXNPYmplY3QoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1fc3RydWN0dXJlSUQtPnR5cGUoKSA9PSBPYmplY3RUeXBlOworICAgIH0KKwogICAgIGlubGlu
ZSBTdHJ1Y3R1cmVJRCogSlNDZWxsOjpzdHJ1Y3R1cmVJRCgpIGNvbnN0CiAgICAgewogICAgICAg
ICByZXR1cm4gbV9zdHJ1Y3R1cmVJRDsKSW5kZXg6IGtqcy9KU09iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0ga2pzL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMzYzNjUpCisrKyBranMvSlNPYmplY3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjEsMTEgKzUyMSw2IEBAIFN0cnVjdHVyZUlEKiBKU09i
amVjdDo6Y3JlYXRlSW5oZXJpdG9ySUQKICAgICByZXR1cm4gbV9pbmhlcml0b3JJRC5nZXQoKTsK
IH0KIAotYm9vbCBKU09iamVjdDo6aXNPYmplY3QoKSBjb25zdAotewotICAgIHJldHVybiB0cnVl
OwotfQotCiB2b2lkIEpTT2JqZWN0OjphbGxvY2F0ZVByb3BlcnR5U3RvcmFnZShzaXplX3Qgb2xk
U2l6ZSwgc2l6ZV90IG5ld1NpemUpCiB7CiAgICAgSlNWYWx1ZSoqIG9sZFByb3BlcnRTdG9yYWdl
ID0gbV9wcm9wZXJ0eVN0b3JhZ2U7CkluZGV4OiBranMvSlNPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBranMvSlNPYmplY3QuaAkocmV2aXNpb24gMzYzNjUpCisrKyBranMvSlNPYmplY3QuaAkod29y
a2luZyBjb3B5KQpAQCAtMTgyLDggKzE4Miw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBi
b29sIGdldE93blByb3BlcnR5U2xvdEZvcldyaXRlKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZp
ZXImLCBQcm9wZXJ0eVNsb3QmLCBib29sJiBzbG90SXNXcml0ZWFibGUpOwogCiAgICAgcHJpdmF0
ZToKLSAgICAgICAgdmlydHVhbCBib29sIGlzT2JqZWN0KCkgY29uc3Q7Ci0KICAgICAgICAgY29u
c3QgSGFzaEVudHJ5KiBmaW5kUHJvcGVydHlIYXNoRW50cnkoRXhlY1N0YXRlKiwgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lKSBjb25zdDsKICAgICAgICAgU3RydWN0dXJlSUQqIGNyZWF0
ZUluaGVyaXRvcklEKCk7CiAKSW5kZXg6IGtqcy9TdHJ1Y3R1cmVJRC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IGtqcy9TdHJ1Y3R1cmVJRC5oCShyZXZpc2lvbiAzNjM2NSkKKysrIGtqcy9TdHJ1Y3R1cmVJRC5o
CSh3b3JraW5nIGNvcHkpCkBAIC05Myw2ICs5Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
ICAgIGJvb2wgaXNEaWN0aW9uYXJ5KCkgY29uc3QgeyByZXR1cm4gbV9pc0RpY3Rpb25hcnk7IH0K
IAorICAgICAgICBKU1R5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorCiAgICAg
ICAgIEpTVmFsdWUqIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBl
OyB9CiAgICAgICAgIEpTVmFsdWUqIHByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqKTsgCiAg
ICAgICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23388</attachid>
            <date>2008-09-12 21:31:46 -0700</date>
            <delta_ts>2008-09-12 21:32:54 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>isobjectstring.diff</filename>
            <type>text/plain</type>
            <size>5823</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM2MzY3
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMDgtMDkt
MTIgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDIwODE5OiBKU1ZhbHVl
Ojppc09iamVjdCgpIGlzIHNsb3cKKyAgICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDgxOT4KKworICAgICAgICBPcHRpbWl6ZSBKU0NlbGw6OmlzT2JqZWN0
KCkgYW5kIEpTQ2VsbDo6aXNTdHJpbmcoKSBieSBtYWtpbmcgdGhlbQorICAgICAgICBub24tdmly
dHVhbCBjYWxscyB0aGF0IHJlbHkgb24gdGhlIFN0cnVjdHVyZUlEIHR5cGUgaW5mb3JtYXRpb24u
CisKKyAgICAgICAgVGhpcyBpcyBhIDAuNyUgc3BlZWR1cCBvbiBTdW5TcGlkZXIgYW5kIGEgMS4w
JSBzcGVlZHVwIG9uIHRoZSBWOAorICAgICAgICBiZW5jaG1hcmsgc3VpdGUuCisKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICoga2pzL0pTQ2VsbC5jcHA6CisgICAgICAg
ICoga2pzL0pTQ2VsbC5oOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmlzT2JqZWN0KToKKyAgICAg
ICAgKEpTQzo6SlNDZWxsOjppc1N0cmluZyk6CisgICAgICAgICoga2pzL0pTT2JqZWN0LmNwcDoK
KyAgICAgICAgKiBranMvSlNPYmplY3QuaDoKKyAgICAgICAgKiBranMvSlNTdHJpbmcuY3BwOgor
ICAgICAgICAqIGtqcy9KU1N0cmluZy5oOgorICAgICAgICAoSlNDOjpKU1N0cmluZzo6SlNTdHJp
bmcpOgorICAgICAgICAqIGtqcy9TdHJ1Y3R1cmVJRC5oOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1
cmVJRDo6dHlwZSk6CisKIDIwMDgtMDktMTEgIFN0ZXBoYW5pZSBMZXdpcyAgPHNsZXdpc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUuZXhwCShyZXZpc2lvbiAz
NjM2NSkKKysrIEphdmFTY3JpcHRDb3JlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtMjk4LDggKzI5
OCw2IEBAIF9fWk5LM0pTQzZKU0NlbGwxMnRvVGhpc1N0cmluZ0VQTlNfOUV4ZWMKIF9fWk5LM0pT
QzZKU0NlbGwxNGlzR2V0dGVyU2V0dGVyRXYKIF9fWk5LM0pTQzZKU0NlbGwxN2dldFRydW5jYXRl
ZEludDMyRVJpCiBfX1pOSzNKU0M2SlNDZWxsMThnZXRUcnVuY2F0ZWRVSW50MzJFUmoKLV9fWk5L
M0pTQzZKU0NlbGw4aXNPYmplY3RFdgotX19aTkszSlNDNkpTQ2VsbDhpc1N0cmluZ0V2CiBfX1pO
SzNKU0M2SlNDZWxsOWNsYXNzSW5mb0V2CiBfX1pOSzNKU0M2SlNDZWxsOWdldE51bWJlckV2CiBf
X1pOSzNKU0M2SlNDZWxsOWdldFN0cmluZ0VSTlNfN1VTdHJpbmdFCkBAIC0zMjUsNyArMzIzLDYg
QEAgX19aTkszSlNDOEpTT2JqZWN0MTJ0b1RoaXNPYmplY3RFUE5TXzlFeAogX19aTkszSlNDOEpT
T2JqZWN0MTR0b0dsb2JhbE9iamVjdEVQTlNfOUV4ZWNTdGF0ZUUKIF9fWk5LM0pTQzhKU09iamVj
dDIxZ2V0UHJvcGVydHlBdHRyaWJ1dGVzRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVy
RVJqCiBfX1pOSzNKU0M4SlNPYmplY3QyMWltcGxlbWVudHNIYXNJbnN0YW5jZUV2Ci1fX1pOSzNK
U0M4SlNPYmplY3Q4aXNPYmplY3RFdgogX19aTkszSlNDOEpTT2JqZWN0OHRvTnVtYmVyRVBOU185
RXhlY1N0YXRlRQogX19aTkszSlNDOEpTT2JqZWN0OHRvT2JqZWN0RVBOU185RXhlY1N0YXRlRQog
X19aTkszSlNDOEpTT2JqZWN0OHRvU3RyaW5nRVBOU185RXhlY1N0YXRlRQpJbmRleDoga2pzL0pT
Q2VsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0ga2pzL0pTQ2VsbC5jcHAJKHJldmlzaW9uIDM2MzY1KQor
Kysga2pzL0pTQ2VsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNSwxOSArMjE1LDkgQEAgSlNW
YWx1ZSogSlNDZWxsOjpnZXRKU051bWJlcigpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2wgSlND
ZWxsOjppc1N0cmluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBib29sIEpT
Q2VsbDo6aXNHZXR0ZXJTZXR0ZXIoKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKIH0KIAot
Ym9vbCBKU0NlbGw6OmlzT2JqZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0K
IH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDoga2pzL0pTQ2VsbC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtq
cy9KU0NlbGwuaAkocmV2aXNpb24gMzYzNjUpCisrKyBranMvSlNDZWxsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDkgKzQ2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgcHVibGljOgogICAgICAg
ICAvLyBRdWVyeWluZyB0aGUgdHlwZS4KICAgICAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0Owot
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTdHJpbmcoKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc1N0
cmluZygpIGNvbnN0OworICAgICAgICBib29sIGlzT2JqZWN0KCkgY29uc3Q7CiAgICAgICAgIHZp
cnR1YWwgYm9vbCBpc0dldHRlclNldHRlcigpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGJvb2wg
aXNPYmplY3QoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzT2JqZWN0KGNvbnN0IENs
YXNzSW5mbyopIGNvbnN0OwogCiAgICAgICAgIFN0cnVjdHVyZUlEKiBzdHJ1Y3R1cmVJRCgpIGNv
bnN0OwpAQCAtMTIxLDYgKzEyMSwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJu
IEhlYXA6OmlzTnVtYmVyKGNvbnN0X2Nhc3Q8SlNDZWxsKj4odGhpcykpOwogICAgIH0KIAorICAg
IGlubGluZSBib29sIEpTQ2VsbDo6aXNPYmplY3QoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1fc3RydWN0dXJlSUQtPnR5cGUoKSA9PSBPYmplY3RUeXBlOworICAgIH0KKworICAgIGlu
bGluZSBib29sIEpTQ2VsbDo6aXNTdHJpbmcoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1fc3RydWN0dXJlSUQtPnR5cGUoKSA9PSBTdHJpbmdUeXBlOworICAgIH0KKwogICAgIGlubGlu
ZSBTdHJ1Y3R1cmVJRCogSlNDZWxsOjpzdHJ1Y3R1cmVJRCgpIGNvbnN0CiAgICAgewogICAgICAg
ICByZXR1cm4gbV9zdHJ1Y3R1cmVJRDsKSW5kZXg6IGtqcy9KU09iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0ga2pzL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMzYzNjUpCisrKyBranMvSlNPYmplY3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjEsMTEgKzUyMSw2IEBAIFN0cnVjdHVyZUlEKiBKU09i
amVjdDo6Y3JlYXRlSW5oZXJpdG9ySUQKICAgICByZXR1cm4gbV9pbmhlcml0b3JJRC5nZXQoKTsK
IH0KIAotYm9vbCBKU09iamVjdDo6aXNPYmplY3QoKSBjb25zdAotewotICAgIHJldHVybiB0cnVl
OwotfQotCiB2b2lkIEpTT2JqZWN0OjphbGxvY2F0ZVByb3BlcnR5U3RvcmFnZShzaXplX3Qgb2xk
U2l6ZSwgc2l6ZV90IG5ld1NpemUpCiB7CiAgICAgSlNWYWx1ZSoqIG9sZFByb3BlcnRTdG9yYWdl
ID0gbV9wcm9wZXJ0eVN0b3JhZ2U7CkluZGV4OiBranMvSlNPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBranMvSlNPYmplY3QuaAkocmV2aXNpb24gMzYzNjUpCisrKyBranMvSlNPYmplY3QuaAkod29y
a2luZyBjb3B5KQpAQCAtMTgyLDggKzE4Miw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBi
b29sIGdldE93blByb3BlcnR5U2xvdEZvcldyaXRlKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZp
ZXImLCBQcm9wZXJ0eVNsb3QmLCBib29sJiBzbG90SXNXcml0ZWFibGUpOwogCiAgICAgcHJpdmF0
ZToKLSAgICAgICAgdmlydHVhbCBib29sIGlzT2JqZWN0KCkgY29uc3Q7Ci0KICAgICAgICAgY29u
c3QgSGFzaEVudHJ5KiBmaW5kUHJvcGVydHlIYXNoRW50cnkoRXhlY1N0YXRlKiwgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lKSBjb25zdDsKICAgICAgICAgU3RydWN0dXJlSUQqIGNyZWF0
ZUluaGVyaXRvcklEKCk7CiAKSW5kZXg6IGtqcy9KU1N0cmluZy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
a2pzL0pTU3RyaW5nLmNwcAkocmV2aXNpb24gMzYzNjUpCisrKyBranMvSlNTdHJpbmcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDksMTIgKzEwOSw2IEBAIGJvb2wgSlNTdHJpbmc6OmdldE93blBy
b3BlcnR5U2xvdChFeGVjU3QKICAgICByZXR1cm4gSlNTdHJpbmc6OmdldE93blByb3BlcnR5U2xv
dChleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4ZWMsIHByb3BlcnR5TmFtZSksIHNsb3QpOwogfQog
Ci1ib29sIEpTU3RyaW5nOjppc1N0cmluZygpIGNvbnN0Ci17Ci0gICAgLy8gRklYTUU6IENoYW5n
ZSBKU0NlbGw6OmlzU3RyaW5nIHRvIGEgbm9uLXZpcnR1YWwgaW1wbGVtZW50YXRpb24gbGlrZSB0
aGUgb25lIGluIE1hY2hpbmU6OmlzSlNTdHJpbmcuCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIEpT
U3RyaW5nKiBqc1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFVTdHJpbmcmIHMpCiB7CiAg
ICAgaW50IHNpemUgPSBzLnNpemUoKTsKSW5kZXg6IGtqcy9KU1N0cmluZy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIGtqcy9KU1N0cmluZy5oCShyZXZpc2lvbiAzNjM2NSkKKysrIGtqcy9KU1N0cmluZy5oCSh3
b3JraW5nIGNvcHkpCkBAIC04OCw3ICs4OCw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAg
ICAgOiBKU0NlbGwoMCkKICAgICAgICAgewogICAgICAgICB9Ci0gICAgICAgIHZpcnR1YWwgYm9v
bCBpc1N0cmluZygpIGNvbnN0OwogCiAgICAgICAgIHZpcnR1YWwgSlNWYWx1ZSogdG9QcmltaXRp
dmUoRXhlY1N0YXRlKiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSkgY29uc3Q7CiAgICAgICAgIHZp
cnR1YWwgYm9vbCBnZXRQcmltaXRpdmVOdW1iZXIoRXhlY1N0YXRlKiwgZG91YmxlJiBudW1iZXIs
IEpTVmFsdWUqJiB2YWx1ZSk7CkluZGV4OiBranMvU3RydWN0dXJlSUQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBranMvU3RydWN0dXJlSUQuaAkocmV2aXNpb24gMzYzNjUpCisrKyBranMvU3RydWN0dXJlSUQu
aAkod29ya2luZyBjb3B5KQpAQCAtOTMsNiArOTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICBib29sIGlzRGljdGlvbmFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNEaWN0aW9uYXJ5OyB9
CiAKKyAgICAgICAgSlNUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKwogICAg
ICAgICBKU1ZhbHVlKiBzdG9yZWRQcm90b3R5cGUoKSBjb25zdCB7IHJldHVybiBtX3Byb3RvdHlw
ZTsgfQogICAgICAgICBKU1ZhbHVlKiBwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKik7IAog
ICAgICAgICAK
</data>
<flag name="review"
          id="10433"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>