<?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>118150</bug_id>
          
          <creation_ts>2013-06-27 14:45:26 -0700</creation_ts>
          <short_desc>Use DeferrableOneShotTimer for deleting decoded data</short_desc>
          <delta_ts>2013-07-01 06:28:38 -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>Page Loading</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>904356</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-06-27 14:45:26 -0700</bug_when>
    <thetext>When loading apple.com/itunes CachedScript::script() takes ~1% of the web thread time, most of which is under system timer code.

We should use DeferrableOneShotTimer instead of plain Timer as that avoids unnecessary low level timer access.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904358</commentid>
    <comment_count>1</comment_count>
      <attachid>205640</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-06-27 15:11:51 -0700</bug_when>
    <thetext>Created attachment 205640
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904359</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-06-27 15:12:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/14268416&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904370</commentid>
    <comment_count>3</comment_count>
      <attachid>205640</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-06-27 16:07:15 -0700</bug_when>
    <thetext>Comment on attachment 205640
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=205640&amp;action=review

&gt; Source/WebCore/platform/Timer.h:158
&gt; +    void setDelay(double delay) { m_delay = delay; }

setDelay() seems ambiguous here; does it reschedule the current timer? What does it mean to just change the delay like this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904391</commentid>
    <comment_count>4</comment_count>
      <attachid>205648</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-06-27 17:06:35 -0700</bug_when>
    <thetext>Created attachment 205648
patch

Remove the confusing delay setter, instead use a virtual function to vary the delay constructor argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904416</commentid>
    <comment_count>5</comment_count>
      <attachid>205648</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-06-27 18:31:42 -0700</bug_when>
    <thetext>Comment on attachment 205648
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=205648&amp;action=review

r=me

&gt; Source/WebCore/ChangeLog:35
&gt; +            Avoid unnecessary restart after stopping and starting again.

Nice ninja fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904420</commentid>
    <comment_count>6</comment_count>
      <attachid>205648</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-06-27 18:36:28 -0700</bug_when>
    <thetext>Comment on attachment 205648
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=205648&amp;action=review

&gt; Source/WebCore/loader/cache/CachedResource.cpp:894
&gt; +double CachedResource::decodedDataDeletionTimerDelay() const
&gt; +{
&gt; +    return memoryCache()-&gt;deadDecodedDataDeletionInterval();
&gt; +}

Shame that one is called an interval, and the other a delay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904424</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-06-27 19:01:46 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/152148</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904791</commentid>
    <comment_count>8</comment_count>
      <attachid>205648</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-06-28 16:16:48 -0700</bug_when>
    <thetext>Comment on attachment 205648
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=205648&amp;action=review

&gt; Source/WebCore/loader/cache/CachedScript.h:60
&gt; +        virtual double decodedDataDeletionTimerDelay() const OVERRIDE;

Does this do what you mean?  You&apos;re calling decodedDataDeletionTimerDelay() in the CachedResource construct, which means you&apos;ll get the implementation from the base class because the CachedScript constructor hasn&apos;t run yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904991</commentid>
    <comment_count>9</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-07-01 05:29:24 -0700</bug_when>
    <thetext>Good point. It is indeed wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904996</commentid>
    <comment_count>10</comment_count>
      <attachid>205803</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-07-01 06:10:22 -0700</bug_when>
    <thetext>Created attachment 205803
don&apos;t call virtual in constructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904999</commentid>
    <comment_count>11</comment_count>
      <attachid>205803</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-07-01 06:17:45 -0700</bug_when>
    <thetext>Comment on attachment 205803
don&apos;t call virtual in constructor

View in context: https://bugs.webkit.org/attachment.cgi?id=205803&amp;action=review

Oh wow, now I feel stupid. :|

&gt; Source/WebCore/loader/cache/CachedResource.cpp:185
&gt; +static double decodedDataDeletionTimerDelayForResourceType(CachedResource::Type type)

We should call this deadDecodedDataDeletionIntervalForResourceType() to match the MemoryCache function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905002</commentid>
    <comment_count>12</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-07-01 06:28:38 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/152219</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205640</attachid>
            <date>2013-06-27 15:11:51 -0700</date>
            <delta_ts>2013-06-27 17:06:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>deferrable-timer-in-cache-2.patch</filename>
            <type>text/plain</type>
            <size>5225</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MjEyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDEzLTA2LTI3ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgRGVmZXJyYWJsZU9uZVNo
b3RUaW1lciBmb3IgZGVsZXRpbmcgZGVjb2RlZCBkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgxNTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcCB0byAxJSBvZiBwYWdlIGxvYWQgdGltZSBjYW4g
YmUgdXNlZCB1bmRlciBDYWNoZWRTY3JpcHQ6OnNjcmlwdCgpIGZvciByZXN0YXJ0aW5nCisgICAg
ICAgIHRoZSBkZWNvZGVkIGRhdGEgZGVsZXRpb24gdGltZXIuCisgICAgICAgIAorICAgICAgICBV
c2luZyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIGluc3RlYWQgb2YgYSBwbGFpbiBUaW1lciBhdm9p
ZHMgdW5uZWNlc3NhcnkgbG93IGxldmVsIHRpbWVyIGFjY2Vzcy4KKworICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6Q2FjaGVkUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6
OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlOjpkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIAorICAgICAg
ICAgICAgQWRvcHQgRGVmZXJyYWJsZU9uZVNob3RUaW1lci4KKworICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTY3Jp
cHQuY3BwOgorICAgICAgICAKKyAgICAgICAgICAgIEtlZXAgdXNpbmcgemVybyBkZWxheSBmb3Ig
c2NyaXB0cy4KKworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0OjpDYWNoZWRTY3JpcHQp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU2NyaXB0OjpzY3JpcHQpOgorICAgICAgICAqIHBs
YXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVy
OjpzdG9wKToKKyAgICAgICAgCisgICAgICAgICAgICBBdm9pZCB1bm5lY2Vzc2FyeSByZXN0YXJ0
IGFmdGVyIHN0b3BwaW5nIGFuZCBzdGFydGluZyBhZ2Fpbi4KKworICAgICAgICAoV2ViQ29yZTo6
RGVmZXJyYWJsZU9uZVNob3RUaW1lcjo6ZGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJy
YWJsZU9uZVNob3RUaW1lcjo6c2V0RGVsYXkpOgorICAgICAgICAKKyAgICAgICAgICAgIEFkZCB3
YXkgdG8gY2hhbmdlIHRoZSBkZWxheSBhZnRlciBjb25zdHJ1Y3Rpb24uCisKKwogMjAxMy0wNi0y
NyAgQmVtIEpvbmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFNo
YXBlc10gTmV3IHBvc2l0aW9uaW5nIG1vZGVsOiBiYXNpYyBzdXBwb3J0IGZvciByZWN0YW5nbGUg
c2hhcGUtb3V0c2lkZQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwCShyZXZpc2lvbiAxNTIxMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNyArMTg4
LDcgQEAgQ2FjaGVkUmVzb3VyY2U6OkNhY2hlZFJlc291cmNlKGNvbnN0IFJlcwogICAgIDogbV9y
ZXNvdXJjZVJlcXVlc3QocmVxdWVzdCkKICAgICAsIG1fbG9hZFByaW9yaXR5KGRlZmF1bHRQcmlv
cml0eUZvclJlc291cmNlVHlwZSh0eXBlKSkKICAgICAsIG1fcmVzcG9uc2VUaW1lc3RhbXAoY3Vy
cmVudFRpbWUoKSkKLSAgICAsIG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyKHRoaXMsICZDYWNo
ZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQpCisgICAgLCBtX2RlY29k
ZWREYXRhRGVsZXRpb25UaW1lcih0aGlzLCAmQ2FjaGVkUmVzb3VyY2U6OmRlY29kZWREYXRhRGVs
ZXRpb25UaW1lckZpcmVkLCBtZW1vcnlDYWNoZSgpLT5kZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsKCkpCiAgICAgLCBtX2xhc3REZWNvZGVkQWNjZXNzVGltZSgwKQogICAgICwgbV9sb2Fk
RmluaXNoVGltZSgwKQogICAgICwgbV9lbmNvZGVkU2l6ZSgwKQpAQCAtNTYwLDEyICs1NjAsMTAg
QEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSQogewogICAgIGlmICgh
bV9kZWNvZGVkU2l6ZSkKICAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGRvdWJsZSBpbnRlcnZh
bCA9IG1lbW9yeUNhY2hlKCktPmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSkKLSAg
ICAgICAgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsK
KyAgICBtX2RlY29kZWREYXRhRGVsZXRpb25UaW1lci5yZXN0YXJ0KCk7CiB9CiAKLXZvaWQgQ2Fj
aGVkUmVzb3VyY2U6OmRlY29kZWREYXRhRGVsZXRpb25UaW1lckZpcmVkKFRpbWVyPENhY2hlZFJl
c291cmNlPiopCit2b2lkIENhY2hlZFJlc291cmNlOjpkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJG
aXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPENhY2hlZFJlc291cmNlPiopCiB7CiAgICAgZGVz
dHJveURlY29kZWREYXRhKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaAkocmV2aXNpb24gMTUyMTA1KQorKysgU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5MSwxMSAr
MjkxLDExIEBAIHByb3RlY3RlZDoKIAogICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gbV9kYXRh
OwogICAgIE93blB0cjxQdXJnZWFibGVCdWZmZXI+IG1fcHVyZ2VhYmxlRGF0YTsKLSAgICBUaW1l
cjxDYWNoZWRSZXNvdXJjZT4gbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXI7CisgICAgRGVmZXJy
YWJsZU9uZVNob3RUaW1lcjxDYWNoZWRSZXNvdXJjZT4gbV9kZWNvZGVkRGF0YURlbGV0aW9uVGlt
ZXI7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBhZGRDbGllbnRUb1NldChDYWNoZWRSZXNvdXJjZUNs
aWVudCopOwotICAgIHZvaWQgZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQoVGltZXI8Q2Fj
aGVkUmVzb3VyY2U+Kik7CisgICAgdm9pZCBkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZChE
ZWZlcnJhYmxlT25lU2hvdFRpbWVyPENhY2hlZFJlc291cmNlPiopOwogCiAgICAgdmlydHVhbCBQ
dXJnZVByaW9yaXR5IHB1cmdlUHJpb3JpdHkoKSBjb25zdCB7IHJldHVybiBQdXJnZURlZmF1bHQ7
IH0KICAgICB2aXJ0dWFsIGJvb2wgbWF5VHJ5UmVwbGFjZUVuY29kZWREYXRhKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRT
Y3JpcHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRTY3JpcHQuY3BwCShyZXZpc2lvbiAxNTIxMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkU2NyaXB0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsNiArNDcsOCBAQCBD
YWNoZWRTY3JpcHQ6OkNhY2hlZFNjcmlwdChjb25zdCBSZXNvdXJjCiAgICAgLy8gQnV0IHNvbWUg
d2Vic2l0ZXMgdGhpbmsgdGhlaXIgc2NyaXB0cyBhcmUgPHNvbWUgd3JvbmcgbWltZXR5cGUgaGVy
ZT4KICAgICAvLyBhbmQgcmVmdXNlIHRvIHNlcnZlIHRoZW0gaWYgd2Ugb25seSBhY2NlcHQgYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0LgogICAgIHNldEFjY2VwdCgiKi8qIik7CisKKyAgICBtX2Rl
Y29kZWREYXRhRGVsZXRpb25UaW1lci5zZXREZWxheSgwKTsKIH0KIAogQ2FjaGVkU2NyaXB0Ojp+
Q2FjaGVkU2NyaXB0KCkKQEAgLTc3LDcgKzc5LDcgQEAgY29uc3QgU3RyaW5nJiBDYWNoZWRTY3Jp
cHQ6OnNjcmlwdCgpCiAgICAgICAgIG1fc2NyaXB0LmFwcGVuZChtX2RlY29kZXItPmZsdXNoKCkp
OwogICAgICAgICBzZXREZWNvZGVkU2l6ZShtX3NjcmlwdC5zaXplSW5CeXRlcygpKTsKICAgICB9
Ci0gICAgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyLnJlc3RhcnQoKTsKICAgICAKICAgICByZXR1cm4gbV9z
Y3JpcHQ7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgJKHJldmlzaW9uIDE1MjEyMSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0
OCw4ICsxNDgsMTcgQEAgcHVibGljOgogICAgICAgICBzdGFydE9uZVNob3QobV9kZWxheSk7CiAg
ICAgfQogCi0gICAgdXNpbmcgVGltZXJCYXNlOjpzdG9wOworICAgIHZvaWQgc3RvcCgpCisgICAg
eworICAgICAgICBtX3Nob3VsZFJlc3RhcnRXaGVuVGltZXJGaXJlcyA9IGZhbHNlOworICAgICAg
ICBUaW1lckJhc2U6OnN0b3AoKTsKKyAgICB9CisKKyAgICBkb3VibGUgZGVsYXkoKSBjb25zdCB7
IHJldHVybiBtX2RlbGF5OyB9CisgICAgdm9pZCBzZXREZWxheShkb3VibGUgZGVsYXkpIHsgbV9k
ZWxheSA9IGRlbGF5OyB9CisKICAgICB1c2luZyBUaW1lckJhc2U6OmlzQWN0aXZlOworCiBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpCiAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205648</attachid>
            <date>2013-06-27 17:06:35 -0700</date>
            <delta_ts>2013-06-28 16:16:48 -0700</delta_ts>
            <desc>patch</desc>
            <filename>deferrable-timer-in-cache-3.patch</filename>
            <type>text/plain</type>
            <size>6126</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MjEzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEzLTA2LTI3ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgRGVmZXJyYWJsZU9uZVNo
b3RUaW1lciBmb3IgZGVsZXRpbmcgZGVjb2RlZCBkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgxNTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcCB0byAxJSBvZiBwYWdlIGxvYWQgdGltZSBjYW4g
YmUgdXNlZCB1bmRlciBDYWNoZWRTY3JpcHQ6OnNjcmlwdCgpIGZvciByZXN0YXJ0aW5nCisgICAg
ICAgIHRoZSBkZWNvZGVkIGRhdGEgZGVsZXRpb24gdGltZXIuCisgICAgICAgIAorICAgICAgICBV
c2luZyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIGluc3RlYWQgb2YgYSBwbGFpbiBUaW1lciBhdm9p
ZHMgdW5uZWNlc3NhcnkgbG93IGxldmVsIHRpbWVyIGFjY2Vzcy4KKworICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6Q2FjaGVkUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6
OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlOjpkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRGVsYXkpOgorCisgICAg
ICAgICAgICBBZG9wdCBEZWZlcnJhYmxlT25lU2hvdFRpbWVyLgorCisgICAgICAgICogbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFNj
cmlwdC5jcHA6CisgICAgICAgIAorICAgICAgICAgICAgS2VlcCB1c2luZyB6ZXJvIGRlbGF5IGZv
ciBzY3JpcHRzLgorCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRTY3JpcHQ6OkNhY2hlZFNjcmlw
dCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRTY3JpcHQ6OnNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRTY3JpcHQ6OmRlY29kZWREYXRhRGVsZXRpb25UaW1lckRlbGF5KToKKyAg
ICAgICAgCisgICAgICAgICAgICBLZWVwIHVzaW5nIHplcm8gZGVsYXkgZm9yIHNjcmlwdHMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJs
ZU9uZVNob3RUaW1lcjo6c3RvcCk6CisgICAgICAgIAorICAgICAgICAgICAgQXZvaWQgdW5uZWNl
c3NhcnkgcmVzdGFydCBhZnRlciBzdG9wcGluZyBhbmQgc3RhcnRpbmcgYWdhaW4uCisKIDIwMTMt
MDYtMjcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgY2FsbCB0byBkZXByZWNhdGVkQ2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSBp
biBXZWJHTCBjb2RlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDE1MjEwNSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OCw3ICsxODgs
NyBAQCBDYWNoZWRSZXNvdXJjZTo6Q2FjaGVkUmVzb3VyY2UoY29uc3QgUmVzCiAgICAgOiBtX3Jl
c291cmNlUmVxdWVzdChyZXF1ZXN0KQogICAgICwgbV9sb2FkUHJpb3JpdHkoZGVmYXVsdFByaW9y
aXR5Rm9yUmVzb3VyY2VUeXBlKHR5cGUpKQogICAgICwgbV9yZXNwb25zZVRpbWVzdGFtcChjdXJy
ZW50VGltZSgpKQotICAgICwgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIodGhpcywgJkNhY2hl
ZFJlc291cmNlOjpkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZCkKKyAgICAsIG1fZGVjb2Rl
ZERhdGFEZWxldGlvblRpbWVyKHRoaXMsICZDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxl
dGlvblRpbWVyRmlyZWQsIGRlY29kZWREYXRhRGVsZXRpb25UaW1lckRlbGF5KCkpCiAgICAgLCBt
X2xhc3REZWNvZGVkQWNjZXNzVGltZSgwKQogICAgICwgbV9sb2FkRmluaXNoVGltZSgwKQogICAg
ICwgbV9lbmNvZGVkU2l6ZSgwKQpAQCAtNTYwLDEyICs1NjAsMTIgQEAgdm9pZCBDYWNoZWRSZXNv
dXJjZTo6ZGVzdHJveURlY29kZWREYXRhSQogewogICAgIGlmICghbV9kZWNvZGVkU2l6ZSkKICAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGRvdWJsZSBpbnRlcnZhbCA9IG1lbW9yeUNhY2hlKCkt
PmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSkKLSAgICAgICAgbV9kZWNvZGVkRGF0
YURlbGV0aW9uVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKKyAgICBpZiAoIW1lbW9yeUNh
Y2hlKCktPmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyLnJlc3RhcnQoKTsKIH0KIAotdm9pZCBD
YWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQoVGltZXI8Q2FjaGVk
UmVzb3VyY2U+KikKK3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OmRlY29kZWREYXRhRGVsZXRpb25UaW1l
ckZpcmVkKERlZmVycmFibGVPbmVTaG90VGltZXI8Q2FjaGVkUmVzb3VyY2U+KikKIHsKICAgICBk
ZXN0cm95RGVjb2RlZERhdGEoKTsKIH0KQEAgLTg4OCw2ICs4ODgsMTAgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6c2V0TG9hZFByaW9yaXR5KFJlcwogICAgICAgICBtX2xvYWRlci0+ZGlkQ2hhbmdl
UHJpb3JpdHkobG9hZFByaW9yaXR5KTsKIH0KIAorZG91YmxlIENhY2hlZFJlc291cmNlOjpkZWNv
ZGVkRGF0YURlbGV0aW9uVGltZXJEZWxheSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1lbW9yeUNh
Y2hlKCktPmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKTsKK30KIAogQ2FjaGVkUmVz
b3VyY2U6OkNhY2hlZFJlc291cmNlQ2FsbGJhY2s6OkNhY2hlZFJlc291cmNlQ2FsbGJhY2soQ2Fj
aGVkUmVzb3VyY2UqIHJlc291cmNlLCBDYWNoZWRSZXNvdXJjZUNsaWVudCogY2xpZW50KQogICAg
IDogbV9yZXNvdXJjZShyZXNvdXJjZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCShyZXZpc2lvbiAxNTIxMDUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjkxLDEx
ICsyOTEsMTMgQEAgcHJvdGVjdGVkOgogCiAgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBtX2Rh
dGE7CiAgICAgT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gbV9wdXJnZWFibGVEYXRhOwotICAgIFRp
bWVyPENhY2hlZFJlc291cmNlPiBtX2RlY29kZWREYXRhRGVsZXRpb25UaW1lcjsKKyAgICBEZWZl
cnJhYmxlT25lU2hvdFRpbWVyPENhY2hlZFJlc291cmNlPiBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lcjsKIAogcHJpdmF0ZToKICAgICBib29sIGFkZENsaWVudFRvU2V0KENhY2hlZFJlc291cmNl
Q2xpZW50Kik7Ci0gICAgdm9pZCBkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZChUaW1lcjxD
YWNoZWRSZXNvdXJjZT4qKTsKKworICAgIHZpcnR1YWwgZG91YmxlIGRlY29kZWREYXRhRGVsZXRp
b25UaW1lckRlbGF5KCkgY29uc3Q7CisgICAgdm9pZCBkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJG
aXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPENhY2hlZFJlc291cmNlPiopOwogCiAgICAgdmly
dHVhbCBQdXJnZVByaW9yaXR5IHB1cmdlUHJpb3JpdHkoKSBjb25zdCB7IHJldHVybiBQdXJnZURl
ZmF1bHQ7IH0KICAgICB2aXJ0dWFsIGJvb2wgbWF5VHJ5UmVwbGFjZUVuY29kZWREYXRhKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRTY3JpcHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRTY3JpcHQuY3BwCShyZXZpc2lvbiAxNTIxMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNyArNzcs
NyBAQCBjb25zdCBTdHJpbmcmIENhY2hlZFNjcmlwdDo6c2NyaXB0KCkKICAgICAgICAgbV9zY3Jp
cHQuYXBwZW5kKG1fZGVjb2Rlci0+Zmx1c2goKSk7CiAgICAgICAgIHNldERlY29kZWRTaXplKG1f
c2NyaXB0LnNpemVJbkJ5dGVzKCkpOwogICAgIH0KLSAgICBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIucmVz
dGFydCgpOwogICAgIAogICAgIHJldHVybiBtX3NjcmlwdDsKIH0KQEAgLTk3LDYgKzk3LDExIEBA
IHZvaWQgQ2FjaGVkU2NyaXB0OjpkZXN0cm95RGVjb2RlZERhdGEoKQogICAgICAgICBtYWtlUHVy
Z2VhYmxlKHRydWUpOwogfQogCitkb3VibGUgQ2FjaGVkU2NyaXB0OjpkZWNvZGVkRGF0YURlbGV0
aW9uVGltZXJEZWxheSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKICNpZiBFTkFCTEUo
Tk9TTklGRikKIGJvb2wgQ2FjaGVkU2NyaXB0OjptaW1lVHlwZUFsbG93ZWRCeU5vc25pZmYoKSBj
b25zdAogewpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQu
aAkocmV2aXNpb24gMTUyMTA1KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFNjcmlwdC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGZpbmlzaExvYWRpbmcoUmVzb3VyY2VCdWZmZXIq
KSBPVkVSUklERTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveURlY29kZWREYXRhKCkg
T1ZFUlJJREU7CisgICAgICAgIHZpcnR1YWwgZG91YmxlIGRlY29kZWREYXRhRGVsZXRpb25UaW1l
ckRlbGF5KCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICAgICAgU3RyaW5nIG1fc2NyaXB0OwogICAg
ICAgICBSZWZQdHI8VGV4dFJlc291cmNlRGVjb2Rlcj4gbV9kZWNvZGVyOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5oCShyZXZpc2lvbiAxNTIxMjEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaW1lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsOCArMTQ4LDE0IEBAIHB1YmxpYzoK
ICAgICAgICAgc3RhcnRPbmVTaG90KG1fZGVsYXkpOwogICAgIH0KIAotICAgIHVzaW5nIFRpbWVy
QmFzZTo6c3RvcDsKKyAgICB2b2lkIHN0b3AoKQorICAgIHsKKyAgICAgICAgbV9zaG91bGRSZXN0
YXJ0V2hlblRpbWVyRmlyZXMgPSBmYWxzZTsKKyAgICAgICAgVGltZXJCYXNlOjpzdG9wKCk7Cisg
ICAgfQorCiAgICAgdXNpbmcgVGltZXJCYXNlOjppc0FjdGl2ZTsKKwogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgZmlyZWQoKQogICAgIHsK
</data>
<flag name="review"
          id="227226"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205803</attachid>
            <date>2013-07-01 06:10:22 -0700</date>
            <delta_ts>2013-07-01 06:17:45 -0700</delta_ts>
            <desc>don&apos;t call virtual in constructor</desc>
            <filename>deletion-timer-virtual.patch</filename>
            <type>text/plain</type>
            <size>4284</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MjIxOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEzLTA3LTAxICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgRGVmZXJyYWJsZU9uZVNo
b3RUaW1lciBmb3IgZGVsZXRpbmcgZGVjb2RlZCBkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgxNTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGFtIEJhcnRoIHBvaW50ZWQgb3V0IHRoYXQgdGhl
IHZpcnR1YWwgZnVuY3Rpb24gZm9yIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgZGVsYXkgZG9lc24n
dCB3b3JrCisgICAgICAgIGFzIGV4cGVjdGVkIGZyb20gYmFzZSBjbGFzcyBjb25zdHJ1Y3Rvci4K
KworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJEZWxheUZvclJlc291cmNlVHlwZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FjaGVkUmVzb3VyY2UpOgorICAgICAg
ICAKKyAgICAgICAgICAgICAgICBVc2Ugc3RhdGljIGZ1bmN0aW9uIGluc3RlYWQgb2YgdmlydHVh
bCBjbGFzcy4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwOgorICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRTY3JpcHQuaDoKKwogMjAxMy0wNy0wMSAgS2FuZ2lsIEhhbiAgPGthbmdpbC5o
YW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQWRvcHQgdG9IVE1MVGV4dEFyZWFFbGVtZW50IGZv
ciBjb2RlIGNsZWFudXAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmNwcAkocmV2aXNpb24gMTUyMjE4KQorKysgU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyLDEzICsx
ODIsMjAgQEAgc3RhdGljIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0VHlwZSBjYWNoZQogfQogI2Vu
ZGlmCiAKK3N0YXRpYyBkb3VibGUgZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRGVsYXlGb3JSZXNv
dXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3sKKyAgICBpZiAodHlwZSA9PSBD
YWNoZWRSZXNvdXJjZTo6U2NyaXB0KQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbWVt
b3J5Q2FjaGUoKS0+ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOworfQorCiBERUZJ
TkVfREVCVUdfT05MWV9HTE9CQUwoUmVmQ291bnRlZExlYWtDb3VudGVyLCBjYWNoZWRSZXNvdXJj
ZUxlYWtDb3VudGVyLCAoIkNhY2hlZFJlc291cmNlIikpOwogCiBDYWNoZWRSZXNvdXJjZTo6Q2Fj
aGVkUmVzb3VyY2UoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBUeXBlIHR5cGUpCiAg
ICAgOiBtX3Jlc291cmNlUmVxdWVzdChyZXF1ZXN0KQogICAgICwgbV9sb2FkUHJpb3JpdHkoZGVm
YXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKHR5cGUpKQogICAgICwgbV9yZXNwb25zZVRpbWVz
dGFtcChjdXJyZW50VGltZSgpKQotICAgICwgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIodGhp
cywgJkNhY2hlZFJlc291cmNlOjpkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZCwgZGVjb2Rl
ZERhdGFEZWxldGlvblRpbWVyRGVsYXkoKSkKKyAgICAsIG1fZGVjb2RlZERhdGFEZWxldGlvblRp
bWVyKHRoaXMsICZDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQs
IGRlY29kZWREYXRhRGVsZXRpb25UaW1lckRlbGF5Rm9yUmVzb3VyY2VUeXBlKHR5cGUpKQogICAg
ICwgbV9sYXN0RGVjb2RlZEFjY2Vzc1RpbWUoMCkKICAgICAsIG1fbG9hZEZpbmlzaFRpbWUoMCkK
ICAgICAsIG1fZW5jb2RlZFNpemUoMCkKQEAgLTg4OCwxMSArODk1LDYgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6c2V0TG9hZFByaW9yaXR5KFJlcwogICAgICAgICBtX2xvYWRlci0+ZGlkQ2hhbmdl
UHJpb3JpdHkobG9hZFByaW9yaXR5KTsKIH0KIAotZG91YmxlIENhY2hlZFJlc291cmNlOjpkZWNv
ZGVkRGF0YURlbGV0aW9uVGltZXJEZWxheSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1lbW9yeUNh
Y2hlKCktPmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKTsKLX0KLQogQ2FjaGVkUmVz
b3VyY2U6OkNhY2hlZFJlc291cmNlQ2FsbGJhY2s6OkNhY2hlZFJlc291cmNlQ2FsbGJhY2soQ2Fj
aGVkUmVzb3VyY2UqIHJlc291cmNlLCBDYWNoZWRSZXNvdXJjZUNsaWVudCogY2xpZW50KQogICAg
IDogbV9yZXNvdXJjZShyZXNvdXJjZSkKICAgICAsIG1fY2xpZW50KGNsaWVudCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCShyZXZpc2lvbiAx
NTIyMTgpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAko
d29ya2luZyBjb3B5KQpAQCAtMjk2LDcgKzI5Niw2IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAg
ICAgYm9vbCBhZGRDbGllbnRUb1NldChDYWNoZWRSZXNvdXJjZUNsaWVudCopOwogCi0gICAgdmly
dHVhbCBkb3VibGUgZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRGVsYXkoKSBjb25zdDsKICAgICB2
b2lkIGRlY29kZWREYXRhRGVsZXRpb25UaW1lckZpcmVkKERlZmVycmFibGVPbmVTaG90VGltZXI8
Q2FjaGVkUmVzb3VyY2U+Kik7CiAKICAgICB2aXJ0dWFsIFB1cmdlUHJpb3JpdHkgcHVyZ2VQcmlv
cml0eSgpIGNvbnN0IHsgcmV0dXJuIFB1cmdlRGVmYXVsdDsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAJKHJldmlzaW9uIDE1MjIxOCkKKysr
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC05NywxMSArOTcsNiBAQCB2b2lkIENhY2hlZFNjcmlwdDo6ZGVzdHJveURlY29kZWRE
YXRhKCkKICAgICAgICAgbWFrZVB1cmdlYWJsZSh0cnVlKTsKIH0KIAotZG91YmxlIENhY2hlZFNj
cmlwdDo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRGVsYXkoKSBjb25zdAotewotICAgIHJldHVy
biAwOwotfQotCiAjaWYgRU5BQkxFKE5PU05JRkYpCiBib29sIENhY2hlZFNjcmlwdDo6bWltZVR5
cGVBbGxvd2VkQnlOb3NuaWZmKCkgY29uc3QKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRTY3JpcHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmgJKHJldmlzaW9uIDE1MjIxOCkKKysrIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyAr
NTcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hM
b2FkaW5nKFJlc291cmNlQnVmZmVyKikgT1ZFUlJJREU7CiAKICAgICAgICAgdmlydHVhbCB2b2lk
IGRlc3Ryb3lEZWNvZGVkRGF0YSgpIE9WRVJSSURFOwotICAgICAgICB2aXJ0dWFsIGRvdWJsZSBk
ZWNvZGVkRGF0YURlbGV0aW9uVGltZXJEZWxheSgpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgICAg
IFN0cmluZyBtX3NjcmlwdDsKICAgICAgICAgUmVmUHRyPFRleHRSZXNvdXJjZURlY29kZXI+IG1f
ZGVjb2RlcjsK
</data>
<flag name="review"
          id="227404"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>