<?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>147968</bug_id>
          
          <creation_ts>2015-08-12 22:19:08 -0700</creation_ts>
          <short_desc>Add support for CheckWatchdogTimer as slow path in DFG and FTL.</short_desc>
          <delta_ts>2015-08-19 14:19:19 -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>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>
          <dependson>148125</dependson>
          <blocked>131082</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1117173</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-08-12 22:19:08 -0700</bug_when>
    <thetext>Since we don&apos;t currently enable the JSC watchdog by default, Web Worker&apos;s terminate() function doesn&apos;t actually do anything.  We should fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117752</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-08-14 14:03:37 -0700</bug_when>
    <thetext>Per discussion with Geoff, we can fix this by always enabling the watchdog without a time limit for Web Workers.

But before we do that, we should teach the FTL to check the watchdog when present.  Since the FTL watchdog support is mostly motivated by the need in Web Workers, I&apos;ll tackle the FTL in this bug as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118495</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-08-18 01:32:44 -0700</bug_when>
    <thetext>Will just implement the FTL support (and improve the DFG support) in this bug.  Will add the Worker threads watchdog in 131082 instead where we re-work how Watchdog&apos;s m_didFire works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118647</commentid>
    <comment_count>3</comment_count>
      <attachid>259302</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-08-18 15:03:46 -0700</bug_when>
    <thetext>Created attachment 259302
the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119010</commentid>
    <comment_count>4</comment_count>
      <attachid>259302</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-08-19 14:03:55 -0700</bug_when>
    <thetext>Comment on attachment 259302
the fix.

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

r=me

&gt; Source/JavaScriptCore/jit/JITOperations.cpp:991
&gt; -void JIT_OPERATION operationHandleWatchdogTimer(ExecState* exec)
&gt; +UnusedPtr JIT_OPERATION operationHandleWatchdogTimer(ExecState* exec)

Why does this return UnusedPtr?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119011</commentid>
    <comment_count>5</comment_count>
      <attachid>259302</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-08-19 14:04:14 -0700</bug_when>
    <thetext>Comment on attachment 259302
the fix.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119014</commentid>
    <comment_count>6</comment_count>
      <attachid>259302</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-08-19 14:09:44 -0700</bug_when>
    <thetext>Comment on attachment 259302
the fix.

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

&gt;&gt; Source/JavaScriptCore/jit/JITOperations.cpp:991
&gt;&gt; +UnusedPtr JIT_OPERATION operationHandleWatchdogTimer(ExecState* exec)
&gt; 
&gt; Why does this return UnusedPtr?

As explained in the ChangeLog, &quot;This allows me to reuse the existing DFG slow path generator mechanism.  I didn&apos;t think that operationHandleWatchdogTimer() was worth introducing a whole new set of machinery just so we can have a slow path that returns void.&quot;  I&apos;ll add a comment here as well to document this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119016</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-08-19 14:19:19 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r188649: &lt;http://trac.webkit.org/r188649&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259302</attachid>
            <date>2015-08-18 15:03:46 -0700</date>
            <delta_ts>2015-08-19 14:04:14 -0700</delta_ts>
            <desc>the fix.</desc>
            <filename>bug-147968.patch</filename>
            <type>text/plain</type>
            <size>10298</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg4NTk3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDE1LTA4LTE4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgQ2hlY2tXYXRjaGRvZ1RpbWVyIGFzIHNsb3cgcGF0aCBpbiBERkcgYW5k
IEZUTC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
Nzk2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
LWltcGxlbWVudCB0aGUgREZHJ3MgQ2hlY2tXYXRjaGRvZ1RpbWVyIGFzIGEgc2xvdyBwYXRoIGlu
c3RlYWQgb2YgYSBzcGVjdWxhdGlvbgorICAgICAgICBjaGVjay4gIFNpbmNlIHRoZSB3YXRjaGRv
ZyB0aW1lciBjYW4gZmlyZSBzcHVyaW91c2x5LCB0aGlzIGFsbG93cyB0aGUgY29kZSB0bworICAg
ICAgICBzdGF5IG9wdGltaXplZCBpZiBhbGwgd2UgaGF2ZSBhcmUgc3B1cmlvdXMgZmlyZXMuCisK
KyAgICAgICAgSW1wbGVtZW50IHRoZSBlcXVpdmFsZW50IHNsb3cgcGF0aCBmb3IgQ2hlY2tXYXRj
aGRvZ1RpbWVyIGluIHRoZSBGVEwuIAorCisgICAgICAgIFRoZSB3YXRjaGRvZyB0ZXN0cyBpbiBF
eGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcCBoYXMgYWxyZWFkeSBiZWVuIHVwZGF0ZWQgaW4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODEyNSB0byB0
ZXN0IGZvciB0aGUgRlRMJ3Mgd2F0Y2hkb2cKKyAgICAgICAgaW1wbGVtZW50YXRpb24uCisKKyAg
ICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6
CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAg
ICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAg
IChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU1hdGVyaWFsaXplQ3JlYXRl
QWN0aXZhdGlvbik6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29t
cGlsZUNoZWNrV2F0Y2hkb2dUaW1lcik6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRG
R1RvTExWTTo6aXNJbmxpbmFibGVTaXplKToKKworICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAg
ICAgKiBqaXQvSklUSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24p
OgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3Bl
cmF0aW9ucy5oOgorICAgICAgICAtIENoYW5nZWQgb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1l
cigpIHRvIHJldHVybiBhbiB1bnVzZWQgbnVsbHB0ci4gIFRoaXMKKyAgICAgICAgICBhbGxvd3Mg
bWUgdG8gcmV1c2UgdGhlIGV4aXN0aW5nIERGRyBzbG93IHBhdGggZ2VuZXJhdG9yIG1lY2hhbmlz
bS4gIEkgZGlkbid0CisgICAgICAgICAgdGhpbmsgdGhhdCBvcGVyYXRpb25IYW5kbGVXYXRjaGRv
Z1RpbWVyKCkgd2FzIHdvcnRoIGludHJvZHVjaW5nIGEgd2hvbGUgbmV3IHNldAorICAgICAgICAg
IG9mIG1hY2hpbmVyeSBqdXN0IHNvIHdlIGNhbiBoYXZlIGEgc2xvdyBwYXRoIHRoYXQgcmV0dXJu
cyB2b2lkLgorCiAyMDE1LTA4LTE4ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgVHJ5IHRvIGZpeCB0aGUgQ0xPT1AgYnVpbGQuCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJl
dmlzaW9uIDE4ODU5NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2NjgsMTQgKzQ2NjgsMTcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBlbWl0SW52YWxp
ZGF0aW9uUG9pbnQobm9kZSk7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBDaGVja1dhdGNo
ZG9nVGltZXI6CisgICAgY2FzZSBDaGVja1dhdGNoZG9nVGltZXI6IHsKICAgICAgICAgQVNTRVJU
KG1faml0LnZtKCktPndhdGNoZG9nKTsKLSAgICAgICAgc3BlY3VsYXRpb25DaGVjaygKLSAgICAg
ICAgICAgIFdhdGNoZG9nVGltZXJGaXJlZCwgSlNWYWx1ZVJlZ3MoKSwgMCwKLSAgICAgICAgICAg
IG1faml0LmJyYW5jaFRlc3Q4KAotICAgICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpOb25aZXJv
LAotICAgICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpBYnNvbHV0ZUFkZHJlc3MobV9qaXQudm0o
KS0+d2F0Y2hkb2ctPnRpbWVyRGlkRmlyZUFkZHJlc3MoKSkpKTsKKyAgICAgICAgR1BSVGVtcG9y
YXJ5IHVudXNlZCh0aGlzKTsKKyAgICAgICAgR1BSUmVnIHVudXNlZEdQUiA9IHVudXNlZC5ncHIo
KTsKKyAgICAgICAgCisgICAgICAgIEpJVENvbXBpbGVyOjpKdW1wIHRpbWVyRGlkRmlyZSA9IG1f
aml0LmJyYW5jaFRlc3Q4KEpJVENvbXBpbGVyOjpOb25aZXJvLAorICAgICAgICAgICAgSklUQ29t
cGlsZXI6OkFic29sdXRlQWRkcmVzcyhtX2ppdC52bSgpLT53YXRjaGRvZy0+dGltZXJEaWRGaXJl
QWRkcmVzcygpKSk7CisgICAgICAgIAorICAgICAgICBhZGRTbG93UGF0aEdlbmVyYXRvcihzbG93
UGF0aENhbGwodGltZXJEaWRGaXJlLCB0aGlzLCBvcGVyYXRpb25IYW5kbGVXYXRjaGRvZ1RpbWVy
LCB1bnVzZWRHUFIpKTsKICAgICAgICAgYnJlYWs7CisgICAgfQogCiAgICAgY2FzZSBDb3VudEV4
ZWN1dGlvbjoKICAgICAgICAgbV9qaXQuYWRkNjQoVHJ1c3RlZEltbTMyKDEpLCBNYWNyb0Fzc2Vt
Ymxlcjo6QWJzb2x1dGVBZGRyZXNzKG5vZGUtPmV4ZWN1dGlvbkNvdW50ZXIoKS0+YWRkcmVzcygp
KSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAJKHJldmlzaW9uIDE4ODU5NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzNjMsMTQgKzQz
NjMsMTcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAg
ICBlbWl0SW52YWxpZGF0aW9uUG9pbnQobm9kZSk7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2Fz
ZSBDaGVja1dhdGNoZG9nVGltZXI6CisgICAgY2FzZSBDaGVja1dhdGNoZG9nVGltZXI6IHsKICAg
ICAgICAgQVNTRVJUKG1faml0LnZtKCktPndhdGNoZG9nKTsKLSAgICAgICAgc3BlY3VsYXRpb25D
aGVjaygKLSAgICAgICAgICAgIFdhdGNoZG9nVGltZXJGaXJlZCwgSlNWYWx1ZVJlZ3MoKSwgMCwK
LSAgICAgICAgICAgIG1faml0LmJyYW5jaFRlc3Q4KAotICAgICAgICAgICAgICAgIEpJVENvbXBp
bGVyOjpOb25aZXJvLAotICAgICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpBYnNvbHV0ZUFkZHJl
c3MobV9qaXQudm0oKS0+d2F0Y2hkb2ctPnRpbWVyRGlkRmlyZUFkZHJlc3MoKSkpKTsKKyAgICAg
ICAgR1BSVGVtcG9yYXJ5IHVudXNlZCh0aGlzKTsKKyAgICAgICAgR1BSUmVnIHVudXNlZEdQUiA9
IHVudXNlZC5ncHIoKTsKKworICAgICAgICBKSVRDb21waWxlcjo6SnVtcCB0aW1lckRpZEZpcmUg
PSBtX2ppdC5icmFuY2hUZXN0OChKSVRDb21waWxlcjo6Tm9uWmVybywKKyAgICAgICAgICAgIEpJ
VENvbXBpbGVyOjpBYnNvbHV0ZUFkZHJlc3MobV9qaXQudm0oKS0+d2F0Y2hkb2ctPnRpbWVyRGlk
RmlyZUFkZHJlc3MoKSkpOworCisgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRo
Q2FsbCh0aW1lckRpZEZpcmUsIHRoaXMsIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIsIHVu
dXNlZEdQUikpOwogICAgICAgICBicmVhazsKKyAgICB9CiAKICAgICBjYXNlIFBoYW50b206CiAg
ICAgY2FzZSBDaGVjazoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJp
bGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENh
cGFiaWxpdGllcy5jcHAJKHJldmlzaW9uIDE4ODU5NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDYgKzEyMCw3
IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShOb2RlKiAKICAgICBjYXNlIENo
ZWNrQmFkQ2VsbDoKICAgICBjYXNlIENoZWNrTm90RW1wdHk6CiAgICAgY2FzZSBDaGVja0lkZW50
OgorICAgIGNhc2UgQ2hlY2tXYXRjaGRvZ1RpbWVyOgogICAgIGNhc2UgU3RyaW5nQ2hhckNvZGVB
dDoKICAgICBjYXNlIEFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgogICAgIGNhc2UgUmVhbGxvY2F0
ZVByb3BlcnR5U3RvcmFnZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0xMVk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0xMVk0uY3BwCShyZXZpc2lvbiAxODg1OTUpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEs
NiArNTEsNyBAQAogI2luY2x1ZGUgIlNjb3BlZEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIlNjb3Bl
ZEFyZ3VtZW50c1RhYmxlLmgiCiAjaW5jbHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgiCisjaW5jbHVk
ZSAiV2F0Y2hkb2cuaCIKICNpbmNsdWRlIDxhdG9taWM+CiAjaW5jbHVkZSA8ZGxmY24uaD4KICNp
bmNsdWRlIDxsbHZtL0luaXRpYWxpemVMTFZNLmg+CkBAIC04MzIsNiArODMzLDkgQEAgcHJpdmF0
ZToKICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgICAg
ICBjb21waWxlTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uKCk7CiAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBDaGVja1dhdGNoZG9nVGltZXI6CisgICAgICAgICAgICBjb21waWxl
Q2hlY2tXYXRjaGRvZ1RpbWVyKCk7CisgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNl
IFBoYW50b21Mb2NhbDoKICAgICAgICAgY2FzZSBMb29wSGludDoKQEAgLTU0MjcsNiArNTQzMSwy
MyBAQCBwcml2YXRlOgogICAgICAgICBzZXRKU1ZhbHVlKGFjdGl2YXRpb24pOwogICAgIH0KIAor
ICAgIHZvaWQgY29tcGlsZUNoZWNrV2F0Y2hkb2dUaW1lcigpCisgICAgeworICAgICAgICBMQmFz
aWNCbG9jayB0aW1lckRpZEZpcmUgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkNoZWNrV2F0Y2hk
b2dUaW1lciB0aW1lciBkaWQgZmlyZSIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0
aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJDaGVja1dhdGNoZG9nVGltZXIgY29udGludWF0
aW9uIikpOworICAgICAgICAKKyAgICAgICAgTFZhbHVlIHN0YXRlID0gbV9vdXQubG9hZDgobV9v
dXQuYWJzb2x1dGUodm0oKS53YXRjaGRvZy0+dGltZXJEaWRGaXJlQWRkcmVzcygpKSk7CisgICAg
ICAgIG1fb3V0LmJyYW5jaChtX291dC5lcXVhbChzdGF0ZSwgbV9vdXQuY29uc3RJbnQ4KDApKSwK
KyAgICAgICAgICAgIHVzdWFsbHkoY29udGludWF0aW9uKSwgcmFyZWx5KHRpbWVyRGlkRmlyZSkp
OworCisgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8odGltZXJE
aWRGaXJlLCBjb250aW51YXRpb24pOworCisgICAgICAgIHZtQ2FsbChtX291dC5vcGVyYXRpb24o
b3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lciksIG1fY2FsbEZyYW1lKTsKKyAgICAgICAgbV9v
dXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8o
Y29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgfQorCiAgICAgYm9vbCBpc0lubGluYWJsZVNp
emUoTFZhbHVlIGZ1bmN0aW9uKQogICAgIHsKICAgICAgICAgc2l6ZV90IGluc3RydWN0aW9uQ291
bnQgPSAwOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCShyZXZpc2lvbiAxODg1OTUpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Mzks
NiArNzM5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVBjLCBpbnQsIEluc3RydWN0aW9uKik7CiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RVosIGludCwgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRVpaLCBpbnQsIGludDMyX3QsIGludDMyX3QpOworICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9uX0UpOwog
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9u
X0VKUywgR1BSUmVnLCBzaXplX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VDQywgUmVnaXN0ZXJJRCwgUmVnaXN0ZXJJRCk7CiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oU19KSVRPcGVyYXRpb25f
RUosIFJlZ2lzdGVySUQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxp
bmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVz
LmgJKHJldmlzaW9uIDE4ODU5NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDEyIEBAIEFMV0FZU19JTkxJTkUg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjoKICAgICByZXR1cm4gY2FsbDsKIH0KIAorQUxXQVlT
X0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oUF9KSVRPcGVy
YXRpb25fRSBvcGVyYXRpb24pCit7CisgICAgc2V0dXBBcmd1bWVudHNFeGVjU3RhdGUoKTsKKyAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOworfQorCiBB
TFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihDX0pJ
VE9wZXJhdGlvbl9FIG9wZXJhdGlvbikKIHsKICAgICBzZXR1cEFyZ3VtZW50c0V4ZWNTdGF0ZSgp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCShy
ZXZpc2lvbiAxODg1OTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05ODgsMTMgKzk4OCwxNSBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5lCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShS
ZWdFeHBPYmplY3Q6OmNyZWF0ZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5yZWdF
eHBTdHJ1Y3R1cmUoKSwgcmVnZXhwKSk7CiB9CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25IYW5kbGVXYXRjaGRvZ1RpbWVyKEV4ZWNTdGF0ZSogZXhlYykKK1VudXNlZFB0ciBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKiBleGVjKQogewog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNl
cigmdm0sIGV4ZWMpOwogCiAgICAgaWYgKFVOTElLRUxZKHZtLndhdGNoZG9nICYmIHZtLndhdGNo
ZG9nLT5kaWRGaXJlKGV4ZWMpKSkKICAgICAgICAgdm0udGhyb3dFeGNlcHRpb24oZXhlYywgY3Jl
YXRlVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbigmdm0pKTsKKworICAgIHJldHVybiBudWxs
cHRyOwogfQogCiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVGhyb3dTdGF0aWNFcnJvcihF
eGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgaW50MzJfdCByZWZl
cmVuY2VFcnJvckZsYWcpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuaAkocmV2aXNpb24gMTg4NTk1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDggQEAgY2xhc3MgQXJy
YXlBbGxvY2F0aW9uUHJvZmlsZTsKIAogZXh0ZXJuICJDIiB7CiAKK3R5cGVkZWYgY2hhciogVW51
c2VkUHRyOworCiAvLyBUaGVzZSB0eXBlZGVmcyBwcm92aWRlIHR5cGVjaGVja2luZyB3aGVuIGdl
bmVyYXRpbmcgY2FsbHMgb3V0IHRvIGhlbHBlciByb3V0aW5lczsKIC8vIHRoaXMgaGVscHMgcHJl
dmVudCBjYWxsaW5nIGEgaGVscGVyIHJvdXRpbmUgd2l0aCB0aGUgd3JvbmcgYXJndW1lbnRzIQog
LyoKQEAgLTI5Myw3ICsyOTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5lCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVu
Y3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpT
U2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxsKiBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBX
VEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1Jl
Z2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwotdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwor
VW51c2VkUHRyIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVj
U3RhdGUqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVGhyb3dT
dGF0aWNFcnJvcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgaW50MzJfdCkgV1RGX0lOVEVS
TkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblRocm93KEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVi
dWcoRXhlY1N0YXRlKiwgaW50MzJfdCkgV1RGX0lOVEVSTkFMOwo=
</data>
<flag name="review"
          id="284573"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>