<?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>65830</bug_id>
          
          <creation_ts>2011-08-07 13:46:50 -0700</creation_ts>
          <short_desc>DFG JIT verbose mode does not report the generated types of nodes</short_desc>
          <delta_ts>2011-08-11 17:11:27 -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>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>447770</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-07 13:46:50 -0700</bug_when>
    <thetext>The DFG JIT has a verbose mode that is intended for debugging, where it currently dumps the IR and the machine code offsets at which nodes in the IR were generated.  The IR is mostly untyped, with types being selected on-the-fly in the backend.  But the backend does not report the types that are selected for nodes, making it difficult to reason about what kind of code the JIT is emitting unless a machine code dump is produced.  The simplest solution is to have the DFG backends (both speculative and non-speculative) dump the DataFormat selected for the register into which the result of each node is placed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447771</commentid>
    <comment_count>1</comment_count>
      <attachid>103187</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-07 13:49:09 -0700</bug_when>
    <thetext>Created attachment 103187
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447828</commentid>
    <comment_count>2</comment_count>
      <attachid>103187</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-07 21:14:53 -0700</bug_when>
    <thetext>Comment on attachment 103187
the patch

Attachment 103187 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9324802

New failing tests:
svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
svg/custom/svg-fonts-word-spacing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447833</commentid>
    <comment_count>3</comment_count>
      <attachid>103187</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-07 21:59:27 -0700</bug_when>
    <thetext>Comment on attachment 103187
the patch

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

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:1300
&gt;          if (!m_compileOkay)
&gt;              return;
&gt; +#if DFG_DEBUG_VERBOSE
&gt; +        if (node.hasResult())
&gt; +            fprintf(stderr, &quot;-&gt; %s\n&quot;, dataFormatToString(m_generationInfo[node.virtualRegister()].registerFormat()));
&gt; +        else
&gt; +            fprintf(stderr, &quot;\n&quot;);
&gt; +#endif

It seems like this might give output without a newline in the case that the compile fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447843</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-07 22:37:54 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 103187 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=103187&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:1300
&gt; &gt;          if (!m_compileOkay)
&gt; &gt;              return;
&gt; &gt; +#if DFG_DEBUG_VERBOSE
&gt; &gt; +        if (node.hasResult())
&gt; &gt; +            fprintf(stderr, &quot;-&gt; %s\n&quot;, dataFormatToString(m_generationInfo[node.virtualRegister()].registerFormat()));
&gt; &gt; +        else
&gt; &gt; +            fprintf(stderr, &quot;\n&quot;);
&gt; &gt; +#endif
&gt; 
&gt; It seems like this might give output without a newline in the case that the compile fails.

Actually it just changes the format of the output when speculation fails.  Previously it would have printed:

SpeculativeJIT generating Node @150 at JIT offset 0x73e
SpeculativeJIT generating Node @151 at JIT offset 0x742
SpeculativeJIT generating Node @152 at JIT offset 0x742
SpeculativeJIT generating Node @156 at JIT offset 0x74b
SpeculativeJIT generating Node @159 at JIT offset 0x74f 
SpeculativeJIT generating Node @160 at JIT offset 0x753
SpeculativeJIT generating Node @162 at JIT offset 0x7c0
SpeculativeJIT generating Node @164 at JIT offset 0x7e6
SpeculativeJIT generating Node @165 at JIT offset 0x7e6
SpeculativeJIT generating Node @167 at JIT offset 0x7f9   
SpeculativeJIT generating Node @169 at JIT offset 0x86f
SpeculativeJIT generating Node @170 at JIT offset 0x873
SpeculativeJIT was terminated.
NonSpeculativeJIT generating Node @8 at code offset 0x2d
NonSpeculativeJIT generating Node @9 at code offset 0x31
NonSpeculativeJIT generating Node @10 at code offset 0x5e   

Now it&apos;ll print:

SpeculativeJIT generating Node @150 at JIT offset 0x73e   -&gt; Integer
SpeculativeJIT generating Node @151 at JIT offset 0x742   -&gt; None
SpeculativeJIT generating Node @152 at JIT offset 0x742   -&gt; None
SpeculativeJIT generating Node @156 at JIT offset 0x74b   -&gt; JSCell
SpeculativeJIT generating Node @159 at JIT offset 0x74f   -&gt; JS
SpeculativeJIT generating Node @160 at JIT offset 0x753   -&gt; JS
SpeculativeJIT generating Node @162 at JIT offset 0x7c0   -&gt; Double
SpeculativeJIT generating Node @164 at JIT offset 0x7e6   -&gt; None
SpeculativeJIT generating Node @165 at JIT offset 0x7e6   -&gt; Double
SpeculativeJIT generating Node @167 at JIT offset 0x7f9   
SpeculativeJIT generating Node @169 at JIT offset 0x86f   -&gt; Integer
SpeculativeJIT generating Node @170 at JIT offset 0x873   SpeculativeJIT was terminated.
NonSpeculativeJIT generating Node @8 at code offset 0x2d   -&gt; JS
NonSpeculativeJIT generating Node @9 at code offset 0x31   -&gt; Cell
NonSpeculativeJIT generating Node @10 at code offset 0x5e   

If anyone feels strongly about having &quot;SpeculativeJIT was terminated&quot; printed after a newline after the line that reports the node on which the speculation fails, then I can certainly make that change!  But I left it this way because to me, this actually kind of looks better.  It implements the invariant that verbose mode prints one line per node, per JIT backend, and this one line contains all the info you want (the node number, the machine code offset, the result if there is one, and whether or not speculation terminated).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450079</commentid>
    <comment_count>5</comment_count>
      <attachid>103187</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-08-11 15:24:34 -0700</bug_when>
    <thetext>Comment on attachment 103187
the patch

My mistake, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450121</commentid>
    <comment_count>6</comment_count>
      <attachid>103696</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-11 16:11:12 -0700</bug_when>
    <thetext>Created attachment 103696
the patch (fix merge)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450174</commentid>
    <comment_count>7</comment_count>
      <attachid>103696</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-11 17:11:23 -0700</bug_when>
    <thetext>Comment on attachment 103696
the patch (fix merge)

Clearing flags on attachment: 103696

Committed r92892: &lt;http://trac.webkit.org/changeset/92892&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450175</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-11 17:11:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103187</attachid>
            <date>2011-08-07 13:49:09 -0700</date>
            <delta_ts>2011-08-11 16:11:12 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>verboseresult_patch_1.diff</filename>
            <type>text/plain</type>
            <size>4153</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI1NzQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMDgtMDcgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgSklUIHZlcmJvc2UgbW9kZSBkb2VzIG5vdCByZXBvcnQgdGhlIGdlbmVyYXRlZCB0eXBlcyBv
ZiBub2RlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjU4MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisg
ICAgICAgIEFkZGVkIGNvZGUgdGhhdCBwcmludHMgdGhlIHR5cGUgc2VsZWN0ZWQgZm9yIGVhY2gg
bm9kZSdzIHJlc3VsdC4KKworICAgICAgICAqIGRmZy9ERkdHZW5lcmF0aW9uSW5mby5oOgorICAg
ICAgICAoSlNDOjpERkc6OmRhdGFGb3JtYXRUb1N0cmluZyk6CisgICAgICAgICogZGZnL0RGR05v
blNwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpOb25TcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisKIDIwMTEtMDgtMDcgIE1h
cnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIERpc3RyaWJ1
dGlvbiBmaXggZm9yIEdUSysuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dl
bmVyYXRpb25JbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHZW5lcmF0aW9uSW5mby5oCShyZXZpc2lvbiA5MjU3NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHR2VuZXJhdGlvbkluZm8uaAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDks
MzIgQEAgZW51bSBEYXRhRm9ybWF0IHsKICAgICBEYXRhRm9ybWF0SlNDZWxsID0gRGF0YUZvcm1h
dEpTIHwgRGF0YUZvcm1hdENlbGwsCiB9OwogCisjaWZuZGVmIE5ERUJVRworaW5saW5lIGNvbnN0
IGNoYXIqIGRhdGFGb3JtYXRUb1N0cmluZyhEYXRhRm9ybWF0IGRhdGFGb3JtYXQpCit7CisgICAg
c3dpdGNoIChkYXRhRm9ybWF0KSB7CisgICAgY2FzZSBEYXRhRm9ybWF0Tm9uZToKKyAgICAgICAg
cmV0dXJuICJOb25lIjsKKyAgICBjYXNlIERhdGFGb3JtYXRJbnRlZ2VyOgorICAgICAgICByZXR1
cm4gIkludGVnZXIiOworICAgIGNhc2UgRGF0YUZvcm1hdERvdWJsZToKKyAgICAgICAgcmV0dXJu
ICJEb3VibGUiOworICAgIGNhc2UgRGF0YUZvcm1hdENlbGw6CisgICAgICAgIHJldHVybiAiQ2Vs
bCI7CisgICAgY2FzZSBEYXRhRm9ybWF0SlM6CisgICAgICAgIHJldHVybiAiSlMiOworICAgIGNh
c2UgRGF0YUZvcm1hdEpTSW50ZWdlcjoKKyAgICAgICAgcmV0dXJuICJKU0ludGVnZXIiOworICAg
IGNhc2UgRGF0YUZvcm1hdEpTRG91YmxlOgorICAgICAgICByZXR1cm4gIkpTRG91YmxlIjsKKyAg
ICBjYXNlIERhdGFGb3JtYXRKU0NlbGw6CisgICAgICAgIHJldHVybiAiSlNDZWxsIjsKKyAgICBk
ZWZhdWx0OgorICAgICAgICByZXR1cm4gIlVua25vd24iOworICAgIH0KK30KKyNlbmRpZgorCiBp
bmxpbmUgYm9vbCBuZWVkRGF0YUZvcm1hdENvbnZlcnNpb24oRGF0YUZvcm1hdCBmcm9tLCBEYXRh
Rm9ybWF0IHRvKQogewogICAgIEFTU0VSVChmcm9tICE9IERhdGFGb3JtYXROb25lKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9uU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9uU3BlY3VsYXRpdmVKSVQu
Y3BwCShyZXZpc2lvbiA5MjU3NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9u
U3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTg0LDcgKzExODQsNyBAQCB2
b2lkIE5vblNwZWN1bGF0aXZlSklUOjpjb21waWxlKFNwZWN1bGF0CiAgICAgICAgICAgICBjb250
aW51ZTsKIAogI2lmIERGR19ERUJVR19WRVJCT1NFCi0gICAgICAgIGZwcmludGYoc3RkZXJyLCAi
Tm9uU3BlY3VsYXRpdmVKSVQgZ2VuZXJhdGluZyBOb2RlIEAlZCBhdCBjb2RlIG9mZnNldCAweCV4
XG4iLCAoaW50KW1fY29tcGlsZUluZGV4LCBtX2ppdC5kZWJ1Z09mZnNldCgpKTsKKyAgICAgICAg
ZnByaW50ZihzdGRlcnIsICJOb25TcGVjdWxhdGl2ZUpJVCBnZW5lcmF0aW5nIE5vZGUgQCVkIGF0
IGNvZGUgb2Zmc2V0IDB4JXggICAiLCAoaW50KW1fY29tcGlsZUluZGV4LCBtX2ppdC5kZWJ1Z09m
ZnNldCgpKTsKICNlbmRpZgogI2lmIERGR19KSVRfQlJFQUtfT05fRVZFUllfTk9ERQogICAgICAg
ICBtX2ppdC5icmVha3BvaW50KCk7CkBAIC0xMTkyLDYgKzExOTIsMTIgQEAgdm9pZCBOb25TcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZShTcGVjdWxhdAogCiAgICAgICAgIGNoZWNrQ29uc2lzdGVuY3ko
KTsKICAgICAgICAgY29tcGlsZShjaGVja0l0ZXJhdG9yLCBub2RlKTsKKyNpZiBERkdfREVCVUdf
VkVSQk9TRQorICAgICAgICBpZiAobm9kZS5oYXNSZXN1bHQoKSkKKyAgICAgICAgICAgIGZwcmlu
dGYoc3RkZXJyLCAiLT4gJXNcbiIsIGRhdGFGb3JtYXRUb1N0cmluZyhtX2dlbmVyYXRpb25JbmZv
W25vZGUudmlydHVhbFJlZ2lzdGVyKCldLnJlZ2lzdGVyRm9ybWF0KCkpKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJcbiIpOworI2VuZGlmCiAgICAgICAgIGNo
ZWNrQ29uc2lzdGVuY3koKTsKICAgICB9CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gOTI1NzQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTI4Myw3ICsxMjgzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShCYXNp
Y0Jsb2NrJgogICAgICAgICAgICAgY29udGludWU7CiAKICNpZiBERkdfREVCVUdfVkVSQk9TRQot
ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlNwZWN1bGF0aXZlSklUIGdlbmVyYXRpbmcgTm9kZSBA
JWQgYXQgSklUIG9mZnNldCAweCV4XG4iLCAoaW50KW1fY29tcGlsZUluZGV4LCBtX2ppdC5kZWJ1
Z09mZnNldCgpKTsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJTcGVjdWxhdGl2ZUpJVCBnZW5l
cmF0aW5nIE5vZGUgQCVkIGF0IEpJVCBvZmZzZXQgMHgleCAgICIsIChpbnQpbV9jb21waWxlSW5k
ZXgsIG1faml0LmRlYnVnT2Zmc2V0KCkpOwogI2VuZGlmCiAjaWYgREZHX0pJVF9CUkVBS19PTl9F
VkVSWV9OT0RFCiAgICAgICAgIG1faml0LmJyZWFrcG9pbnQoKTsKQEAgLTEyOTIsNiArMTI5Miwx
MiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKEJhc2ljQmxvY2smCiAgICAgICAgIGNv
bXBpbGUobm9kZSk7CiAgICAgICAgIGlmICghbV9jb21waWxlT2theSkKICAgICAgICAgICAgIHJl
dHVybjsKKyNpZiBERkdfREVCVUdfVkVSQk9TRQorICAgICAgICBpZiAobm9kZS5oYXNSZXN1bHQo
KSkKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiLT4gJXNcbiIsIGRhdGFGb3JtYXRUb1N0
cmluZyhtX2dlbmVyYXRpb25JbmZvW25vZGUudmlydHVhbFJlZ2lzdGVyKCldLnJlZ2lzdGVyRm9y
bWF0KCkpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJcbiIp
OworI2VuZGlmCiAgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICB9CiB9Cg==
</data>
<flag name="review"
          id="98691"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="98708"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103696</attachid>
            <date>2011-08-11 16:11:12 -0700</date>
            <delta_ts>2011-08-11 17:11:23 -0700</delta_ts>
            <desc>the patch (fix merge)</desc>
            <filename>verboseresult_patch_2.diff</filename>
            <type>text/plain</type>
            <size>4157</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI4ODQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMDgtMDcgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgSklUIHZlcmJvc2UgbW9kZSBkb2VzIG5vdCByZXBvcnQgdGhlIGdlbmVyYXRlZCB0eXBlcyBv
ZiBub2RlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjU4MzAKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorICAgICAgICAKKyAgICAg
ICAgQWRkZWQgY29kZSB0aGF0IHByaW50cyB0aGUgdHlwZSBzZWxlY3RlZCBmb3IgZWFjaCBub2Rl
J3MgcmVzdWx0LgorCisgICAgICAgICogZGZnL0RGR0dlbmVyYXRpb25JbmZvLmg6CisgICAgICAg
IChKU0M6OkRGRzo6ZGF0YUZvcm1hdFRvU3RyaW5nKToKKyAgICAgICAgKiBkZmcvREZHTm9uU3Bl
Y3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6Ok5vblNwZWN1bGF0aXZlSklUOjpj
b21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKwogMjAxMS0wOC0xMSAgSmFtZXMg
Um9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIG51bGxwdHIgY2FuJ3Qg
YmUgdXNlZCBmb3IgUGFzc1JlZlB0cgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHZW5lcmF0aW9uSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR2VuZXJhdGlvbkluZm8uaAkocmV2aXNpb24gOTI4ODQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dlbmVyYXRpb25JbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYg
KzQ5LDMyIEBAIGVudW0gRGF0YUZvcm1hdCB7CiAgICAgRGF0YUZvcm1hdEpTQ2VsbCA9IERhdGFG
b3JtYXRKUyB8IERhdGFGb3JtYXRDZWxsLAogfTsKIAorI2lmbmRlZiBOREVCVUcKK2lubGluZSBj
b25zdCBjaGFyKiBkYXRhRm9ybWF0VG9TdHJpbmcoRGF0YUZvcm1hdCBkYXRhRm9ybWF0KQorewor
ICAgIHN3aXRjaCAoZGF0YUZvcm1hdCkgeworICAgIGNhc2UgRGF0YUZvcm1hdE5vbmU6CisgICAg
ICAgIHJldHVybiAiTm9uZSI7CisgICAgY2FzZSBEYXRhRm9ybWF0SW50ZWdlcjoKKyAgICAgICAg
cmV0dXJuICJJbnRlZ2VyIjsKKyAgICBjYXNlIERhdGFGb3JtYXREb3VibGU6CisgICAgICAgIHJl
dHVybiAiRG91YmxlIjsKKyAgICBjYXNlIERhdGFGb3JtYXRDZWxsOgorICAgICAgICByZXR1cm4g
IkNlbGwiOworICAgIGNhc2UgRGF0YUZvcm1hdEpTOgorICAgICAgICByZXR1cm4gIkpTIjsKKyAg
ICBjYXNlIERhdGFGb3JtYXRKU0ludGVnZXI6CisgICAgICAgIHJldHVybiAiSlNJbnRlZ2VyIjsK
KyAgICBjYXNlIERhdGFGb3JtYXRKU0RvdWJsZToKKyAgICAgICAgcmV0dXJuICJKU0RvdWJsZSI7
CisgICAgY2FzZSBEYXRhRm9ybWF0SlNDZWxsOgorICAgICAgICByZXR1cm4gIkpTQ2VsbCI7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuICJVbmtub3duIjsKKyAgICB9Cit9CisjZW5kaWYK
KwogaW5saW5lIGJvb2wgbmVlZERhdGFGb3JtYXRDb252ZXJzaW9uKERhdGFGb3JtYXQgZnJvbSwg
RGF0YUZvcm1hdCB0bykKIHsKICAgICBBU1NFUlQoZnJvbSAhPSBEYXRhRm9ybWF0Tm9uZSk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vblNwZWN1bGF0aXZlSklULmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vblNwZWN1bGF0aXZl
SklULmNwcAkocmV2aXNpb24gOTI4ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R05vblNwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE4Niw3ICsxMTg2LDcg
QEAgdm9pZCBOb25TcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShTcGVjdWxhdAogICAgICAgICAgICAg
Y29udGludWU7CiAKICNpZiBERkdfREVCVUdfVkVSQk9TRQotICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIk5vblNwZWN1bGF0aXZlSklUIGdlbmVyYXRpbmcgTm9kZSBAJWQgYXQgY29kZSBvZmZzZXQg
MHgleFxuIiwgKGludCltX2NvbXBpbGVJbmRleCwgbV9qaXQuZGVidWdPZmZzZXQoKSk7CisgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiTm9uU3BlY3VsYXRpdmVKSVQgZ2VuZXJhdGluZyBOb2RlIEAl
ZCBhdCBjb2RlIG9mZnNldCAweCV4ICAgIiwgKGludCltX2NvbXBpbGVJbmRleCwgbV9qaXQuZGVi
dWdPZmZzZXQoKSk7CiAjZW5kaWYKICNpZiBERkdfSklUX0JSRUFLX09OX0VWRVJZX05PREUKICAg
ICAgICAgbV9qaXQuYnJlYWtwb2ludCgpOwpAQCAtMTE5NCw2ICsxMTk0LDEyIEBAIHZvaWQgTm9u
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoU3BlY3VsYXQKIAogICAgICAgICBjaGVja0NvbnNpc3Rl
bmN5KCk7CiAgICAgICAgIGNvbXBpbGUoY2hlY2tJdGVyYXRvciwgbm9kZSk7CisjaWYgREZHX0RF
QlVHX1ZFUkJPU0UKKyAgICAgICAgaWYgKG5vZGUuaGFzUmVzdWx0KCkpCisgICAgICAgICAgICBm
cHJpbnRmKHN0ZGVyciwgIi0+ICVzXG4iLCBkYXRhRm9ybWF0VG9TdHJpbmcobV9nZW5lcmF0aW9u
SW5mb1tub2RlLnZpcnR1YWxSZWdpc3RlcigpXS5yZWdpc3RlckZvcm1hdCgpKSk7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiXG4iKTsKKyNlbmRpZgogICAgICAg
ICBjaGVja0NvbnNpc3RlbmN5KCk7CiAgICAgfQogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDkyODg0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEyODMsNyArMTI4Myw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUo
QmFzaWNCbG9jayYKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAjaWYgREZHX0RFQlVHX1ZFUkJP
U0UKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJTcGVjdWxhdGl2ZUpJVCBnZW5lcmF0aW5nIE5v
ZGUgQCVkIGF0IEpJVCBvZmZzZXQgMHgleFxuIiwgKGludCltX2NvbXBpbGVJbmRleCwgbV9qaXQu
ZGVidWdPZmZzZXQoKSk7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiU3BlY3VsYXRpdmVKSVQg
Z2VuZXJhdGluZyBOb2RlIEAlZCBhdCBKSVQgb2Zmc2V0IDB4JXggICAiLCAoaW50KW1fY29tcGls
ZUluZGV4LCBtX2ppdC5kZWJ1Z09mZnNldCgpKTsKICNlbmRpZgogI2lmIERGR19KSVRfQlJFQUtf
T05fRVZFUllfTk9ERQogICAgICAgICBtX2ppdC5icmVha3BvaW50KCk7CkBAIC0xMjkyLDYgKzEy
OTIsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShCYXNpY0Jsb2NrJgogICAgICAg
ICBjb21waWxlKG5vZGUpOwogICAgICAgICBpZiAoIW1fY29tcGlsZU9rYXkpCiAgICAgICAgICAg
ICByZXR1cm47CisjaWYgREZHX0RFQlVHX1ZFUkJPU0UKKyAgICAgICAgaWYgKG5vZGUuaGFzUmVz
dWx0KCkpCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIi0+ICVzXG4iLCBkYXRhRm9ybWF0
VG9TdHJpbmcobV9nZW5lcmF0aW9uSW5mb1tub2RlLnZpcnR1YWxSZWdpc3RlcigpXS5yZWdpc3Rl
ckZvcm1hdCgpKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi
XG4iKTsKKyNlbmRpZgogICAgICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CiAgICAgfQogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>