<?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>38177</bug_id>
          
          <creation_ts>2010-04-26 23:57:50 -0700</creation_ts>
          <short_desc>Add specialized thunks for a char code related string functions</short_desc>
          <delta_ts>2010-04-27 11:42:30 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>217551</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-26 23:57:50 -0700</bug_when>
    <thetext>Add specialized thunks for a char code related string functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217553</commentid>
    <comment_count>1</comment_count>
      <attachid>54389</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-27 00:00:26 -0700</bug_when>
    <thetext>Created attachment 54389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217559</commentid>
    <comment_count>2</comment_count>
      <attachid>54389</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-04-27 00:14:35 -0700</bug_when>
    <thetext>Comment on attachment 54389
Patch

JavaScriptCore/ChangeLog:17
 +          (JSC::SpecializedThunkJIT::tagReturnAsJSCell):
I know this comment is a bit late, but I think the term &quot;thunk&quot; for these doesn&apos;t match standard usage. Doesn&apos;t match any of the definitions here: http://en.wikipedia.org/wiki/Thunk
I can&apos;t think of an accurate but brief term offhand. Maybe &quot;Stub&quot;, though we also have JIT stubs.

Patch otherwise looks correct. Please double-check that there is really a perf gain, if so, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217800</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-27 11:17:48 -0700</bug_when>
    <thetext>Committed r58317: &lt;http://trac.webkit.org/changeset/58317&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217807</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-27 11:42:30 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/58317 might have broken Qt Linux ARMv5 Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54389</attachid>
            <date>2010-04-27 00:00:26 -0700</date>
            <delta_ts>2010-04-27 00:14:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38177-20100427000025.patch</filename>
            <type>text/plain</type>
            <size>9469</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCAyYTM4OGVkOWU3YWNmZjRmZmQwOTkyZTlkNDZkMWVjZjZjNzQzZWJhLi45
MzViZWYxMDgyN2Y3MTk1MWI0NDkxMTRiOGYwYzJjNzM3NzAyN2RhIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsMzQgQEAKIDIwMTAtMDQtMjYgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3Bl
Y2lhbGl6ZWQgdGh1bmtzIGZvciBhIGNoYXIgY29kZSByZWxhdGVkIHN0cmluZyBmdW5jdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTc3CisK
KyAgICAgICAgVGhpcyBpcyBhIHNpbXBsZSBleHRlbnNpb24gdG8gbXkgcHJpb3IgcGF0Y2guICBC
YXNpY2FsbHkgaG9pc3QgdGhlCisgICAgICAgIGV4aXN0aW5nIGNoYXJhY3RlciBsb2FkaW5nIGxv
Z2ljIGZyb20gdGhlIGNoYXJDb2RlQXQgdGh1bmsgYW5kIGludG8KKyAgICAgICAgYSBoZWxwZXIg
ZnVuY3Rpb24sIHRoZW4gYWRkIGEgaGVscGVyIHRvIGxvYWQgc3RyaW5ncyBmcm9tIHRoZSBzbWFs
bAorICAgICAgICBzdHJpbmcgY2FjaGUuICBUaGlzIGFsbG93cyB0cml2aWFsIGltcGxlbWVudGF0
aW9ucyBvZiBmcm9tQ2hhckNvZGUKKyAgICAgICAgYW5kIGNoYXJBdC4gCisKKyAgICAgICAgKiBj
cmVhdGVfaGFzaF90YWJsZToKKyAgICAgICAgKiBqaXQvU3BlY2lhbGl6ZWRUaHVua0pJVC5oOgor
ICAgICAgICAoSlNDOjpTcGVjaWFsaXplZFRodW5rSklUOjpyZXR1cm5KU0NlbGwpOgorICAgICAg
ICAoSlNDOjpTcGVjaWFsaXplZFRodW5rSklUOjp0YWdSZXR1cm5Bc0pTQ2VsbCk6CisgICAgICAg
ICogaml0L1RodW5rR2VuZXJhdG9ycy5jcHA6CisgICAgICAgIChKU0M6OnN0cmluZ0NoYXJMb2Fk
KToKKyAgICAgICAgKEpTQzo6Y2hhclRvU3RyaW5nKToKKyAgICAgICAgKEpTQzo6Y2hhckNvZGVB
dFRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6Y2hhckF0VGh1bmtHZW5lcmF0b3IpOgor
ICAgICAgICAoSlNDOjpmcm9tQ2hhckNvZGVUaHVua0dlbmVyYXRvcik6CisgICAgICAgICogaml0
L1RodW5rR2VuZXJhdG9ycy5oOgorICAgICAgICAqIHJ1bnRpbWUvU21hbGxTdHJpbmdzLmg6Cisg
ICAgICAgIChKU0M6OlNtYWxsU3RyaW5nczo6c2luZ2xlQ2hhcmFjdGVyU3RyaW5ncyk6CisgICAg
ICAgICogcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OlN0cmlu
Z0NvbnN0cnVjdG9yOjpTdHJpbmdDb25zdHJ1Y3Rvcik6CisKKzIwMTAtMDQtMjYgIE9saXZlciBI
dW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKwogICAgICAgICBGaXggd2luZG93cwogCiAgICAgICAg
ICogaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaDoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2NyZWF0ZV9oYXNoX3RhYmxlIGIvSmF2YVNjcmlwdENvcmUvY3JlYXRlX2hhc2hfdGFibGUKaW5k
ZXggOGNkMWVjZDVlYjc2ZGFiNGUxOGMyNmUzMTViZTZhMjFjNDE5NzM5MC4uZjA5MWFiOWM2MDlk
MmZhNTgxYzVhZDg1MTM4NzBlN2QxMDY4NjgxZCAxMDA3NTUKLS0tIGEvSmF2YVNjcmlwdENvcmUv
Y3JlYXRlX2hhc2hfdGFibGUKKysrIGIvSmF2YVNjcmlwdENvcmUvY3JlYXRlX2hhc2hfdGFibGUK
QEAgLTI3NSw2ICsyNzUsOSBAQCBzdWIgb3V0cHV0KCkgewogICAgICAgICBpZiAoJGtleSBlcSAi
Y2hhckNvZGVBdCIpIHsKICAgICAgICAgICAgICR0aHVua0dlbmVyYXRvciA9ICJjaGFyQ29kZUF0
VGh1bmtHZW5lcmF0b3IiOwogICAgICAgICB9CisgICAgICAgIGlmICgka2V5IGVxICJjaGFyQXQi
KSB7CisgICAgICAgICAgICAkdGh1bmtHZW5lcmF0b3IgPSAiY2hhckF0VGh1bmtHZW5lcmF0b3Ii
OworICAgICAgICB9CiAgICAgICAgIHByaW50ICIgICB7IFwiJGtleVwiLCAkYXR0cnNbJGldLCAo
aW50cHRyX3QpIiAuICRjYXN0U3RyIC4gIigkZmlyc3RWYWx1ZSksIChpbnRwdHJfdCkkc2Vjb25k
VmFsdWUgVEhVTktfR0VORVJBVE9SKCR0aHVua0dlbmVyYXRvcikgfSxcbiI7CiAgICAgICAgICRp
Kys7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L1NwZWNpYWxpemVkVGh1
bmtKSVQuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9TcGVjaWFsaXplZFRodW5rSklULmgKaW5kZXgg
N2U2Njk4OTk5MjFkY2I0YjE2ODNjMTc3YjdlMzU0NDdlZjJjN2E3ZS4uNWY4OGFjNGIyNjVlMWNh
ODEzYjViMTQwMzEzNzBlMWYxYjEwMDA2YiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0
L1NwZWNpYWxpemVkVGh1bmtKSVQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvU3BlY2lhbGl6
ZWRUaHVua0pJVC5oCkBAIC03OCw2ICs3OCwxNSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
ICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3RlciwgUmVnaXN0ZXJGaWxlOjpDYWxs
ZXJGcmFtZSAqIChpbnQpc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAg
ICAgICAgICAgIHJldCgpOwogICAgICAgICB9CisKKyAgICAgICAgdm9pZCByZXR1cm5KU0NlbGwo
UmVnaXN0ZXJJRCBzcmMpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChzcmMgIT0gcmVnVDAp
CisgICAgICAgICAgICAgICAgbW92ZShzcmMsIHJlZ1QwKTsKKyAgICAgICAgICAgIHRhZ1JldHVy
bkFzSlNDZWxsKCk7CisgICAgICAgICAgICBsb2FkUHRyKEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0
ZXIsIFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJhbWUgKiAoaW50KXNpemVvZihSZWdpc3RlcikpLCBj
YWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAgICAgICByZXQoKTsKKyAgICAgICAgfQogICAgICAg
ICAKICAgICAgICAgUGFzc1JlZlB0cjxOYXRpdmVFeGVjdXRhYmxlPiBmaW5hbGl6ZSgpCiAgICAg
ICAgIHsKQEAgLTEwNiw2ICsxMTUsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAjZW5kaWYKICAgICAg
ICAgfQogICAgICAgICAKKyAgICAgICAgdm9pZCB0YWdSZXR1cm5Bc0pTQ2VsbCgpCisgICAgICAg
IHsKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgbW92ZShJbW0zMihKU1ZhbHVl
OjpDZWxsVGFnKSwgcmVnVDEpOworI2VuZGlmCisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAg
IGludCBtX2V4cGVjdGVkQXJnQ291bnQ7CiAgICAgICAgIEpTR2xvYmFsRGF0YSogbV9nbG9iYWxE
YXRhOwogICAgICAgICBSZWZQdHI8RXhlY3V0YWJsZVBvb2w+IG1fcG9vbDsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwIGIvSmF2YVNjcmlwdENvcmUv
aml0L1RodW5rR2VuZXJhdG9ycy5jcHAKaW5kZXggZjc0NTc1NGI1ZGQ0NDVkNTg1NDg4YTAyZjdj
MDhkYmRkZWYyM2U2Ny4uNDNmMjM1M2Y4NmMzNjUwY2Y5MzIzMGEwYzZiNWZiZGMzMmY5YjgwNiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKKysrIGIv
SmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKQEAgLTM3LDExICszNyw5IEBA
IHN0cnVjdCBUaHVua0hlbHBlcnMgewogICAgIHN0YXRpYyB1bnNpZ25lZCBqc1N0cmluZ0xlbmd0
aE9mZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1N0cmluZywgbV9sZW5ndGgpOyB9
CiAgICAgc3RhdGljIHVuc2lnbmVkIGpzU3RyaW5nVmFsdWVPZmZzZXQoKSB7IHJldHVybiBPQkpF
Q1RfT0ZGU0VUT0YoSlNTdHJpbmcsIG1fdmFsdWUpOyB9CiB9OwotICAgIAotUGFzc1JlZlB0cjxO
YXRpdmVFeGVjdXRhYmxlPiBjaGFyQ29kZUF0VGh1bmtHZW5lcmF0b3IoSlNHbG9iYWxEYXRhKiBn
bG9iYWxEYXRhLCBFeGVjdXRhYmxlUG9vbCogcG9vbCkKKworc3RhdGljIHZvaWQgc3RyaW5nQ2hh
ckxvYWQoU3BlY2lhbGl6ZWRUaHVua0pJVCYgaml0KQogewotICAgIFNwZWNpYWxpemVkVGh1bmtK
SVQgaml0KDEsIGdsb2JhbERhdGEsIHBvb2wpOwotICAgIAogICAgIC8vIGxvYWQgc3RyaW5nCiAg
ICAgaml0LmxvYWRKU1N0cmluZ0FyZ3VtZW50KFNwZWNpYWxpemVkVGh1bmtKSVQ6OlRoaXNBcmd1
bWVudCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOwogICAgIC8vIHJlZ1QwIG5vdyBjb250
YWlucyB0aGlzLCBhbmQgaXMgYSBub24tcm9wZSBKU1N0cmluZyoKQEAgLTUwLDE5ICs0OCw1MiBA
QCBQYXNzUmVmUHRyPE5hdGl2ZUV4ZWN1dGFibGU+IGNoYXJDb2RlQXRUaHVua0dlbmVyYXRvcihK
U0dsb2JhbERhdGEqIGdsb2JhbERhdGEsCiAgICAgaml0LmxvYWQzMihNYWNyb0Fzc2VtYmxlcjo6
QWRkcmVzcyhTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCwgVGh1bmtIZWxwZXJzOjpqc1N0cmlu
Z0xlbmd0aE9mZnNldCgpKSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDIpOwogICAgIGppdC5s
b2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1Qw
LCBUaHVua0hlbHBlcnM6OmpzU3RyaW5nVmFsdWVPZmZzZXQoKSksIFNwZWNpYWxpemVkVGh1bmtK
SVQ6OnJlZ1QwKTsKICAgICBqaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhTcGVj
aWFsaXplZFRodW5rSklUOjpyZWdUMCwgVGh1bmtIZWxwZXJzOjpzdHJpbmdJbXBsRGF0YU9mZnNl
dCgpKSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOwotICAgIAorCiAgICAgLy8gbG9hZCBp
bmRleAogICAgIGppdC5sb2FkSW50MzJBcmd1bWVudCgwLCBTcGVjaWFsaXplZFRodW5rSklUOjpy
ZWdUMSk7IC8vIHJlZ1QxIGNvbnRhaW5zIHRoZSBpbmRleAotICAgIAorCiAgICAgLy8gRG8gYW4g
dW5zaWduZWQgY29tcGFyZSB0byBzaW11bHRhbmVvdXNseSBmaWx0ZXIgbmVnYXRpdmUgaW5kaWNl
cyBhcyB3ZWxsIGFzIGluZGljZXMgdGhhdCBhcmUgdG9vIGxhcmdlCiAgICAgaml0LmFwcGVuZEZh
aWx1cmUoaml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpBYm92ZU9yRXF1YWwsIFNwZWNpYWxp
emVkVGh1bmtKSVQ6OnJlZ1QxLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMikpOwotICAgIAor
CiAgICAgLy8gTG9hZCB0aGUgY2hhcmFjdGVyCiAgICAgaml0LmxvYWQxNihNYWNyb0Fzc2VtYmxl
cjo6QmFzZUluZGV4KFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBTcGVjaWFsaXplZFRodW5r
SklUOjpyZWdUMSwgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzVHdvLCAwKSwgU3BlY2lhbGl6ZWRUaHVu
a0pJVDo6cmVnVDApOworfQorCitzdGF0aWMgdm9pZCBjaGFyVG9TdHJpbmcoU3BlY2lhbGl6ZWRU
aHVua0pJVCYgaml0LCBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIE1hY3JvQXNzZW1ibGVyOjpS
ZWdpc3RlcklEIHNyYywgTWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQgZHN0LCBNYWNyb0Fzc2Vt
Ymxlcjo6UmVnaXN0ZXJJRCBzY3JhdGNoKQoreworICAgIGppdC5hcHBlbmRGYWlsdXJlKGppdC5i
cmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QWJvdmVPckVxdWFsLCBzcmMsIE1hY3JvQXNzZW1ibGVy
OjpJbW0zMigweDEwMCkpKTsKKyAgICBqaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6SW1tUHRyKGds
b2JhbERhdGEtPnNtYWxsU3RyaW5ncy5zaW5nbGVDaGFyYWN0ZXJTdHJpbmdzKCkpLCBzY3JhdGNo
KTsKKyAgICBqaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KHNjcmF0Y2gsIHNy
YywgTWFjcm9Bc3NlbWJsZXI6OlNjYWxlUHRyLCAwKSwgZHN0KTsKKyAgICBqaXQuYXBwZW5kRmFp
bHVyZShqaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgZHN0KSk7Cit9CisK
K1Bhc3NSZWZQdHI8TmF0aXZlRXhlY3V0YWJsZT4gY2hhckNvZGVBdFRodW5rR2VuZXJhdG9yKEpT
R2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgRXhlY3V0YWJsZVBvb2wqIHBvb2wpCit7CisgICAgU3Bl
Y2lhbGl6ZWRUaHVua0pJVCBqaXQoMSwgZ2xvYmFsRGF0YSwgcG9vbCk7CisgICAgc3RyaW5nQ2hh
ckxvYWQoaml0KTsKICAgICBqaXQucmV0dXJuSW50MzIoU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVn
VDApOwogICAgIHJldHVybiBqaXQuZmluYWxpemUoKTsKIH0KIAorUGFzc1JlZlB0cjxOYXRpdmVF
eGVjdXRhYmxlPiBjaGFyQXRUaHVua0dlbmVyYXRvcihKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEs
IEV4ZWN1dGFibGVQb29sKiBwb29sKQoreworICAgIFNwZWNpYWxpemVkVGh1bmtKSVQgaml0KDEs
IGdsb2JhbERhdGEsIHBvb2wpOworICAgIHN0cmluZ0NoYXJMb2FkKGppdCk7CisgICAgY2hhclRv
U3RyaW5nKGppdCwgZ2xvYmFsRGF0YSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDAsIFNwZWNp
YWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMSk7CisgICAg
aml0LnJldHVybkpTQ2VsbChTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7CisgICAgcmV0dXJu
IGppdC5maW5hbGl6ZSgpOworfQorCitQYXNzUmVmUHRyPE5hdGl2ZUV4ZWN1dGFibGU+IGZyb21D
aGFyQ29kZVRodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgRXhlY3V0YWJs
ZVBvb2wqIHBvb2wpCit7CisgICAgU3BlY2lhbGl6ZWRUaHVua0pJVCBqaXQoMSwgZ2xvYmFsRGF0
YSwgcG9vbCk7CisgICAgLy8gbG9hZCBjaGFyIGNvZGUKKyAgICBqaXQubG9hZEludDMyQXJndW1l
bnQoMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOworICAgIGNoYXJUb1N0cmluZyhqaXQs
IGdsb2JhbERhdGEsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBTcGVjaWFsaXplZFRodW5r
SklUOjpyZWdUMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDEpOworICAgIGppdC5yZXR1cm5K
U0NlbGwoU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOworICAgIHJldHVybiBqaXQuZmluYWxp
emUoKTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVu
a0dlbmVyYXRvcnMuaAppbmRleCBhNTJiZTQ2NTcyN2JkNDYzMjE1YWYwM2IzMjE3ZTFhMDAzYTAz
ZWFmLi41MzI0YTA5NzNlODk1YzAzMmJkOWY2ODM0Y2YyNjc3NGU0ZTc2NzhlIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaml0L1RodW5rR2VuZXJhdG9ycy5oCkBAIC0zNiw2ICszNiw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgdHlwZWRlZiBQYXNzUmVmUHRyPE5hdGl2ZUV4ZWN1dGFibGU+ICgqVGh1bmtHZW5l
cmF0b3IpKEpTR2xvYmFsRGF0YSosIEV4ZWN1dGFibGVQb29sKik7CiAgICAgUGFzc1JlZlB0cjxO
YXRpdmVFeGVjdXRhYmxlPiBjaGFyQ29kZUF0VGh1bmtHZW5lcmF0b3IoSlNHbG9iYWxEYXRhKiwg
RXhlY3V0YWJsZVBvb2wqKTsKKyAgICBQYXNzUmVmUHRyPE5hdGl2ZUV4ZWN1dGFibGU+IGNoYXJB
dFRodW5rR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSosIEV4ZWN1dGFibGVQb29sKik7CisgICAgUGFz
c1JlZlB0cjxOYXRpdmVFeGVjdXRhYmxlPiBmcm9tQ2hhckNvZGVUaHVua0dlbmVyYXRvcihKU0ds
b2JhbERhdGEqLCBFeGVjdXRhYmxlUG9vbCopOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGNjMTFkMGFjZTVjMWU1NmNjZjg4NTMwNGQyY2NkY2Q0
ODQzZjhmOTcuLmJjMzM3Yzk5NTgwNmQzNWMxYWYxMTFjNTY5Mzc2MGRlMTIyZDNkNTQgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaApAQCAtNjAsNyArNjAsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgdm9pZCBjbGVhcigpOwogCiAgICAgICAgIHVuc2lnbmVkIGNvdW50
KCkgY29uc3Q7Ci0KKyNpZiBFTkFCTEUoSklUKQorICAgICAgICBKU1N0cmluZyoqIHNpbmdsZUNo
YXJhY3RlclN0cmluZ3MoKSB7IHJldHVybiBtX3NpbmdsZUNoYXJhY3RlclN0cmluZ3M7IH0KKyNl
bmRpZgogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgY3JlYXRlRW1wdHlTdHJpbmcoSlNHbG9i
YWxEYXRhKik7CiAgICAgICAgIHZvaWQgY3JlYXRlU2luZ2xlQ2hhcmFjdGVyU3RyaW5nKEpTR2xv
YmFsRGF0YSosIHVuc2lnbmVkIGNoYXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmlu
Z0NvbnN0cnVjdG9yLmNwcAppbmRleCBjN2I2MmJmYzgxYTA1Zjc3MzQ2YTIyMTFiMWQ5YmVmOGJi
OTg5NjE0Li40MmY5OGMzZGViYjgwYjJjNmNlZWMxMDQxODMxNDk4ZjMzMmRlOTdlIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcApAQCAtNTQsOCArNTQs
MTEgQEAgU3RyaW5nQ29uc3RydWN0b3I6OlN0cmluZ0NvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhl
YywgTm9uTnVsbFBhc3NSZWZQdHI8U3RydWN0dXIKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbihleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBzdHJpbmdQcm90b3R5cGUsIFJl
YWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKIAogICAgIC8vIEVDTUEgMTUuNS4zLjIg
ZnJvbUNoYXJDb2RlKCkKKyNpZiBFTkFCTEUoSklUKQorICAgIHB1dERpcmVjdEZ1bmN0aW9uV2l0
aG91dFRyYW5zaXRpb24oZXhlYywgbmV3IChleGVjKSBOYXRpdmVGdW5jdGlvbldyYXBwZXIoZXhl
YywgcHJvdG90eXBlRnVuY3Rpb25TdHJ1Y3R1cmUsIDEsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5m
cm9tQ2hhckNvZGUsIGV4ZWMtPmdsb2JhbERhdGEoKS5nZXRUaHVuayhmcm9tQ2hhckNvZGVUaHVu
a0dlbmVyYXRvciksIHN0cmluZ0Zyb21DaGFyQ29kZSksIERvbnRFbnVtKTsKKyNlbHNlCiAgICAg
cHV0RGlyZWN0RnVuY3Rpb25XaXRob3V0VHJhbnNpdGlvbihleGVjLCBuZXcgKGV4ZWMpIE5hdGl2
ZUZ1bmN0aW9uV3JhcHBlcihleGVjLCBwcm90b3R5cGVGdW5jdGlvblN0cnVjdHVyZSwgMSwgZXhl
Yy0+cHJvcGVydHlOYW1lcygpLmZyb21DaGFyQ29kZSwgc3RyaW5nRnJvbUNoYXJDb2RlKSwgRG9u
dEVudW0pOwotCisjZW5kaWYKICAgICAvLyBuby4gb2YgYXJndW1lbnRzIGZvciBjb25zdHJ1Y3Rv
cgogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5s
ZW5ndGgsIGpzTnVtYmVyKGV4ZWMsIDEpLCBSZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0
ZSk7CiB9Cg==
</data>
<flag name="review"
          id="38347"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>