<?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>23239</bug_id>
          
          <creation_ts>2009-01-11 10:40:35 -0800</creation_ts>
          <short_desc>improve handling of unused arguments in JavaScriptCore</short_desc>
          <delta_ts>2009-01-11 13:58:45 -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>Mac</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>105236</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-11 10:40:35 -0800</bug_when>
    <thetext>By looking at places using the UNUSED_ARG macro in JavaScriptCore, I found a few places with room for improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105238</commentid>
    <comment_count>1</comment_count>
      <attachid>26606</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-11 10:55:08 -0800</bug_when>
    <thetext>Created attachment 26606
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105265</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-11 13:58:45 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/39809</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26606</attachid>
            <date>2009-01-11 10:55:08 -0800</date>
            <delta_ts>2009-01-11 13:02:24 -0800</delta_ts>
            <desc>patch</desc>
            <filename>JSCUnusedPatch.txt</filename>
            <type>text/plain</type>
            <size>14755</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM5Nzk3KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMDktMDEtMTEgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEJ1ZyAyMzIzOTogaW1wcm92ZSBoYW5kbGluZyBvZiB1bnVzZWQgYXJn
dW1lbnRzIGluIEphdmFTY3JpcHRDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzIzOQorCisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBl
LmNwcDogTW92ZWQgTG9jYWxlRGF0ZVRpbWVGb3JtYXQgZW51bSBvdXRzaWRlICNpZgorICAgICAg
ICBzbyB3ZSBjYW4gdXNlIHRoaXMgb24gYWxsIHBsYXRmb3Jtcy4gQ2hhbmdlZCB2YWx1ZU9mIHRv
IHNoYXJlIHRoZSBzYW1lCisgICAgICAgIGZ1bmN0aW9uIHdpdGggZ2V0VGltZSwgc2luY2UgdGhl
IGNvbnRlbnRzIG9mIHRoZSB0d28gYXJlIGlkZW50aWNhbC4gUmVtb3ZlZAorICAgICAgICBhIEZJ
WE1FIHNpbmNlIHRoZSBpZGVhIGlzbid0IHJlYWxseSBzcGVjaWZpYyBlbm91Z2ggb3IgaGVscGZ1
bCBlbm91Z2ggdG8KKyAgICAgICAgbmVlZCB0byBzaXQgaGVyZSBpbiB0aGUgc291cmNlIGNvZGUu
CisgICAgICAgIChKU0M6OmZvcm1hdExvY2FsZURhdGUpOiBDaGFuZ2VkIHRoZSBNYWMgdmVyc2lv
biBvZiB0aGlzIGZ1bmN0aW9uIHRvIHRha2UKKyAgICAgICAgdGhlIHNhbWUgYXJndW1lbnRzIGFz
IHRoZSBub24tTWFjIHZlcnNpb24gc28gdGhlIGNhbGxlciBkb2Vzbid0IGhhdmUgdG8KKyAgICAg
ICAgc3BlY2lhbC1jYXNlIHRoZSB0d28gcGxhdGZvcm1zLiBBbHNvIG1hZGUgdGhlIGZvcm1hdFN0
cmluZyBhcnJheSBiZSBjb25zdDsKKyAgICAgICAgYmVmb3JlIHRoZSBjaGFyYWN0ZXJzIHdlcmUs
IGJ1dCB0aGUgYXJyYXkgd2FzIGEgbW9kaWZpYWJsZSBnbG9iYWwgdmFyaWFibGUuCisgICAgICAg
IChKU0M6OmRhdGVQcm90b0Z1bmNUb0xvY2FsZVN0cmluZyk6IENoYW5nZWQgdG8gY2FsbCB0aGUg
bmV3IHVuaWZpZWQKKyAgICAgICAgdmVyc2lvbiBvZiBmb3JtYXRMb2NhbGVEYXRlIGFuZCByZW1v
dmUgdGhlIGlmZGVmLgorICAgICAgICAoSlNDOjpkYXRlUHJvdG9GdW5jVG9Mb2NhbGVEYXRlU3Ry
aW5nKTogRGl0dG8uCisgICAgICAgIChKU0M6OmRhdGVQcm90b0Z1bmNUb0xvY2FsZVRpbWVTdHJp
bmcpOiBEaXR0by4KKworICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHA6CisgICAg
ICAgIChKU0M6OkpTTm90QW5PYmplY3Q6OnRvT2JqZWN0KTogVXNlIHRoZSBuZXcgQVNTRVJUX1VO
VVNFRCBpbnN0ZWFkIG9mIHRoZQorICAgICAgICBvbGQgVU5VU0VEX1BBUkFNLgorCisgICAgICAg
ICogcnVudGltZS9SZWdFeHAuY3BwOgorICAgICAgICAoSlNDOjpSZWdFeHA6OlJlZ0V4cCk6IENo
YW5nZWQgdG8gb25seSB1c2UgVU5VU0VEX1BBUkFNIHdoZW4gdGhlIHBhcmFtZXRlcgorICAgICAg
ICBpcyBhY3R1YWxseSB1bnVzZWQuCisKKyAgICAgICAgKiB3dGYvVENTeXN0ZW1BbGxvYy5jcHA6
CisgICAgICAgIChUQ01hbGxvY19TeXN0ZW1SZWxlYXNlKTogQ2hhbmdlZCB0byBvbmx5IHVzZSBV
TlVTRURfUEFSQU0gd2hlbiB0aGUgcGFyYW1ldGVyCisgICAgICAgIGlzIGFjdHVhbGx5IHVudXNl
ZC4KKyAgICAgICAgKFRDTWFsbG9jX1N5c3RlbUNvbW1pdCk6IENoYW5nZWQgdG8gb21pdCB0aGUg
YXJndW1lbnQgbmFtZXMgaW5zdGVhZCBvZiB1c2luZworICAgICAgICBVTlVTRURfUEFSQU0uCisK
IDIwMDktMDEtMTEgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0RhdGVQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDM5Nzk3KQorKysgSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw2IEBA
IHN0YXRpYyBKU1ZhbHVlUHRyIGRhdGVQcm90b0Z1bmNUb0xvY2FsZVQKIHN0YXRpYyBKU1ZhbHVl
UHRyIGRhdGVQcm90b0Z1bmNUb1N0cmluZyhFeGVjU3RhdGUqLCBKU09iamVjdCosIEpTVmFsdWVQ
dHIsIGNvbnN0IEFyZ0xpc3QmKTsKIHN0YXRpYyBKU1ZhbHVlUHRyIGRhdGVQcm90b0Z1bmNUb1Rp
bWVTdHJpbmcoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBKU1ZhbHVlUHRyLCBjb25zdCBBcmdMaXN0
Jik7CiBzdGF0aWMgSlNWYWx1ZVB0ciBkYXRlUHJvdG9GdW5jVG9VVENTdHJpbmcoRXhlY1N0YXRl
KiwgSlNPYmplY3QqLCBKU1ZhbHVlUHRyLCBjb25zdCBBcmdMaXN0Jik7Ci1zdGF0aWMgSlNWYWx1
ZVB0ciBkYXRlUHJvdG9GdW5jVmFsdWVPZihFeGVjU3RhdGUqLCBKU09iamVjdCosIEpTVmFsdWVQ
dHIsIGNvbnN0IEFyZ0xpc3QmKTsKIAogfQogCkBAIC0xMDksOCArMTA4LDEzIEBAIHN0YXRpYyBK
U1ZhbHVlUHRyIGRhdGVQcm90b0Z1bmNWYWx1ZU9mKEUKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2Vu
dW0gTG9jYWxlRGF0ZVRpbWVGb3JtYXQgeyBMb2NhbGVEYXRlQW5kVGltZSwgTG9jYWxlRGF0ZSwg
TG9jYWxlVGltZSB9OworIAogI2lmIFBMQVRGT1JNKE1BQykKIAorLy8gRklYTUU6IFNpbmNlIHRo
aXMgaXMgc3VwZXJpb3IgdG8gdGhlIHN0cmZ0aW1lLWJhc2VkIHZlcnNpb24sIHdoeSBsaW1pdCB0
aGlzIHRvIFBMQVRGT1JNKE1BQyk/CisvLyBJbnN0ZWFkIHdlIHNob3VsZCBjb25zaWRlciB1c2lu
ZyB0aGlzIHdoZW5ldmVyIFBMQVRGT1JNKENGKSBpcyB0cnVlLgorCiBzdGF0aWMgQ0ZEYXRlRm9y
bWF0dGVyU3R5bGUgc3R5bGVGcm9tQXJnU3RyaW5nKGNvbnN0IFVTdHJpbmcmIHN0cmluZywgQ0ZE
YXRlRm9ybWF0dGVyU3R5bGUgZGVmYXVsdFN0eWxlKQogewogICAgIGlmIChzdHJpbmcgPT0gInNo
b3J0IikKQEAgLTEyNCwxMCArMTI4LDEwIEBAIHN0YXRpYyBDRkRhdGVGb3JtYXR0ZXJTdHlsZSBz
dHlsZUZyb21BcmcKICAgICByZXR1cm4gZGVmYXVsdFN0eWxlOwogfQogCi1zdGF0aWMgVVN0cmlu
ZyBmb3JtYXRMb2NhbGVEYXRlKEV4ZWNTdGF0ZSogZXhlYywgZG91YmxlIHRpbWUsIGJvb2wgaW5j
bHVkZURhdGUsIGJvb2wgaW5jbHVkZVRpbWUsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCitzdGF0aWMg
SlNDZWxsKiBmb3JtYXRMb2NhbGVEYXRlKEV4ZWNTdGF0ZSogZXhlYywgRGF0ZUluc3RhbmNlKiwg
ZG91YmxlIHRpbWVJbk1pbGxpc2Vjb25kcywgTG9jYWxlRGF0ZVRpbWVGb3JtYXQgZm9ybWF0LCBj
b25zdCBBcmdMaXN0JiBhcmdzKQogewotICAgIENGRGF0ZUZvcm1hdHRlclN0eWxlIGRhdGVTdHls
ZSA9IChpbmNsdWRlRGF0ZSA/IGtDRkRhdGVGb3JtYXR0ZXJMb25nU3R5bGUgOiBrQ0ZEYXRlRm9y
bWF0dGVyTm9TdHlsZSk7Ci0gICAgQ0ZEYXRlRm9ybWF0dGVyU3R5bGUgdGltZVN0eWxlID0gKGlu
Y2x1ZGVUaW1lID8ga0NGRGF0ZUZvcm1hdHRlckxvbmdTdHlsZSA6IGtDRkRhdGVGb3JtYXR0ZXJO
b1N0eWxlKTsKKyAgICBDRkRhdGVGb3JtYXR0ZXJTdHlsZSBkYXRlU3R5bGUgPSAoZm9ybWF0ICE9
IExvY2FsZVRpbWUgPyBrQ0ZEYXRlRm9ybWF0dGVyTG9uZ1N0eWxlIDoga0NGRGF0ZUZvcm1hdHRl
ck5vU3R5bGUpOworICAgIENGRGF0ZUZvcm1hdHRlclN0eWxlIHRpbWVTdHlsZSA9IChmb3JtYXQg
IT0gTG9jYWxlRGF0ZSA/IGtDRkRhdGVGb3JtYXR0ZXJMb25nU3R5bGUgOiBrQ0ZEYXRlRm9ybWF0
dGVyTm9TdHlsZSk7CiAKICAgICBib29sIHVzZUN1c3RvbUZvcm1hdCA9IGZhbHNlOwogICAgIFVT
dHJpbmcgY3VzdG9tRm9ybWF0U3RyaW5nOwpAQCAtMTM2LDEyICsxNDAsMTIgQEAgc3RhdGljIFVT
dHJpbmcgZm9ybWF0TG9jYWxlRGF0ZShFeGVjU3RhdAogICAgIGlmIChhcmcwU3RyaW5nID09ICJj
dXN0b20iICYmICFhcmdzLmF0KGV4ZWMsIDEpLT5pc1VuZGVmaW5lZCgpKSB7CiAgICAgICAgIHVz
ZUN1c3RvbUZvcm1hdCA9IHRydWU7CiAgICAgICAgIGN1c3RvbUZvcm1hdFN0cmluZyA9IGFyZ3Mu
YXQoZXhlYywgMSktPnRvU3RyaW5nKGV4ZWMpOwotICAgIH0gZWxzZSBpZiAoaW5jbHVkZURhdGUg
JiYgaW5jbHVkZVRpbWUgJiYgIWFyZ3MuYXQoZXhlYywgMSktPmlzVW5kZWZpbmVkKCkpIHsKKyAg
ICB9IGVsc2UgaWYgKGZvcm1hdCA9PSBMb2NhbGVEYXRlQW5kVGltZSAmJiAhYXJncy5hdChleGVj
LCAxKS0+aXNVbmRlZmluZWQoKSkgewogICAgICAgICBkYXRlU3R5bGUgPSBzdHlsZUZyb21BcmdT
dHJpbmcoYXJnMFN0cmluZywgZGF0ZVN0eWxlKTsKICAgICAgICAgdGltZVN0eWxlID0gc3R5bGVG
cm9tQXJnU3RyaW5nKGFyZ3MuYXQoZXhlYywgMSktPnRvU3RyaW5nKGV4ZWMpLCB0aW1lU3R5bGUp
OwotICAgIH0gZWxzZSBpZiAoaW5jbHVkZURhdGUgJiYgIWFyZ3MuYXQoZXhlYywgMCktPmlzVW5k
ZWZpbmVkKCkpCisgICAgfSBlbHNlIGlmIChmb3JtYXQgIT0gTG9jYWxlVGltZSAmJiAhYXJncy5h
dChleGVjLCAwKS0+aXNVbmRlZmluZWQoKSkKICAgICAgICAgZGF0ZVN0eWxlID0gc3R5bGVGcm9t
QXJnU3RyaW5nKGFyZzBTdHJpbmcsIGRhdGVTdHlsZSk7Ci0gICAgZWxzZSBpZiAoaW5jbHVkZVRp
bWUgJiYgIWFyZ3MuYXQoZXhlYywgMCktPmlzVW5kZWZpbmVkKCkpCisgICAgZWxzZSBpZiAoZm9y
bWF0ICE9IExvY2FsZURhdGUgJiYgIWFyZ3MuYXQoZXhlYywgMCktPmlzVW5kZWZpbmVkKCkpCiAg
ICAgICAgIHRpbWVTdHlsZSA9IHN0eWxlRnJvbUFyZ1N0cmluZyhhcmcwU3RyaW5nLCB0aW1lU3R5
bGUpOwogCiAgICAgQ0ZMb2NhbGVSZWYgbG9jYWxlID0gQ0ZMb2NhbGVDb3B5Q3VycmVudCgpOwpA
QCAtMTQ5LDEyICsxNTMsMTIgQEAgc3RhdGljIFVTdHJpbmcgZm9ybWF0TG9jYWxlRGF0ZShFeGVj
U3RhdAogICAgIENGUmVsZWFzZShsb2NhbGUpOwogCiAgICAgaWYgKHVzZUN1c3RvbUZvcm1hdCkg
ewotICAgICAgICBDRlN0cmluZ1JlZiBjdXN0b21Gb3JtYXRDRlN0cmluZyA9IENGU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgKFVuaUNoYXIgKiljdXN0b21Gb3JtYXRTdHJpbmcuZGF0YSgp
LCBjdXN0b21Gb3JtYXRTdHJpbmcuc2l6ZSgpKTsKKyAgICAgICAgQ0ZTdHJpbmdSZWYgY3VzdG9t
Rm9ybWF0Q0ZTdHJpbmcgPSBDRlN0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIGN1c3RvbUZv
cm1hdFN0cmluZy5kYXRhKCksIGN1c3RvbUZvcm1hdFN0cmluZy5zaXplKCkpOwogICAgICAgICBD
RkRhdGVGb3JtYXR0ZXJTZXRGb3JtYXQoZm9ybWF0dGVyLCBjdXN0b21Gb3JtYXRDRlN0cmluZyk7
CiAgICAgICAgIENGUmVsZWFzZShjdXN0b21Gb3JtYXRDRlN0cmluZyk7CiAgICAgfQogCi0gICAg
Q0ZTdHJpbmdSZWYgc3RyaW5nID0gQ0ZEYXRlRm9ybWF0dGVyQ3JlYXRlU3RyaW5nV2l0aEFic29s
dXRlVGltZSgwLCBmb3JtYXR0ZXIsIHRpbWUgLSBrQ0ZBYnNvbHV0ZVRpbWVJbnRlcnZhbFNpbmNl
MTk3MCk7CisgICAgQ0ZTdHJpbmdSZWYgc3RyaW5nID0gQ0ZEYXRlRm9ybWF0dGVyQ3JlYXRlU3Ry
aW5nV2l0aEFic29sdXRlVGltZSgwLCBmb3JtYXR0ZXIsIGZsb29yKHRpbWVJbk1pbGxpc2Vjb25k
cyAvIG1zUGVyU2Vjb25kKSAtIGtDRkFic29sdXRlVGltZUludGVydmFsU2luY2UxOTcwKTsKIAog
ICAgIENGUmVsZWFzZShmb3JtYXR0ZXIpOwogCkBAIC0xNjYsMjAgKzE3MCwxOCBAQCBzdGF0aWMg
VVN0cmluZyBmb3JtYXRMb2NhbGVEYXRlKEV4ZWNTdGF0CiAgICAgQVNTRVJUKGxlbmd0aCA8PSBi
dWZmZXJMZW5ndGgpOwogICAgIGlmIChsZW5ndGggPiBidWZmZXJMZW5ndGgpCiAgICAgICAgIGxl
bmd0aCA9IGJ1ZmZlckxlbmd0aDsKLSAgICBDRlN0cmluZ0dldENoYXJhY3RlcnMoc3RyaW5nLCBD
RlJhbmdlTWFrZSgwLCBsZW5ndGgpLCByZWludGVycHJldF9jYXN0PFVuaUNoYXIgKj4oYnVmZmVy
KSk7CisgICAgQ0ZTdHJpbmdHZXRDaGFyYWN0ZXJzKHN0cmluZywgQ0ZSYW5nZU1ha2UoMCwgbGVu
Z3RoKSwgYnVmZmVyKTsKIAogICAgIENGUmVsZWFzZShzdHJpbmcpOwogCi0gICAgcmV0dXJuIFVT
dHJpbmcoYnVmZmVyLCBsZW5ndGgpOworICAgIHJldHVybiBqc05vbnRyaXZpYWxTdHJpbmcoZXhl
YywgVVN0cmluZyhidWZmZXIsIGxlbmd0aCkpOwogfQogCi0jZWxzZQorI2Vsc2UgLy8gIVBMQVRG
T1JNKE1BQykKIAotZW51bSBMb2NhbGVEYXRlVGltZUZvcm1hdCB7IExvY2FsZURhdGVBbmRUaW1l
LCBMb2NhbGVEYXRlLCBMb2NhbGVUaW1lIH07Ci0gCi1zdGF0aWMgSlNDZWxsKiBmb3JtYXRMb2Nh
bGVEYXRlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUmIGdkdCwgY29u
c3QgTG9jYWxlRGF0ZVRpbWVGb3JtYXQgZm9ybWF0KQorc3RhdGljIEpTQ2VsbCogZm9ybWF0TG9j
YWxlRGF0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lJiBnZHQsIExv
Y2FsZURhdGVUaW1lRm9ybWF0IGZvcm1hdCkKIHsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogZm9y
bWF0U3RyaW5nc1tdID0geyIlI2MiLCAiJSN4IiwgIiVYIn07CisgICAgc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IGZvcm1hdFN0cmluZ3NbXSA9IHsgIiUjYyIsICIlI3giLCAiJVgiIH07CiAgCiAg
ICAgLy8gT2Zmc2V0IHllYXIgaWYgbmVlZGVkCiAgICAgc3RydWN0IHRtIGxvY2FsVE0gPSBnZHQ7
CkBAIC0yMTEsNyArMjEzLDE1IEBAIHN0YXRpYyBKU0NlbGwqIGZvcm1hdExvY2FsZURhdGUoRXhl
Y1N0YXQKICAgICByZXR1cm4ganNOb250cml2aWFsU3RyaW5nKGV4ZWMsIHRpbWVidWZmZXIpOwog
fQogCi0jZW5kaWYgLy8gUExBVEZPUk0oV0lOX09TKQorc3RhdGljIEpTQ2VsbCogZm9ybWF0TG9j
YWxlRGF0ZShFeGVjU3RhdGUqIGV4ZWMsIERhdGVJbnN0YW5jZSogZGF0ZU9iamVjdCwgZG91Ymxl
IHRpbWVJbk1pbGxpc2Vjb25kcywgTG9jYWxlRGF0ZVRpbWVGb3JtYXQgZm9ybWF0LCBjb25zdCBB
cmdMaXN0JikKK3sKKyAgICBHcmVnb3JpYW5EYXRlVGltZSBncmVnb3JpYW5EYXRlVGltZTsKKyAg
ICBjb25zdCBib29sIG5vdFVUQyA9IGZhbHNlOworICAgIGRhdGVPYmplY3QtPm1zVG9HcmVnb3Jp
YW5EYXRlVGltZSh0aW1lSW5NaWxsaXNlY29uZHMsIG5vdFVUQywgZ3JlZ29yaWFuRGF0ZVRpbWUp
OworICAgIHJldHVybiBmb3JtYXRMb2NhbGVEYXRlKGV4ZWMsIGdyZWdvcmlhbkRhdGVUaW1lLCBm
b3JtYXQpOworfQorCisjZW5kaWYgLy8gIVBMQVRGT1JNKE1BQykKIAogLy8gQ29udmVydHMgYSBs
aXN0IG9mIGFyZ3VtZW50cyBzZW50IHRvIGEgRGF0ZSBtZW1iZXIgZnVuY3Rpb24gaW50byBtaWxs
aXNlY29uZHMsIHVwZGF0aW5nCiAvLyBtcyAocmVwcmVzZW50aW5nIG1pbGxpc2Vjb25kcykgYW5k
IHQgKHJlcHJlc2VudGluZyB0aGUgcmVzdCBvZiB0aGUgZGF0ZSBzdHJ1Y3R1cmUpIGFwcHJvcHJp
YXRlbHkuCkBAIC0yOTUsNyArMzA1LDYgQEAgc3RhdGljIGJvb2wgZmlsbFN0cnVjdHVyZXNVc2lu
Z0RhdGVBcmdzKAogY29uc3QgQ2xhc3NJbmZvIERhdGVQcm90b3R5cGU6OmluZm8gPSB7IkRhdGUi
LCAmRGF0ZUluc3RhbmNlOjppbmZvLCAwLCBFeGVjU3RhdGU6OmRhdGVUYWJsZX07CiAKIC8qIFNv
dXJjZSBmb3IgRGF0ZVByb3RvdHlwZS5sdXQuaAotICAgRklYTUU6IFdlIGNvdWxkIHVzZSB0ZW1w
bGF0ZXMgdG8gc2ltcGxpZnkgdGhlIFVUQyB2YXJpYW50cy4KIEBiZWdpbiBkYXRlVGFibGUKICAg
dG9TdHJpbmcgICAgICAgICAgICAgIGRhdGVQcm90b0Z1bmNUb1N0cmluZyAgICAgICAgICAgICAg
ICBEb250RW51bXxGdW5jdGlvbiAgICAgICAwCiAgIHRvVVRDU3RyaW5nICAgICAgICAgICBkYXRl
UHJvdG9GdW5jVG9VVENTdHJpbmcgICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAg
MApAQCAtMzA0LDcgKzMxMyw3IEBAIGNvbnN0IENsYXNzSW5mbyBEYXRlUHJvdG90eXBlOjppbmZv
ID0geyIKICAgdG9Mb2NhbGVTdHJpbmcgICAgICAgIGRhdGVQcm90b0Z1bmNUb0xvY2FsZVN0cmlu
ZyAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAwCiAgIHRvTG9jYWxlRGF0ZVN0cmlu
ZyAgICBkYXRlUHJvdG9GdW5jVG9Mb2NhbGVEYXRlU3RyaW5nICAgICAgRG9udEVudW18RnVuY3Rp
b24gICAgICAgMAogICB0b0xvY2FsZVRpbWVTdHJpbmcgICAgZGF0ZVByb3RvRnVuY1RvTG9jYWxl
VGltZVN0cmluZyAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDAKLSAgdmFsdWVPZiAgICAg
ICAgICAgICAgIGRhdGVQcm90b0Z1bmNWYWx1ZU9mICAgICAgICAgICAgICAgICBEb250RW51bXxG
dW5jdGlvbiAgICAgICAwCisgIHZhbHVlT2YgICAgICAgICAgICAgICBkYXRlUHJvdG9GdW5jR2V0
VGltZSAgICAgICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMAogICBnZXRUaW1l
ICAgICAgICAgICAgICAgZGF0ZVByb3RvRnVuY0dldFRpbWUgICAgICAgICAgICAgICAgIERvbnRF
bnVtfEZ1bmN0aW9uICAgICAgIDAKICAgZ2V0RnVsbFllYXIgICAgICAgICAgIGRhdGVQcm90b0Z1
bmNHZXRGdWxsWWVhciAgICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAwCiAgIGdl
dFVUQ0Z1bGxZZWFyICAgICAgICBkYXRlUHJvdG9GdW5jR2V0VVRDRnVsbFllYXIgICAgICAgICAg
RG9udEVudW18RnVuY3Rpb24gICAgICAgMApAQCAtMzQzLDYgKzM1Miw3IEBAIGNvbnN0IENsYXNz
SW5mbyBEYXRlUHJvdG90eXBlOjppbmZvID0geyIKICAgZ2V0WWVhciAgICAgICAgICAgICAgIGRh
dGVQcm90b0Z1bmNHZXRZZWFyICAgICAgICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAg
ICAwCiBAZW5kCiAqLworCiAvLyBFQ01BIDE1LjkuNAogCiBEYXRlUHJvdG90eXBlOjpEYXRlUHJv
dG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IHN0cnVjdHVyZSkK
QEAgLTQzNywxOCArNDQ3LDcgQEAgSlNWYWx1ZVB0ciBkYXRlUHJvdG9GdW5jVG9Mb2NhbGVTdHJp
bmcoRQogICAgIGlmIChpc25hbihtaWxsaSkpCiAgICAgICAgIHJldHVybiBqc05vbnRyaXZpYWxT
dHJpbmcoZXhlYywgIkludmFsaWQgRGF0ZSIpOwogCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGRv
dWJsZSBzZWNzID0gZmxvb3IobWlsbGkgLyBtc1BlclNlY29uZCk7Ci0gICAgcmV0dXJuIGpzTm9u
dHJpdmlhbFN0cmluZyhleGVjLCBmb3JtYXRMb2NhbGVEYXRlKGV4ZWMsIHNlY3MsIHRydWUsIHRy
dWUsIGFyZ3MpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGFyZ3MpOwotCi0gICAgY29uc3Qg
Ym9vbCB1dGMgPSBmYWxzZTsKLQotICAgIEdyZWdvcmlhbkRhdGVUaW1lIHQ7Ci0gICAgdGhpc0Rh
dGVPYmotPm1zVG9HcmVnb3JpYW5EYXRlVGltZShtaWxsaSwgdXRjLCB0KTsKLSAgICByZXR1cm4g
Zm9ybWF0TG9jYWxlRGF0ZShleGVjLCB0LCBMb2NhbGVEYXRlQW5kVGltZSk7Ci0jZW5kaWYKKyAg
ICByZXR1cm4gZm9ybWF0TG9jYWxlRGF0ZShleGVjLCB0aGlzRGF0ZU9iaiwgbWlsbGksIExvY2Fs
ZURhdGVBbmRUaW1lLCBhcmdzKTsKIH0KIAogSlNWYWx1ZVB0ciBkYXRlUHJvdG9GdW5jVG9Mb2Nh
bGVEYXRlU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBKU1ZhbHVlUHRyIHRoaXNW
YWx1ZSwgY29uc3QgQXJnTGlzdCYgYXJncykKQEAgLTQ2MSwxOCArNDYwLDcgQEAgSlNWYWx1ZVB0
ciBkYXRlUHJvdG9GdW5jVG9Mb2NhbGVEYXRlU3RyaQogICAgIGlmIChpc25hbihtaWxsaSkpCiAg
ICAgICAgIHJldHVybiBqc05vbnRyaXZpYWxTdHJpbmcoZXhlYywgIkludmFsaWQgRGF0ZSIpOwog
Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIGRvdWJsZSBzZWNzID0gZmxvb3IobWlsbGkgLyBtc1Bl
clNlY29uZCk7Ci0gICAgcmV0dXJuIGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCBmb3JtYXRMb2Nh
bGVEYXRlKGV4ZWMsIHNlY3MsIHRydWUsIGZhbHNlLCBhcmdzKSk7Ci0jZWxzZQotICAgIFVOVVNF
RF9QQVJBTShhcmdzKTsKLQotICAgIGNvbnN0IGJvb2wgdXRjID0gZmFsc2U7Ci0KLSAgICBHcmVn
b3JpYW5EYXRlVGltZSB0OwotICAgIHRoaXNEYXRlT2JqLT5tc1RvR3JlZ29yaWFuRGF0ZVRpbWUo
bWlsbGksIHV0YywgdCk7Ci0gICAgcmV0dXJuIGZvcm1hdExvY2FsZURhdGUoZXhlYywgdCwgTG9j
YWxlRGF0ZSk7Ci0jZW5kaWYKKyAgICByZXR1cm4gZm9ybWF0TG9jYWxlRGF0ZShleGVjLCB0aGlz
RGF0ZU9iaiwgbWlsbGksIExvY2FsZURhdGUsIGFyZ3MpOwogfQogCiBKU1ZhbHVlUHRyIGRhdGVQ
cm90b0Z1bmNUb0xvY2FsZVRpbWVTdHJpbmcoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCosIEpT
VmFsdWVQdHIgdGhpc1ZhbHVlLCBjb25zdCBBcmdMaXN0JiBhcmdzKQpAQCAtNDg1LDMxICs0NzMs
NyBAQCBKU1ZhbHVlUHRyIGRhdGVQcm90b0Z1bmNUb0xvY2FsZVRpbWVTdHJpCiAgICAgaWYgKGlz
bmFuKG1pbGxpKSkKICAgICAgICAgcmV0dXJuIGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCAiSW52
YWxpZCBEYXRlIik7CiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgZG91YmxlIHNlY3MgPSBmbG9v
cihtaWxsaSAvIG1zUGVyU2Vjb25kKTsKLSAgICByZXR1cm4ganNOb250cml2aWFsU3RyaW5nKGV4
ZWMsIGZvcm1hdExvY2FsZURhdGUoZXhlYywgc2VjcywgZmFsc2UsIHRydWUsIGFyZ3MpKTsKLSNl
bHNlCi0gICAgVU5VU0VEX1BBUkFNKGFyZ3MpOwotCi0gICAgY29uc3QgYm9vbCB1dGMgPSBmYWxz
ZTsKLQotICAgIEdyZWdvcmlhbkRhdGVUaW1lIHQ7Ci0gICAgdGhpc0RhdGVPYmotPm1zVG9HcmVn
b3JpYW5EYXRlVGltZShtaWxsaSwgdXRjLCB0KTsKLSAgICByZXR1cm4gZm9ybWF0TG9jYWxlRGF0
ZShleGVjLCB0LCBMb2NhbGVUaW1lKTsKLSNlbmRpZgotfQotCi1KU1ZhbHVlUHRyIGRhdGVQcm90
b0Z1bmNWYWx1ZU9mKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBKU1ZhbHVlUHRyIHRoaXNW
YWx1ZSwgY29uc3QgQXJnTGlzdCYpCi17Ci0gICAgaWYgKCF0aGlzVmFsdWUtPmlzT2JqZWN0KCZE
YXRlSW5zdGFuY2U6OmluZm8pKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBUeXBl
RXJyb3IpOwotCi0gICAgRGF0ZUluc3RhbmNlKiB0aGlzRGF0ZU9iaiA9IGFzRGF0ZUluc3RhbmNl
KHRoaXNWYWx1ZSk7IAotICAgIGRvdWJsZSBtaWxsaSA9IHRoaXNEYXRlT2JqLT5pbnRlcm5hbE51
bWJlcigpOwotICAgIGlmIChpc25hbihtaWxsaSkpCi0gICAgICAgIHJldHVybiBqc05hTihleGVj
KTsKLQotICAgIHJldHVybiBqc051bWJlcihleGVjLCBtaWxsaSk7CisgICAgcmV0dXJuIGZvcm1h
dExvY2FsZURhdGUoZXhlYywgdGhpc0RhdGVPYmosIG1pbGxpLCBMb2NhbGVUaW1lLCBhcmdzKTsK
IH0KIAogSlNWYWx1ZVB0ciBkYXRlUHJvdG9GdW5jR2V0VGltZShFeGVjU3RhdGUqIGV4ZWMsIEpT
T2JqZWN0KiwgSlNWYWx1ZVB0ciB0aGlzVmFsdWUsIGNvbnN0IEFyZ0xpc3QmKQpJbmRleDogSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwCShyZXZpc2lvbiAzOTc5NykKKysr
IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY5LDggKzY5LDcgQEAgVVN0cmluZyBKU05vdEFuT2JqZWN0Ojp0b1N0cmluZyhFeGVjU3Rh
dAogCiBKU09iamVjdCogSlNOb3RBbk9iamVjdDo6dG9PYmplY3QoRXhlY1N0YXRlKiBleGVjKSBj
b25zdAogewotICAgIFVOVVNFRF9QQVJBTShleGVjKTsKLSAgICBBU1NFUlQoZXhlYy0+aGFkRXhj
ZXB0aW9uKCkgJiYgZXhlYy0+ZXhjZXB0aW9uKCkgPT0gbV9leGNlcHRpb24pOworICAgIEFTU0VS
VF9VTlVTRUQoZXhlYywgZXhlYy0+aGFkRXhjZXB0aW9uKCkgJiYgZXhlYy0+ZXhjZXB0aW9uKCkg
PT0gbV9leGNlcHRpb24pOwogICAgIHJldHVybiBtX2V4Y2VwdGlvbjsKIH0KIApJbmRleDogSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwLmNwcAkocmV2aXNpb24gMzk3OTcpCisrKyBKYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEyICs0NCwxMyBAQCBp
bmxpbmUgUmVnRXhwOjpSZWdFeHAoSlNHbG9iYWxEYXRhKiBnbG9iCiAgICAgLCBtX2NvbnN0cnVj
dGlvbkVycm9yKDApCiAgICAgLCBtX251bVN1YnBhdHRlcm5zKDApCiB7Ci0gICAgVU5VU0VEX1BB
UkFNKGdsb2JhbERhdGEpOwogI2lmIEVOQUJMRShXUkVDKQogICAgIG1fd3JlY0Z1bmN0aW9uID0g
R2VuZXJhdG9yOjpjb21waWxlUmVnRXhwKGdsb2JhbERhdGEsIHBhdHRlcm4sICZtX251bVN1YnBh
dHRlcm5zLCAmbV9jb25zdHJ1Y3Rpb25FcnJvciwgbV9leGVjdXRhYmxlUG9vbCk7CiAgICAgaWYg
KG1fd3JlY0Z1bmN0aW9uIHx8IG1fY29uc3RydWN0aW9uRXJyb3IpCiAgICAgICAgIHJldHVybjsK
ICAgICAvLyBGYWxsIHRocm91Z2ggdG8gbm9uLVdSRUMgY2FzZS4KKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKGdsb2JhbERhdGEpOwogI2VuZGlmCiAgICAgbV9yZWdFeHAgPSBqc1JlZ0V4cENvbXBp
bGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KHBhdHRlcm4uZGF0YSgpKSwgcGF0dGVy
bi5zaXplKCksCiAgICAgICAgIEpTUmVnRXhwRG9Ob3RJZ25vcmVDYXNlLCBKU1JlZ0V4cFNpbmds
ZUxpbmUsICZtX251bVN1YnBhdHRlcm5zLCAmbV9jb25zdHJ1Y3Rpb25FcnJvcik7CkBAIC02OCw4
ICs2OSw2IEBAIGlubGluZSBSZWdFeHA6OlJlZ0V4cChKU0dsb2JhbERhdGEqIGdsb2IKICAgICAs
IG1fY29uc3RydWN0aW9uRXJyb3IoMCkKICAgICAsIG1fbnVtU3VicGF0dGVybnMoMCkKIHsKLSAg
ICBVTlVTRURfUEFSQU0oZ2xvYmFsRGF0YSk7Ci0KICAgICAvLyBOT1RFOiBUaGUgZ2xvYmFsIGZs
YWcgaXMgaGFuZGxlZCBvbiBhIGNhc2UtYnktY2FzZSBiYXNpcyBieSBmdW5jdGlvbnMgbGlrZQog
ICAgIC8vIFN0cmluZzo6bWF0Y2ggYW5kIFJlZ0V4cE9iamVjdDo6bWF0Y2guCiAgICAgaWYgKGZs
YWdzLmZpbmQoJ2cnKSAhPSAtMSkKQEAgLTkzLDYgKzkyLDggQEAgaW5saW5lIFJlZ0V4cDo6UmVn
RXhwKEpTR2xvYmFsRGF0YSogZ2xvYgogICAgIGlmIChtX3dyZWNGdW5jdGlvbiB8fCBtX2NvbnN0
cnVjdGlvbkVycm9yKQogICAgICAgICByZXR1cm47CiAgICAgLy8gRmFsbCB0aHJvdWdoIHRvIG5v
bi1XUkVDIGNhc2UuCisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShnbG9iYWxEYXRhKTsKICNlbmRp
ZgogICAgIG1fcmVnRXhwID0ganNSZWdFeHBDb21waWxlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
VUNoYXIqPihwYXR0ZXJuLmRhdGEoKSksIHBhdHRlcm4uc2l6ZSgpLAogICAgICAgICBpZ25vcmVD
YXNlT3B0aW9uLCBtdWx0aWxpbmVPcHRpb24sICZtX251bVN1YnBhdHRlcm5zLCAmbV9jb25zdHJ1
Y3Rpb25FcnJvcik7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvVENTeXN0ZW1BbGxvYy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1RDU3lzdGVtQWxsb2MuY3BwCShyZXZp
c2lvbiAzOTc5NykKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9UQ1N5c3RlbUFsbG9jLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzgzLDggKzM4Myw2IEBAIHZvaWQqIFRDTWFsbG9jX1N5c3RlbUFsbG9j
KHNpemVfdCBzaXplLCAKIAogdm9pZCBUQ01hbGxvY19TeXN0ZW1SZWxlYXNlKHZvaWQqIHN0YXJ0
LCBzaXplX3QgbGVuZ3RoKQogewotICBVTlVTRURfUEFSQU0oc3RhcnQpOwotICBVTlVTRURfUEFS
QU0obGVuZ3RoKTsKICNpZiBIQVZFKE1BRFZfRE9OVE5FRUQpCiAgIGlmIChGTEFHU19tYWxsb2Nf
ZGV2bWVtX3N0YXJ0KSB7CiAgICAgLy8gSXQncyBub3Qgc2FmZSB0byB1c2UgTUFEVl9ET05UTkVF
RCBpZiB3ZSd2ZSBiZWVuIG1hcHBpbmcKQEAgLTQyNiwxMiArNDI0LDE1IEBAIHZvaWQgVENNYWxs
b2NfU3lzdGVtUmVsZWFzZSh2b2lkKiBzdGFydCwKICAgQVNTRVJUX1VOVVNFRChuZXdBZGRyZXNz
LCBuZXdBZGRyZXNzID09IHN0YXJ0IHx8IG5ld0FkZHJlc3MgPT0gcmVpbnRlcnByZXRfY2FzdDx2
b2lkKj4oTUFQX0ZBSUxFRCkpOwogICByZXR1cm47CiAjZW5kaWYKKworI2lmICFIQVZFKE1BRFZf
RE9OVE5FRUQpICYmICFIQVZFKE1NQVApCisgIFVOVVNFRF9QQVJBTShzdGFydCk7CisgIFVOVVNF
RF9QQVJBTShsZW5ndGgpOworI2VuZGlmCiB9CiAKICNpZiBIQVZFKFZJUlRVQUxBTExPQykKLXZv
aWQgVENNYWxsb2NfU3lzdGVtQ29tbWl0KHZvaWQqIHN0YXJ0LCBzaXplX3QgbGVuZ3RoKQordm9p
ZCBUQ01hbGxvY19TeXN0ZW1Db21taXQodm9pZCosIHNpemVfdCkKIHsKLSAgICBVTlVTRURfUEFS
QU0oc3RhcnQpOwotICAgIFVOVVNFRF9QQVJBTShsZW5ndGgpOwogfQogI2VuZGlmCg==
</data>
<flag name="review"
          id="12648"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>