<?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>143349</bug_id>
          
          <creation_ts>2015-04-02 15:27:16 -0700</creation_ts>
          <short_desc>Add Options::dumpSourceAtDFGTime()</short_desc>
          <delta_ts>2015-04-02 15:48:24 -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>
          
          
          <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>mmirman</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1082361</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-04-02 15:27:16 -0700</bug_when>
    <thetext>Sometimes, we will want to see the JSC source code that we&apos;re compiling, and it would be nice to be able to do this without having to jump thru a lot of hoops.  So, let&apos;s add a Options::dumpSourceAtDFGTime() option just like we have a Options::dumpBytecodeAtDFGTime() option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082366</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-04-02 15:33:12 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Sometimes, we will want to see the JSC source code ...

typo: ... want to see the JS source code ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082367</commentid>
    <comment_count>2</comment_count>
      <attachid>250014</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-04-02 15:34:29 -0700</bug_when>
    <thetext>Created attachment 250014
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082372</commentid>
    <comment_count>3</comment_count>
      <attachid>250014</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-04-02 15:41:36 -0700</bug_when>
    <thetext>Comment on attachment 250014
the patch.

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:3988
&gt; +        dataLog(&quot;==== begin source ====\n&quot;);

Do we this this delimiter?

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:3990
&gt; +        dataLog(&quot;\n==== end source ====\n\n&quot;);

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082374</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-04-02 15:43:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 250014 [details]
&gt; the patch.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=250014&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:3988
&gt; &gt; +        dataLog(&quot;==== begin source ====\n&quot;);
&gt; 
&gt; Do we this this delimiter?
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:3990
&gt; &gt; +        dataLog(&quot;\n==== end source ====\n\n&quot;);
&gt; 
&gt; ditto

It helps.  Consider the case where we actually compile eval or global code which don&apos;t have a { } around them.  Plus this is only debugging code.  So, let&apos;s go with these for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082376</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-04-02 15:48:24 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r182294: &lt;http://trac.webkit.org/r182294&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250014</attachid>
            <date>2015-04-02 15:34:29 -0700</date>
            <delta_ts>2015-04-02 15:40:57 -0700</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-143349.patch</filename>
            <type>text/plain</type>
            <size>5352</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgyMjg5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBA
CisyMDE1LTA0LTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgT3B0aW9uczo6ZHVtcFNvdXJjZUF0REZHVGltZSgpLgorICAgICAgICA8aHR0cHM6Ly93ZWJr
aXQub3JnL2IvMTQzMzQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNvbWV0aW1lcywgd2Ugd2lsbCB3YW50IHRvIHNlZSB0aGUgSlMgc291cmNlIGNv
ZGUgdGhhdCB3ZSdyZSBjb21waWxpbmcsIGFuZCBpdAorICAgICAgICB3b3VsZCBiZSBuaWNlIHRv
IGJlIGFibGUgdG8gZG8gdGhpcyB3aXRob3V0IGhhdmluZyB0byBqdW1wIHRocnUgYSBsb3Qgb2Yg
aG9vcHMuCisgICAgICAgIFNvLCBsZXQncyBhZGQgYSBPcHRpb25zOjpkdW1wU291cmNlQXRERkdU
aW1lKCkgb3B0aW9uIGp1c3QgbGlrZSB3ZSBoYXZlIGEKKyAgICAgICAgT3B0aW9uczo6ZHVtcEJ5
dGVjb2RlQXRERkdUaW1lKCkgb3B0aW9uLgorCisgICAgICAgIEFsc28gYWRkZWQgdmVyc2lvbnMg
b2YgQ29kZUJsb2NrOjpkdW1wU291cmNlKCkgYW5kIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKCkK
KyAgICAgICAgdGhhdCBleHBsaWNpdGx5IHRha2Ugbm8gYXJndW1lbnRzIChpbnN0ZWFkIG9mIHJl
bHlpbmcgb24gdGhlIHZlcnNpb24gdGhhdCB0YWtlcworICAgICAgICB0aGUgZGVmYXVsdCBhcmd1
bWVudCkuICBUaGVzZSB2ZXJzaW9ucyBhcmUgZnJpZW5kbGllciB0byB1c2Ugd2hlbiB3ZSB3YW50
IHRvIGNhbGwKKyAgICAgICAgdGhlbSBmcm9tIGFuIGludGVyYWN0aXZlIGRlYnVnZ2luZyBzZXNz
aW9uLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6
Q29kZUJsb2NrOjpkdW1wU291cmNlKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wQnl0
ZWNvZGUpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAqIGRmZy9E
RkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6
OnBhcnNlQ29kZUJsb2NrKToKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMuaDoKKwogMjAxNS0w
NC0wMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBD
bGVhbiB1cCBFbnVtZXJhdGlvbk1vZGUgdG8gZWFzaWx5IGV4dGVuZApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDE4MjI4NSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NTIsNiArNTUyLDMxIEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludFB1dEJ5SWRP
cChQcmludFN0cmUKICAgICBpdCArPSA1OwogfQogCit2b2lkIENvZGVCbG9jazo6ZHVtcFNvdXJj
ZSgpCit7CisgICAgZHVtcFNvdXJjZShXVEY6OmRhdGFGaWxlKCkpOworfQorCit2b2lkIENvZGVC
bG9jazo6ZHVtcFNvdXJjZShQcmludFN0cmVhbSYgb3V0KQoreworICAgIFNjcmlwdEV4ZWN1dGFi
bGUqIGV4ZWN1dGFibGUgPSBvd25lckV4ZWN1dGFibGUoKTsKKyAgICBpZiAoZXhlY3V0YWJsZS0+
aXNGdW5jdGlvbkV4ZWN1dGFibGUoKSkgeworICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1
bmN0aW9uRXhlY3V0YWJsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4o
ZXhlY3V0YWJsZSk7CisgICAgICAgIFN0cmluZyBzb3VyY2UgPSBmdW5jdGlvbkV4ZWN1dGFibGUt
PnNvdXJjZSgpLnByb3ZpZGVyKCktPmdldFJhbmdlKAorICAgICAgICAgICAgZnVuY3Rpb25FeGVj
dXRhYmxlLT5wYXJhbWV0ZXJzU3RhcnRPZmZzZXQoKSwKKyAgICAgICAgICAgIGZ1bmN0aW9uRXhl
Y3V0YWJsZS0+dHlwZVByb2ZpbGluZ0VuZE9mZnNldCgpICsgMSk7IC8vIFR5cGUgcHJvZmlsaW5n
IGVuZCBvZmZzZXQgaXMgdGhlIGNoYXJhY3RlciBiZWZvcmUgdGhlICd9Jy4KKyAgICAgICAgCisg
ICAgICAgIG91dC5wcmludCgiZnVuY3Rpb24gIiwgaW5mZXJyZWROYW1lKCksIHNvdXJjZSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisgICAgb3V0LnByaW50KGV4ZWN1dGFibGUtPnNvdXJjZSgp
LnRvU3RyaW5nKCkpOworfQorCit2b2lkIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKCkKK3sKKyAg
ICBkdW1wQnl0ZWNvZGUoV1RGOjpkYXRhRmlsZSgpKTsKK30KKwogdm9pZCBDb2RlQmxvY2s6OmR1
bXBCeXRlY29kZShQcmludFN0cmVhbSYgb3V0KQogewogICAgIC8vIFdlIG9ubHkgdXNlIHRoZSBF
eGVjU3RhdGUqIGZvciB0aGluZ3MgdGhhdCBkb24ndCBhY3R1YWxseSBsZWFkIHRvIEpTIGV4ZWN1
dGlvbiwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJ
KHJldmlzaW9uIDE4MjI4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtMTU1LDcgKzE1NSwxMSBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIHZpc2l0QWdncmVnYXRlKFNsb3RWaXNpdG9yJik7CiAKLSAgICB2b2lkIGR1bXBCeXRl
Y29kZShQcmludFN0cmVhbSYgPSBXVEY6OmRhdGFGaWxlKCkpOworICAgIHZvaWQgZHVtcFNvdXJj
ZSgpOworICAgIHZvaWQgZHVtcFNvdXJjZShQcmludFN0cmVhbSYpOworCisgICAgdm9pZCBkdW1w
Qnl0ZWNvZGUoKTsKKyAgICB2b2lkIGR1bXBCeXRlY29kZShQcmludFN0cmVhbSYpOwogICAgIHZv
aWQgZHVtcEJ5dGVjb2RlKAogICAgICAgICBQcmludFN0cmVhbSYsIHVuc2lnbmVkIGJ5dGVjb2Rl
T2Zmc2V0LAogICAgICAgICBjb25zdCBTdHViSW5mb01hcCYgPSBTdHViSW5mb01hcCgpLCBjb25z
dCBDYWxsTGlua0luZm9NYXAmID0gQ2FsbExpbmtJbmZvTWFwKCkpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDE4
MjI4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zOTcwLDggKzM5NzAsOSBAQCB2b2lkIEJ5dGVDb2RlUGFyc2Vy
OjpwYXJzZUNvZGVCbG9jaygpCiAgICAgICAgICAgICAqbV92bS0+bV9wZXJCeXRlY29kZVByb2Zp
bGVyLCBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2spOwogICAgIH0KICAgICAKKyAg
ICBib29sIHNob3VsZER1bXBTb3VyY2UgPSBPcHRpb25zOjpkdW1wU291cmNlQXRERkdUaW1lKCk7
CiAgICAgYm9vbCBzaG91bGREdW1wQnl0ZWNvZGUgPSBPcHRpb25zOjpkdW1wQnl0ZWNvZGVBdERG
R1RpbWUoKTsKLSAgICBpZiAoc2hvdWxkRHVtcEJ5dGVjb2RlKSB7CisgICAgaWYgKHNob3VsZER1
bXBTb3VyY2UgfHwgc2hvdWxkRHVtcEJ5dGVjb2RlKSB7CiAgICAgICAgIGRhdGFMb2coIlBhcnNp
bmcgIiwgKmNvZGVCbG9jayk7CiAgICAgICAgIGlmIChpbmxpbmVDYWxsRnJhbWUoKSkgewogICAg
ICAgICAgICAgZGF0YUxvZygKQEAgLTM5ODEsOCArMzk4MiwxNiBAQCB2b2lkIEJ5dGVDb2RlUGFy
c2VyOjpwYXJzZUNvZGVCbG9jaygpCiAgICAgICAgIGRhdGFMb2coCiAgICAgICAgICAgICAiOiBu
ZWVkc0FjdGl2YXRpb24gPSAiLCBjb2RlQmxvY2stPm5lZWRzQWN0aXZhdGlvbigpLAogICAgICAg
ICAgICAgIiwgaXNTdHJpY3RNb2RlID0gIiwgY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKS0+
aXNTdHJpY3RNb2RlKCksICJcbiIpOwotICAgICAgICBjb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lv
bigpLT5kdW1wQnl0ZWNvZGUoKTsKICAgICB9CisKKyAgICBpZiAoc2hvdWxkRHVtcFNvdXJjZSkg
eworICAgICAgICBkYXRhTG9nKCI9PT09IGJlZ2luIHNvdXJjZSA9PT09XG4iKTsKKyAgICAgICAg
Y29kZUJsb2NrLT5iYXNlbGluZVZlcnNpb24oKS0+ZHVtcFNvdXJjZSgpOworICAgICAgICBkYXRh
TG9nKCJcbj09PT0gZW5kIHNvdXJjZSA9PT09XG5cbiIpOworICAgIH0KKyAgICAKKyAgICBpZiAo
c2hvdWxkRHVtcEJ5dGVjb2RlKQorICAgICAgICBjb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lvbigp
LT5kdW1wQnl0ZWNvZGUoKTsKICAgICAKICAgICBWZWN0b3I8dW5zaWduZWQsIDMyPiBqdW1wVGFy
Z2V0czsKICAgICBjb21wdXRlUHJlY2lzZUp1bXBUYXJnZXRzKGNvZGVCbG9jaywganVtcFRhcmdl
dHMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNp
b24gMTgyMjg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjQsNiArMTI0LDcgQEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRp
b25TdHJpbmc7CiAgICAgdihib29sLCBzaG93QWxsREZHTm9kZXMsIGZhbHNlKSBcCiAgICAgdihv
cHRpb25SYW5nZSwgYnl0ZWNvZGVSYW5nZVRvREZHQ29tcGlsZSwgMCkgXAogICAgIHYob3B0aW9u
U3RyaW5nLCBkZmdGdW5jdGlvbldoaXRlbGlzdEZpbGUsIG51bGxwdHIpIFwKKyAgICB2KGJvb2ws
IGR1bXBTb3VyY2VBdERGR1RpbWUsIGZhbHNlKSBcCiAgICAgdihib29sLCBkdW1wQnl0ZWNvZGVB
dERGR1RpbWUsIGZhbHNlKSBcCiAgICAgdihib29sLCBkdW1wR3JhcGhBZnRlclBhcnNpbmcsIGZh
bHNlKSBcCiAgICAgdihib29sLCBkdW1wR3JhcGhBdEVhY2hQaGFzZSwgZmFsc2UpIFwK
</data>
<flag name="review"
          id="274851"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>