<?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>23390</bug_id>
          
          <creation_ts>2009-01-16 14:44:35 -0800</creation_ts>
          <short_desc>SamplingTool is broken.</short_desc>
          <delta_ts>2009-01-16 16:16:19 -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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>106118</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-01-16 14:44:35 -0800</bug_when>
    <thetext>Should probably fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106119</commentid>
    <comment_count>1</comment_count>
      <attachid>26808</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-01-16 14:45:29 -0800</bug_when>
    <thetext>Created attachment 26808
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106127</commentid>
    <comment_count>2</comment_count>
      <attachid>26808</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2009-01-16 15:13:44 -0800</bug_when>
    <thetext>Comment on attachment 26808
The patch

&gt; +        void samplingToolTrackCodeBlock()
&gt; +        {
&gt; +#if ENABLE(CODEBLOCK_SAMPLING)
&gt; +#if PLATFORM(X86_64)
&gt; +            move(ImmPtr(m_interpreter-&gt;sampler()-&gt;codeBlockSlot()), X86::ecx);
&gt; +            storePtr(ImmPtr(m_codeBlock), X86::ecx);
&gt; +#else
&gt; +            storePtr(ImmPtr(m_codeBlock), m_interpreter-&gt;sampler()-&gt;codeBlockSlot());
&gt; +#endif
&gt; +#endif
&gt; +        }
&gt; +
&gt; +#if ENABLE(OPCODE_SAMPLING)
&gt; +        void samplingToolTrackCodeBlock(Instruction* instruction, bool inHostFunction=false)
&gt; +        {
&gt; +#if PLATFORM(X86_64)
&gt; +            move(ImmPtr(m_interpreter-&gt;sampler()-&gt;sampleSlot()), X86::ecx);
&gt; +            storePtr(ImmPtr(m_interpreter-&gt;sampler()-&gt;encodeSample(instruction, inHostFunction)), X86::ecx);
&gt; +#else
&gt; +            storePtr(ImmPtr(m_interpreter-&gt;sampler()-&gt;encodeSample(instruction, inHostFunction)), m_interpreter-&gt;sampler()-&gt;sampleSlot());
&gt; +#endif
&gt; +        }
&gt; +#else
&gt; +        void samplingToolTrackCodeBlock(Instruction*, bool) {}
&gt; +#endif

I think it&apos;s confusing to have two functions named &quot;samplingToolTrackCodeBlock&quot;, when one records a CodeBlock and the other records an Instruction and some flags.

How about &quot;sampleCodeBlock&quot; and &quot;sampleInstruction&quot; instead?

(You might also want to pass the CodeBlock* to sampleCodeBlock. It&apos;s a bit subtle that the function automatically supplies the CodeBlock you&apos;re currently compiling. Its real purpose, I think, is just to abstract out 32bit vs 64bit.)

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106138</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-01-16 16:16:19 -0800</bug_when>
    <thetext>fixed in 39993</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26808</attachid>
            <date>2009-01-16 14:45:29 -0800</date>
            <delta_ts>2009-01-16 15:13:44 -0800</delta_ts>
            <desc>The patch</desc>
            <filename>patch.samplfix.txt</filename>
            <type>text/plain</type>
            <size>10607</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM5OTg4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMDktMDEt
MTYgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIGZvciBTYW1wbGlu
Z1Rvb2wuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMzkwCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaDoKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnN0b3JlUHRyKToKKyAgICAgICAgKiBieXRlY29kZS9TYW1w
bGluZ1Rvb2wuY3BwOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Rvb2w6OnJ1bik6CisgICAgICAg
IChKU0M6OlNhbXBsaW5nVG9vbDo6ZHVtcCk6CisgICAgICAgICogYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmg6CisgICAgICAgIChKU0M6OlNhbXBsaW5nVG9vbDo6ZW5jb2RlU2FtcGxlKToKKyAgICAg
ICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5Q
YXNzKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZSk6CisgICAgICAgICogaml0
L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OnNhbXBsaW5nVG9vbFRyYWNrQ29kZUJsb2NrKToK
KyAgICAgICAgKiBqaXQvSklUQ2FsbC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6Y29tcGlsZU9w
Q2FsbCk6CisgICAgICAgIChKU0M6OkpJVDo6Y29tcGlsZU9wQ2FsbFNsb3dDYXNlKToKKyAgICAg
ICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRDVElD
YWxsX2ludGVybmFsKToKKwogMjAwOS0wMS0xNiAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyLmgJKHJldmlzaW9uIDM5OTY2KQorKysgYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTg4Nyw2ICs4ODcsMTMgQEAgcHVibGljOgogI2VuZGlmCiAgICAgfQog
CisjaWYgIVBMQVRGT1JNKFg4Nl82NCkKKyAgICB2b2lkIHN0b3JlUHRyKEltbVB0ciBpbW0sIHZv
aWQqIGFkZHJlc3MpCisgICAgeworICAgICAgICBzdG9yZTMyKEltbTMyKGltbSksIGFkZHJlc3Mp
OworICAgIH0KKyNlbmRpZgorCiAgICAgRGF0YUxhYmVsUHRyIHN0b3JlUHRyV2l0aFBhdGNoKEFk
ZHJlc3MgYWRkcmVzcykKICAgICB7CiAjaWYgUExBVEZPUk0oWDg2XzY0KQpJbmRleDogYnl0ZWNv
ZGUvU2FtcGxpbmdUb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBieXRlY29kZS9TYW1wbGluZ1Rvb2wu
Y3BwCShyZXZpc2lvbiAzOTk2NikKKysrIGJ5dGVjb2RlL1NhbXBsaW5nVG9vbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIFNhbXBsaW5nVG9vbDo6cnVuKCkKIAog
I2lmIEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJTkcpCiAgICAgICAgIE11dGV4TG9ja2VyIGxvY2tl
cihtX3Njb3BlU2FtcGxlTWFwTXV0ZXgpOwotICAgICAgICBTY29wZVNhbXBsZVJlY29yZCogcmVj
b3JkID0gbV9zY29wZVNhbXBsZU1hcC0+Z2V0KHNhbXBsZS5jb2RlQmxvY2soKS0+b3duZXJOb2Rl
KTsKKyAgICAgICAgU2NvcGVTYW1wbGVSZWNvcmQqIHJlY29yZCA9IG1fc2NvcGVTYW1wbGVNYXAt
PmdldChzYW1wbGUuY29kZUJsb2NrKCktPm93bmVyTm9kZSgpKTsKICAgICAgICAgQVNTRVJUKHJl
Y29yZCk7CiAgICAgICAgIHJlY29yZC0+c2FtcGxlKHNhbXBsZS5jb2RlQmxvY2soKSwgc2FtcGxl
LnZQQygpKTsKICNlbmRpZgpAQCAtMjQ4LDggKzI0OCw4IEBAIHZvaWQgU2FtcGxpbmdUb29sOjpk
dW1wKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgZG91YmxlIGJsb2NrUGVyY2VudCA9IChyZWNv
cmQtPm1fc2FtcGxlQ291bnQgKiAxMDAuMCkgLyBtX3NhbXBsZUNvdW50OwogCiAgICAgICAgIGlm
IChibG9ja1BlcmNlbnQgPj0gMSkgewotICAgICAgICAgICAgSW5zdHJ1Y3Rpb24qIGNvZGUgPSBj
b2RlQmxvY2stPmluc3RydWN0aW9ucygpLmJlZ2luKCk7Ci0gICAgICAgICAgICBwcmludGYoIiMl
ZDogJXM6JWQ6ICVkIC8gJWxsZCAoJS4zZiUlKVxuIiwgaSArIDEsIHJlY29yZC0+bV9zY29wZS0+
c291cmNlVVJMKCkuVVRGOFN0cmluZygpLmNfc3RyKCksIGNvZGVCbG9jay0+bGluZU51bWJlckZv
ckJ5dGVjb2RlT2Zmc2V0KDApLCByZWNvcmQtPm1fc2FtcGxlQ291bnQsIG1fc2FtcGxlQ291bnQs
IGJsb2NrUGVyY2VudCk7CisgICAgICAgICAgICAvL0luc3RydWN0aW9uKiBjb2RlID0gY29kZUJs
b2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpOworICAgICAgICAgICAgcHJpbnRmKCIjJWQ6ICVz
OiVkOiAlZCAvICVsbGQgKCUuM2YlJSlcbiIsIGkgKyAxLCByZWNvcmQtPm1fc2NvcGUtPnNvdXJj
ZVVSTCgpLlVURjhTdHJpbmcoKS5jX3N0cigpLCBjb2RlQmxvY2stPmxpbmVOdW1iZXJGb3JCeXRl
Y29kZU9mZnNldChleGVjLCAwKSwgcmVjb3JkLT5tX3NhbXBsZUNvdW50LCBtX3NhbXBsZUNvdW50
LCBibG9ja1BlcmNlbnQpOwogICAgICAgICAgICAgaWYgKGkgPCAxMCkgewogICAgICAgICAgICAg
ICAgIEhhc2hNYXA8dW5zaWduZWQsdW5zaWduZWQ+IGxpbmVDb3VudHM7CiAgICAgICAgICAgICAg
ICAgY29kZUJsb2NrLT5kdW1wKGV4ZWMpOwpAQCAtMjU5LDkgKzI1OSw3IEBAIHZvaWQgU2FtcGxp
bmdUb29sOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgICAgICAgICAgaW50IGNv
dW50ID0gcmVjb3JkLT5tX3NhbXBsZXNbb3BdOwogICAgICAgICAgICAgICAgICAgICBpZiAoY291
bnQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiICAgIFslIDRkXSBoYXMgc2Ft
cGxlIGNvdW50OiAlIDRkXG4iLCBvcCwgY291bnQpOwotICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gSXQgaXMgb2theSB0byBwYXNzIDAgYXMgdGhlIENhbGxGcmFtZSBmb3IgbGluZU51bWJlckZv
ckJ5dGVjb2RlT2Zmc2V0IHNpbmNlCi0gICAgICAgICAgICAgICAgICAgICAgICAvLyB3ZSBlbnN1
cmUgZXhjZXB0aW9uIGluZm9ybWF0aW9uIHdoZW4gU2FtcGxpbmcgaXMgZW5hYmxlZC4KLSAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmUgPSBjb2RlQmxvY2stPmxpbmVOdW1iZXJG
b3JCeXRlY29kZU9mZnNldCgwLCBvcCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBsaW5lID0gY29kZUJsb2NrLT5saW5lTnVtYmVyRm9yQnl0ZWNvZGVPZmZzZXQoZXhlYywgb3Ap
OwogICAgICAgICAgICAgICAgICAgICAgICAgbGluZUNvdW50cy5zZXQobGluZSwgKGxpbmVDb3Vu
dHMuY29udGFpbnMobGluZSkgPyBsaW5lQ291bnRzLmdldChsaW5lKSA6IDApICsgY291bnQpOwog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQpJbmRleDogYnl0ZWNvZGUv
U2FtcGxpbmdUb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgJKHJl
dmlzaW9uIDM5OTY2KQorKysgYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE1OSwxMCArMTU5LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBDb2RlQmxvY2sq
KiBjb2RlQmxvY2tTbG90KCkgeyByZXR1cm4gJm1fY29kZUJsb2NrOyB9CiAgICAgICAgIGludHB0
cl90KiBzYW1wbGVTbG90KCkgeyByZXR1cm4gJm1fc2FtcGxlOyB9CiAKLSAgICAgICAgdW5zaWdu
ZWQgZW5jb2RlU2FtcGxlKEluc3RydWN0aW9uKiB2UEMsIGJvb2wgaW5DVElGdW5jdGlvbiA9IGZh
bHNlLCBib29sIGluSG9zdEZ1bmN0aW9uID0gZmFsc2UpCisgICAgICAgIHZvaWQqIGVuY29kZVNh
bXBsZShJbnN0cnVjdGlvbiogdlBDLCBib29sIGluQ1RJRnVuY3Rpb24gPSBmYWxzZSwgYm9vbCBp
bkhvc3RGdW5jdGlvbiA9IGZhbHNlKQogICAgICAgICB7CiAgICAgICAgICAgICBBU1NFUlQoIShy
ZWludGVycHJldF9jYXN0PGludHB0cl90Pih2UEMpICYgMHgzKSk7Ci0gICAgICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odlBDKSB8IChzdGF0aWNfY2FzdDxpbnRwdHJf
dD4oaW5DVElGdW5jdGlvbikgPDwgMSkgfCBzdGF0aWNfY2FzdDxpbnRwdHJfdD4oaW5Ib3N0RnVu
Y3Rpb24pOworICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHJlaW50
ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHZQQykgfCAoc3RhdGljX2Nhc3Q8aW50cHRyX3Q+KGluQ1RJ
RnVuY3Rpb24pIDw8IDEpIHwgc3RhdGljX2Nhc3Q8aW50cHRyX3Q+KGluSG9zdEZ1bmN0aW9uKSk7
CiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6CkluZGV4OiBqaXQvSklULmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBqaXQvSklULmNwcAkocmV2aXNpb24gMzk5NjYpCisrKyBqaXQvSklULmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzE0LDcgKzMxNCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5Q
YXNzKCkKIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCiAgICAgICAgIGlmIChtX2J5dGVj
b2RlSW5kZXggPiAwKSAvLyBBdm9pZCB0aGUgb3ZlcmhlYWQgb2Ygc2FtcGxpbmcgb3BfZW50ZXIg
dHdpY2UuCi0gICAgICAgICAgICBzdG9yZTMyKG1faW50ZXJwcmV0ZXItPnNhbXBsZXIoKS0+ZW5j
b2RlU2FtcGxlKGN1cnJlbnRJbnN0cnVjdGlvbiksIG1faW50ZXJwcmV0ZXItPnNhbXBsZXIoKS0+
c2FtcGxlU2xvdCgpKTsKKyAgICAgICAgICAgIHNhbXBsaW5nVG9vbFRyYWNrQ29kZUJsb2NrKGN1
cnJlbnRJbnN0cnVjdGlvbik7CiAjZW5kaWYKIAogICAgICAgICBtX2xhYmVsc1ttX2J5dGVjb2Rl
SW5kZXhdID0gbGFiZWwoKTsKQEAgLTE2MDgsMTEgKzE2MDgsOSBAQCB2b2lkIEpJVDo6cHJpdmF0
ZUNvbXBpbGVTbG93Q2FzZXMoKQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGUoKQogewotI2lm
IEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJTkcpCi0gICAgICAgIHN0b3JlUHRyKEltbVB0cihtX2Nv
ZGVCbG9jayksIG1faW50ZXJwcmV0ZXItPnNhbXBsZXIoKS0+Y29kZUJsb2NrU2xvdCgpKTsKLSNl
bmRpZgorICAgIHNhbXBsaW5nVG9vbFRyYWNrQ29kZUJsb2NrKCk7CiAjaWYgRU5BQkxFKE9QQ09E
RV9TQU1QTElORykKLSAgICAgICAgc3RvcmUzMihJbW0zMihtX2ludGVycHJldGVyLT5zYW1wbGVy
KCktPmVuY29kZVNhbXBsZShtX2NvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKSkpLCBt
X2ludGVycHJldGVyLT5zYW1wbGVyKCktPnNhbXBsZVNsb3QoKSk7CisgICAgc2FtcGxpbmdUb29s
VHJhY2tDb2RlQmxvY2sobV9jb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmJlZ2luKCkpOwogI2Vu
ZGlmCiAKICAgICAvLyBDb3VsZCB1c2UgYSBwb3BfbSwgYnV0IHdvdWxkIG5lZWQgdG8gb2Zmc2V0
IHRoZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gaWYgc28uCkluZGV4OiBqaXQvSklULmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gaml0L0pJVC5oCShyZXZpc2lvbiAzOTk2NikKKysrIGppdC9KSVQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBKSVRfaAogCiAjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8Ynl0ZWNvZGUvU2FtcGxpbmdUb29sLmg+CiAKICNpZiBF
TkFCTEUoSklUKQogCkBAIC0yNDcsNyArMjQ4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRHZXRCeUlkUHJvcGVydHlNYXBPZmZzZXQgPSAz
MTsKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldEdldEJ5SWRQdXRSZXN1bHQg
PSAzMTsKICNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotICAgICAgICBzdGF0aWMgY29uc3Qg
aW50IHBhdGNoT2Zmc2V0R2V0QnlJZFNsb3dDYXNlQ2FsbCA9IDQwICsgY3RpQXJndW1lbnRJbml0
U2l6ZTsKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldEdldEJ5SWRTbG93Q2Fz
ZUNhbGwgPSA1MyArIGN0aUFyZ3VtZW50SW5pdFNpemU7CiAjZWxzZQogICAgICAgICBzdGF0aWMg
Y29uc3QgaW50IHBhdGNoT2Zmc2V0R2V0QnlJZFNsb3dDYXNlQ2FsbCA9IDMwICsgY3RpQXJndW1l
bnRJbml0U2l6ZTsKICNlbmRpZgpAQCAtNTA1LDYgKzUwNiwzMiBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgICAgICB2b2lkIGtpbGxMYXN0UmVzdWx0UmVnaXN0ZXIoKTsKIAorICAgICAgICB2b2lk
IHNhbXBsaW5nVG9vbFRyYWNrQ29kZUJsb2NrKCkKKyAgICAgICAgeworI2lmIEVOQUJMRShDT0RF
QkxPQ0tfU0FNUExJTkcpCisjaWYgUExBVEZPUk0oWDg2XzY0KQorICAgICAgICAgICAgbW92ZShJ
bW1QdHIobV9pbnRlcnByZXRlci0+c2FtcGxlcigpLT5jb2RlQmxvY2tTbG90KCkpLCBYODY6OmVj
eCk7CisgICAgICAgICAgICBzdG9yZVB0cihJbW1QdHIobV9jb2RlQmxvY2spLCBYODY6OmVjeCk7
CisjZWxzZQorICAgICAgICAgICAgc3RvcmVQdHIoSW1tUHRyKG1fY29kZUJsb2NrKSwgbV9pbnRl
cnByZXRlci0+c2FtcGxlcigpLT5jb2RlQmxvY2tTbG90KCkpOworI2VuZGlmCisjZW5kaWYKKyAg
ICAgICAgfQorCisjaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElORykKKyAgICAgICAgdm9pZCBzYW1w
bGluZ1Rvb2xUcmFja0NvZGVCbG9jayhJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIGJvb2wgaW5I
b3N0RnVuY3Rpb249ZmFsc2UpCisgICAgICAgIHsKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAg
ICAgICAgICBtb3ZlKEltbVB0cihtX2ludGVycHJldGVyLT5zYW1wbGVyKCktPnNhbXBsZVNsb3Qo
KSksIFg4Njo6ZWN4KTsKKyAgICAgICAgICAgIHN0b3JlUHRyKEltbVB0cihtX2ludGVycHJldGVy
LT5zYW1wbGVyKCktPmVuY29kZVNhbXBsZShpbnN0cnVjdGlvbiwgaW5Ib3N0RnVuY3Rpb24pKSwg
WDg2OjplY3gpOworI2Vsc2UKKyAgICAgICAgICAgIHN0b3JlUHRyKEltbVB0cihtX2ludGVycHJl
dGVyLT5zYW1wbGVyKCktPmVuY29kZVNhbXBsZShpbnN0cnVjdGlvbiwgaW5Ib3N0RnVuY3Rpb24p
KSwgbV9pbnRlcnByZXRlci0+c2FtcGxlcigpLT5zYW1wbGVTbG90KCkpOworI2VuZGlmCisgICAg
ICAgIH0KKyNlbHNlCisgICAgICAgIHZvaWQgc2FtcGxpbmdUb29sVHJhY2tDb2RlQmxvY2soSW5z
dHJ1Y3Rpb24qLCBib29sKSB7fQorI2VuZGlmCisKICAgICAgICAgSW50ZXJwcmV0ZXIqIG1faW50
ZXJwcmV0ZXI7CiAgICAgICAgIEpTR2xvYmFsRGF0YSogbV9nbG9iYWxEYXRhOwogICAgICAgICBD
b2RlQmxvY2sqIG1fY29kZUJsb2NrOwpJbmRleDogaml0L0pJVENhbGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIGppdC9KSVRDYWxsLmNwcAkocmV2aXNpb24gMzk5NjYpCisrKyBqaXQvSklUQ2FsbC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE2Nyw5ICsxNjcsNyBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2Fs
bChPcGNvZGVJRCBvcGNvZGVJCiAgICAgLy8gUHV0IHRoZSByZXR1cm4gdmFsdWUgaW4gZHN0LiBJ
biB0aGUgaW50ZXJwcmV0ZXIsIG9wX3JldCBkb2VzIHRoaXMuCiAgICAgZW1pdFB1dFZpcnR1YWxS
ZWdpc3Rlcihkc3QpOwogCi0jaWYgRU5BQkxFKENPREVCTE9DS19TQU1QTElORykKLSAgICBzdG9y
ZVB0cihJbW1QdHIobV9jb2RlQmxvY2spLCBtX2ludGVycHJldGVyLT5zYW1wbGVyKCktPmNvZGVC
bG9ja1Nsb3QoKSk7Ci0jZW5kaWYKKyAgICBzYW1wbGluZ1Rvb2xUcmFja0NvZGVCbG9jaygpOwog
fQogCiB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbFNsb3dDYXNlKEluc3RydWN0aW9uKiBpbnN0cnVj
dGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlciwgdW5zaWduZWQsIE9w
Y29kZUlEIG9wY29kZUlEKQpAQCAtMTg0LDkgKzE4Miw3IEBAIHZvaWQgSklUOjpjb21waWxlT3BD
YWxsU2xvd0Nhc2UoSW5zdHJ1Y3QKICAgICAvLyBQdXQgdGhlIHJldHVybiB2YWx1ZSBpbiBkc3Qu
IEluIHRoZSBpbnRlcnByZXRlciwgb3BfcmV0IGRvZXMgdGhpcy4KICAgICBlbWl0UHV0VmlydHVh
bFJlZ2lzdGVyKGRzdCk7CiAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKQotICAgIHN0
b3JlUHRyKEltbVB0cihtX2NvZGVCbG9jayksIG1faW50ZXJwcmV0ZXItPnNhbXBsZXIoKS0+Y29k
ZUJsb2NrU2xvdCgpKTsKLSNlbmRpZgorICAgIHNhbXBsaW5nVG9vbFRyYWNrQ29kZUJsb2NrKCk7
CiB9CiAKICNlbHNlCkBAIC0yNTYsOSArMjUyLDcgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENhbGwo
T3Bjb2RlSUQgb3Bjb2RlSQogICAgIC8vIFB1dCB0aGUgcmV0dXJuIHZhbHVlIGluIGRzdC4gSW4g
dGhlIGludGVycHJldGVyLCBvcF9yZXQgZG9lcyB0aGlzLgogICAgIGVtaXRQdXRWaXJ0dWFsUmVn
aXN0ZXIoZHN0KTsKIAotI2lmIEVOQUJMRShDT0RFQkxPQ0tfU0FNUExJTkcpCi0gICAgICAgIHN0
b3JlUHRyKEltbVB0cihtX2NvZGVCbG9jayksIG1faW50ZXJwcmV0ZXItPnNhbXBsZXIoKS0+Y29k
ZUJsb2NrU2xvdCgpKTsKLSNlbmRpZgorICAgIHNhbXBsaW5nVG9vbFRyYWNrQ29kZUJsb2NrKCk7
CiB9CiAKIHZvaWQgSklUOjpjb21waWxlT3BDYWxsU2xvd0Nhc2UoSW5zdHJ1Y3Rpb24qIGluc3Ry
dWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpdGVyLCB1bnNpZ25lZCBj
YWxsTGlua0luZm9JbmRleCwgT3Bjb2RlSUQgb3Bjb2RlSUQpCkBAIC0zNDEsOSArMzM1LDcgQEAg
dm9pZCBKSVQ6OmNvbXBpbGVPcENhbGxTbG93Q2FzZShJbnN0cnVjdAogICAgIHN0b3JlUmVzdWx0
Rm9yRmlyc3RSdW4ubGluayh0aGlzKTsKICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCk7
CiAKLSNpZiBFTkFCTEUoQ09ERUJMT0NLX1NBTVBMSU5HKQotICAgIHN0b3JlUHRyKEltbVB0ciht
X2NvZGVCbG9jayksIG1faW50ZXJwcmV0ZXItPnNhbXBsZXIoKS0+Y29kZUJsb2NrU2xvdCgpKTsK
LSNlbmRpZgorICAgIHNhbXBsaW5nVG9vbFRyYWNrQ29kZUJsb2NrKCk7CiB9CiAKICNlbmRpZgpJ
bmRleDogaml0L0pJVElubGluZU1ldGhvZHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBqaXQvSklUSW5saW5l
TWV0aG9kcy5oCShyZXZpc2lvbiAzOTk2NikKKysrIGppdC9KSVRJbmxpbmVNZXRob2RzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI0MywxMyArMjQzLDEzIEBAIEFMV0FZU19JTkxJTkUgSklUOjpKdW1w
IEpJVDo6ZW1pdENUSUNhbGwKICAgICBBU1NFUlQobV9ieXRlY29kZUluZGV4ICE9ICh1bnNpZ25l
ZCktMSk7IC8vIFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBkdXJpbmcgaG90L2Nv
bGQgcGF0aCBnZW5lcmF0aW9uLCBzbyB0aGF0IG1fYnl0ZWNvZGVJbmRleCBpcyBzZXQuCiAKICNp
ZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotICAgIHN0b3JlMzIoSW1tMzIobV9pbnRlcnByZXRl
ci0+c2FtcGxlcigpLT5lbmNvZGVTYW1wbGUobV9jb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmJl
Z2luKCkgKyBtX2J5dGVjb2RlSW5kZXgsIHRydWUpKSwgbV9pbnRlcnByZXRlci0+c2FtcGxlcigp
LT5zYW1wbGVTbG90KCkpOworICAgIHNhbXBsaW5nVG9vbFRyYWNrQ29kZUJsb2NrKG1fY29kZUJs
b2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpICsgbV9ieXRlY29kZUluZGV4LCB0cnVlKTsKICNl
bmRpZgogICAgIHJlc3RvcmVBcmd1bWVudFJlZmVyZW5jZSgpOwogICAgIEp1bXAgY3RpQ2FsbCA9
IGNhbGwoKTsKICAgICBtX2NhbGxzLmFwcGVuZChDYWxsUmVjb3JkKGN0aUNhbGwsIG1fYnl0ZWNv
ZGVJbmRleCwgaGVscGVyKSk7CiAjaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSAgICBzdG9y
ZTMyKEltbTMyKG1faW50ZXJwcmV0ZXItPnNhbXBsZXIoKS0+ZW5jb2RlU2FtcGxlKG1fY29kZUJs
b2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpICsgbV9ieXRlY29kZUluZGV4LCBmYWxzZSkpLCBt
X2ludGVycHJldGVyLT5zYW1wbGVyKCktPnNhbXBsZVNsb3QoKSk7CisgICAgc2FtcGxpbmdUb29s
VHJhY2tDb2RlQmxvY2sobV9jb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmJlZ2luKCkgKyBtX2J5
dGVjb2RlSW5kZXgsIGZhbHNlKTsKICNlbmRpZgogICAgIGtpbGxMYXN0UmVzdWx0UmVnaXN0ZXIo
KTsKIAo=
</data>
<flag name="review"
          id="12800"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>