<?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>87820</bug_id>
          
          <creation_ts>2012-05-29 21:40:38 -0700</creation_ts>
          <short_desc>[V8][Performance] Optimize DOM attribute getters that return an empty string</short_desc>
          <delta_ts>2012-05-30 17:30:32 -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>WebCore JavaScript</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>
          
          <blocked>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>636827</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-29 21:40:38 -0700</bug_when>
    <thetext>We can optimize the performance of DOM attribute getters that return an empty string (e.g. div.id, div.className, div.title, div.lang ...etc)

- by passing Isolate to v8::String::Empty(); and
- by inlining V8Binding::getElementStringAttr()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636834</commentid>
    <comment_count>1</comment_count>
      <attachid>144698</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-29 21:48:02 -0700</bug_when>
    <thetext>Created attachment 144698
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637856</commentid>
    <comment_count>2</comment_count>
      <attachid>144698</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-30 17:30:28 -0700</bug_when>
    <thetext>Comment on attachment 144698
Patch

Clearing flags on attachment: 144698

Committed r119004: &lt;http://trac.webkit.org/changeset/119004&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637857</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-30 17:30:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144698</attachid>
            <date>2012-05-29 21:48:02 -0700</date>
            <delta_ts>2012-05-30 17:30:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87820-20120530134801.patch</filename>
            <type>text/plain</type>
            <size>8190</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRmYzNiY2MyMGRlNGRm
YzZiNTFmMGY2YTE4NjY1NTgzYTczMmJkYS4uYjVhYWMxYmI0YjdiOGM1OGFmOWE4YjBlZmJhMmEz
NGFlNzkzZWMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDEyLTA1LTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBPcHRpbWl6ZSBET00gYXR0cmlidXRlIGdldHRlcnMgdGhhdCByZXR1cm4gYW4gZW1wdHkg
c3RyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
NzgyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggb3B0aW1pemVzIHRoZSBwZXJmb3JtYW5jZSBvZiBET00gYXR0cmlidXRlIGdldHRl
cnMgdGhhdCByZXR1cm4gYW4KKyAgICAgICAgZW1wdHkgc3RyaW5nIGJ5IDY1LjglIChlLmcuIGRp
di5pZCwgZGl2LmNsYXNzTmFtZSwgZGl2LnRpdGxlLCBkaXYubGFuZyAuLi5ldGMpCisKKyAgICAg
ICAgUGVyZm9ybWFuY2UgdGVzdDogQmluZGluZ3MvdW5kZWZpbmVkLWlkLWdldHRlci5odG1sCisK
KyAgICAgICAgW1dpdGhvdXQgdGhlIHBhdGNoXQorICAgICAgICBSRVNVTFQgQmluZGluZ3M6IHVu
ZGVmaW5lZC1pZC1nZXR0ZXI9IDQ0MS45ODQ2Njk2NDQgcnVucy9zCisgICAgICAgIG1lZGlhbj0g
NDQ1LjU0NDU1NDQ1NSBydW5zL3MsIHN0ZGV2PSAxMS44NDA2MDcwOTU5IHJ1bnMvcywgbWluPSA0
MDUuMDYzMjkxMTM5IHJ1bnMvcywgbWF4PSA0NDcuMjA0OTY4OTQ0IHJ1bnMvcworCisgICAgICAg
IFtXaXRoIHRoZSBwYXRjaF0KKyAgICAgICAgUkVTVUxUIEJpbmRpbmdzOiB1bmRlZmluZWQtaWQt
Z2V0dGVyPSA3MzguODQwNDYwNDc0IHJ1bnMvcworICAgICAgICBtZWRpYW49IDczOC43ODYyNzk2
ODMgcnVucy9zLCBzdGRldj0gMi4wMDI0OTc5NzE2MSBydW5zL3MsIG1pbj0gNzMzLjk0NDk1NDEy
OCBydW5zL3MsIG1heD0gNzQxLjcyMTg1NDMwNSBydW5zL3MKKworICAgICAgICAtIFRoaXMgcGF0
Y2ggcGFzc2VzIElzb2xhdGUgdG8gdjg6OlN0cmluZzo6RW1wdHkoKSwgd2hpY2ggcmVtb3ZlcyBJ
c29sYXRlCisgICAgICAgIGxvb2stdXAgaW5zaWRlIHY4OjpTdHJpbmc6OkVtcHR5KCkuCisKKyAg
ICAgICAgLSBUaGlzIHBhdGNoIGlubGluZXMgVjhCaW5kaW5nOjpnZXRFbGVtZW50U3RyaW5nQXR0
cigpIGFuZAorICAgICAgICBWOEJpbmRpbmc6OnNldEVsZW1lbnRTdHJpbmdBdHRyKCkuCisKKyAg
ICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVOb3JtYWxB
dHRyR2V0dGVyKToKKyAgICAgICAgKEdlbmVyYXRlTm9ybWFsQXR0clNldHRlcik6CisgICAgICAg
ICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ0Nh
Y2hlOjp2OEV4dGVybmFsU3RyaW5nU2xvdyk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5k
aW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHJpbmdDYWNoZTo6djhFeHRlcm5hbFN0cmluZyk6
CisgICAgICAgIChTdHJpbmdDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjp2OEV4dGVybmFsU3Ry
aW5nKToKKyAgICAgICAgKFdlYkNvcmUpOgorCisyMDEyLTA1LTI5ICBLZW50YXJvIEhhcmEgIDxo
YXJha2VuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbVjhdIFJlbmFtZSB2OE51bGwoKSB0byB2
OE51bGxXaXRoQ2hlY2soKQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODc3MTMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCBmOTlmNzg0ZmI4OTgzOGIwYTIwM2RjZWMzODZlY2E5
NWNhMzdkYmRkLi41ODY5NDUwNWVkMWVjZWY1Zjc5NWY1OTZiODVlYmIxYzk0MDY5OTMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQpAQCAtODIyLDcgKzgyMiw4IEBAIEVORAogICAgICAgICAgICAgbXkgJGNvbnRlbnRBdHRyaWJ1
dGVOYW1lID0gJHJlZmxlY3QgZXEgIlZBTFVFX0lTX01JU1NJTkciID8gbGMgJGF0dHJOYW1lIDog
JHJlZmxlY3Q7CiAgICAgICAgICAgICBteSAkbmFtZXNwYWNlID0gJGNvZGVHZW5lcmF0b3ItPk5h
bWVzcGFjZUZvckF0dHJpYnV0ZU5hbWUoJGludGVyZmFjZU5hbWUsICRjb250ZW50QXR0cmlidXRl
TmFtZSk7CiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiJHtuYW1lc3BhY2V9LmgiKTsK
LSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgcmV0dXJuIGdldEVsZW1l
bnRTdHJpbmdBdHRyKGluZm8sICR7bmFtZXNwYWNlfTo6JHtjb250ZW50QXR0cmlidXRlTmFtZX1B
dHRyKTtcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICBFbGVt
ZW50KiBpbXAgPSBWOEVsZW1lbnQ6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpO1xuIik7CisgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIHJldHVybiB2OEV4dGVybmFsU3Ry
aW5nKGltcC0+Z2V0QXR0cmlidXRlKCR7bmFtZXNwYWNlfTo6JHtjb250ZW50QXR0cmlidXRlTmFt
ZX1BdHRyKSwgaW5mby5HZXRJc29sYXRlKCkpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudERlY2xzLCAifVxuXG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVj
bHMsICIjZW5kaWYgLy8gJHtjb25kaXRpb25hbFN0cmluZ31cblxuIikgaWYgJGNvbmRpdGlvbmFs
U3RyaW5nOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTA5Miw3ICsxMDkzLDkgQEAgRU5ECiAg
ICAgICAgICAgICBteSAkY29udGVudEF0dHJpYnV0ZU5hbWUgPSAkcmVmbGVjdCBlcSAiVkFMVUVf
SVNfTUlTU0lORyIgPyBsYyAkYXR0ck5hbWUgOiAkcmVmbGVjdDsKICAgICAgICAgICAgIG15ICRu
YW1lc3BhY2UgPSAkY29kZUdlbmVyYXRvci0+TmFtZXNwYWNlRm9yQXR0cmlidXRlTmFtZSgkaW50
ZXJmYWNlTmFtZSwgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgIEFkZFRvSW1w
bEluY2x1ZGVzKCIke25hbWVzcGFjZX0uaCIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnREZWNscywgIiAgICBzZXRFbGVtZW50U3RyaW5nQXR0cihpbmZvLCAke25hbWVzcGFjZX06OiR7
Y29udGVudEF0dHJpYnV0ZU5hbWV9QXR0ciwgdmFsdWUpO1xuIik7CisgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudERlY2xzLCAiICAgIEVsZW1lbnQqIGltcCA9IFY4RWxlbWVudDo6dG9OYXRp
dmUoaW5mby5Ib2xkZXIoKSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVj
bHMsICIgICAgQXRvbWljU3RyaW5nIHYgPSB0b0F0b21pY1dlYkNvcmVTdHJpbmdXaXRoTnVsbENo
ZWNrKHZhbHVlKTtcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAg
ICBpbXAtPnNldEF0dHJpYnV0ZSgke25hbWVzcGFjZX06OiR7Y29udGVudEF0dHJpYnV0ZU5hbWV9
QXR0ciwgdik7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJ9XG5c
biIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiNlbmRpZiAvLyAke2Nv
bmRpdGlvbmFsU3RyaW5nfVxuXG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7CiAgICAgICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAppbmRleCAy
ZGI3NmE4Yjg1MTBmYzZhY2YwZGQzMWI4N2NmYzYwODk2MTU4MjM3Li42ZTAzNmFjZTdiMjNhZTZj
ZjdkODVlMjIzZGI3Nzk1ZGU2ODZmMzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
QmluZGluZy5jcHAKQEAgLTQ0OCwxMCArNDQ4LDEwIEBAIHZvaWQgU3RyaW5nQ2FjaGU6OnJlbW92
ZShTdHJpbmdJbXBsKiBzdHJpbmdJbXBsKQogICAgIG1fc3RyaW5nQ2FjaGUucmVtb3ZlKHN0cmlu
Z0ltcGwpOwogfQogCi12ODo6TG9jYWw8djg6OlN0cmluZz4gU3RyaW5nQ2FjaGU6OnY4RXh0ZXJu
YWxTdHJpbmdTbG93KFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwpCit2ODo6TG9jYWw8djg6OlN0cmlu
Zz4gU3RyaW5nQ2FjaGU6OnY4RXh0ZXJuYWxTdHJpbmdTbG93KFN0cmluZ0ltcGwqIHN0cmluZ0lt
cGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghc3RyaW5nSW1wbC0+bGVuZ3Ro
KCkpCi0gICAgICAgIHJldHVybiB2ODo6U3RyaW5nOjpFbXB0eSgpOworICAgICAgICByZXR1cm4g
aXNvbGF0ZSA/IHY4OjpTdHJpbmc6OkVtcHR5KGlzb2xhdGUpIDogdjg6OlN0cmluZzo6RW1wdHko
KTsKIAogICAgIHY4OjpTdHJpbmcqIGNhY2hlZFY4U3RyaW5nID0gbV9zdHJpbmdDYWNoZS5nZXQo
c3RyaW5nSW1wbCk7CiAgICAgaWYgKGNhY2hlZFY4U3RyaW5nKSB7CkBAIC01NDcsMjIgKzU0Nyw2
IEBAIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBnZXRUb1N0cmluZ1RlbXBs
YXRlKCkKICAgICByZXR1cm4gdG9TdHJpbmdUZW1wbGF0ZTsKIH0KICAgICAKLXY4OjpIYW5kbGU8
djg6OlZhbHVlPiBnZXRFbGVtZW50U3RyaW5nQXR0cihjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBp
bmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUpIAotewotICAgIEVsZW1lbnQqIGltcCA9IFY4RWxlbWVudDo6dG9O
YXRpdmUoaW5mby5Ib2xkZXIoKSk7Ci0gICAgcmV0dXJuIHY4RXh0ZXJuYWxTdHJpbmcoaW1wLT5n
ZXRBdHRyaWJ1dGUobmFtZSksIGluZm8uR2V0SXNvbGF0ZSgpKTsKLX0KLQotdm9pZCBzZXRFbGVt
ZW50U3RyaW5nQXR0cihjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSkKLXsKLSAgICBFbGVtZW50KiBp
bXAgPSBWOEVsZW1lbnQ6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIEF0b21pY1N0cmlu
ZyB2ID0gdG9BdG9taWNXZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayh2YWx1ZSk7Ci0gICAgaW1w
LT5zZXRBdHRyaWJ1dGUobmFtZSwgdik7Ci19Ci0KIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4g
djhWYWx1ZVRvV2ViQ29yZURPTVN0cmluZ0xpc3Qodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVl
KQogewogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4VmFsdWUodjg6OkxvY2FsPHY4OjpWYWx1
ZT46Ok5ldyh2YWx1ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhCaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaAppbmRl
eCAyOWQyNDMyZWEzYzBiZmVkZjg5MzE0Y2E3MzgzYTk0YzE0MDk3ZGY5Li5kZWVjODAxOGU2OTg5
MmQxNjUwMzRmYWFhM2NkYzIzODZiNjNlMTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEJpbmRpbmcuaApAQCAtNTksNyArNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHVi
bGljOgogICAgICAgICBTdHJpbmdDYWNoZSgpIHsgfQogCi0gICAgICAgIHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiB2OEV4dGVybmFsU3RyaW5nKFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwpIAorICAgICAg
ICB2ODo6TG9jYWw8djg6OlN0cmluZz4gdjhFeHRlcm5hbFN0cmluZyhTdHJpbmdJbXBsKiBzdHJp
bmdJbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKICAgICAgICAgewogICAgICAgICAgICAgaWYg
KG1fbGFzdFN0cmluZ0ltcGwuZ2V0KCkgPT0gc3RyaW5nSW1wbCkgewogICAgICAgICAgICAgICAg
IEFTU0VSVCghbV9sYXN0VjhTdHJpbmcuSXNOZWFyRGVhdGgoKSk7CkBAIC02Nyw3ICs2Nyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4
OjpTdHJpbmc+OjpOZXcobV9sYXN0VjhTdHJpbmcpOwogICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICByZXR1cm4gdjhFeHRlcm5hbFN0cmluZ1Nsb3coc3RyaW5nSW1wbCk7CisgICAgICAgICAg
ICByZXR1cm4gdjhFeHRlcm5hbFN0cmluZ1Nsb3coc3RyaW5nSW1wbCwgaXNvbGF0ZSk7CiAgICAg
ICAgIH0KIAogICAgICAgICB2b2lkIGNsZWFyT25HQygpIApAQCAtNzksNyArNzksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwqKTsKIAogICAg
IHByaXZhdGU6Ci0gICAgICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFsU3RyaW5n
U2xvdyhTdHJpbmdJbXBsKik7CisgICAgICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVy
bmFsU3RyaW5nU2xvdyhTdHJpbmdJbXBsKiwgdjg6Oklzb2xhdGUqKTsKIAogICAgICAgICBIYXNo
TWFwPFN0cmluZ0ltcGwqLCB2ODo6U3RyaW5nKj4gbV9zdHJpbmdDYWNoZTsKICAgICAgICAgdjg6
OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4gbV9sYXN0VjhTdHJpbmc7CkBAIC0yODEsMTAgKzI4MSwx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgewogICAgICAgICBTdHJpbmdJbXBsKiBzdHJp
bmdJbXBsID0gc3RyaW5nLmltcGwoKTsKICAgICAgICAgaWYgKCFzdHJpbmdJbXBsKQotICAgICAg
ICAgICAgcmV0dXJuIHY4OjpTdHJpbmc6OkVtcHR5KCk7CisgICAgICAgICAgICByZXR1cm4gaXNv
bGF0ZSA/IHY4OjpTdHJpbmc6OkVtcHR5KGlzb2xhdGUpIDogdjg6OlN0cmluZzo6RW1wdHkoKTsK
IAogICAgICAgICBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YSogZGF0YSA9IFY4QmluZGluZ1Blcklz
b2xhdGVEYXRhOjpjdXJyZW50KGlzb2xhdGUpOwotICAgICAgICByZXR1cm4gZGF0YS0+c3RyaW5n
Q2FjaGUoKS0+djhFeHRlcm5hbFN0cmluZyhzdHJpbmdJbXBsKTsKKyAgICAgICAgcmV0dXJuIGRh
dGEtPnN0cmluZ0NhY2hlKCktPnY4RXh0ZXJuYWxTdHJpbmcoc3RyaW5nSW1wbCwgaXNvbGF0ZSk7
CiAgICAgfQogCiAgICAgLy8gQ29udmVydCBhIHN0cmluZyB0byBhIFY4IHN0cmluZy4KQEAgLTQ3
NiwxMyArNDc2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCYXRjaGVkQ2FsbGJhY2sqLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY2FsbGJhY2tD
b3VudCk7CiAKLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZ2V0RWxlbWVudFN0cmluZ0F0dHIo
Y29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICB2b2lkIHNldEVsZW1l
bnRTdHJpbmdBdHRyKGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPik7Ci0KLQogICAgIHY4OjpQZXJzaXN0ZW50PHY4
OjpTdHJpbmc+IGdldFRvU3RyaW5nTmFtZSgpOwogICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5j
dGlvblRlbXBsYXRlPiBnZXRUb1N0cmluZ1RlbXBsYXRlKCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>