<?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>126331</bug_id>
          
          <creation_ts>2013-12-30 22:34:51 -0800</creation_ts>
          <short_desc>CStack: Refactor to split the tracking of the jsStackLimit from the native stackLimit.</short_desc>
          <delta_ts>2014-01-09 13:09:37 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>
          
          <blocked>126320</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>963465</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-12-30 22:34:51 -0800</bug_when>
    <thetext>Previously, when using the C stack for the JS stack, VM::m_jsStackLimit is a union with VM::m_stackLimit.  With this patch, we separate them into 2 distinct fields but haven&apos;t changed the computation of the limit values to set them with yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963467</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-12-30 22:39:34 -0800</bug_when>
    <thetext>This is a step in preparation for https://bugs.webkit.org/show_bug.cgi?id=126320.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963468</commentid>
    <comment_count>2</comment_count>
      <attachid>220148</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-12-30 22:43:09 -0800</bug_when>
    <thetext>Created attachment 220148
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963469</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-12-30 22:46:41 -0800</bug_when>
    <thetext>Landed in r161172 on the jsCStack branch: &lt;http://trac.webkit.org/r161172&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963856</commentid>
    <comment_count>4</comment_count>
      <attachid>220148</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-01-02 13:18:46 -0800</bug_when>
    <thetext>Comment on attachment 220148
the patch.

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

&gt; Source/JavaScriptCore/runtime/VMEntryScope.cpp:78
&gt; +#if !ENABLE(LLINT_C_LOOP)
&gt; +    void* jsStackLimit = m_stack.recursionLimit(requiredCapacity(JSStackCapacity));
&gt; +    m_vm.setJSStackLimit(jsStackLimit);
&gt; +#endif

These #ifdefs look wrong. The JS stack limit is CLoop-only. Why does the #ifdef say &quot;*not* enable CLoop?&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965588</commentid>
    <comment_count>5</comment_count>
      <attachid>220148</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-01-08 12:25:03 -0800</bug_when>
    <thetext>Comment on attachment 220148
the patch.

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

&gt;&gt; Source/JavaScriptCore/runtime/VMEntryScope.cpp:78
&gt;&gt; +#endif
&gt; 
&gt; These #ifdefs look wrong. The JS stack limit is CLoop-only. Why does the #ifdef say &quot;*not* enable CLoop?&quot;

This is not wrong.  The jsStackLimit is the limit that all JS code checks against (i.e. the LLINT and JITted code).  In the !ENABLE(LLINT_C_LOOP) case, VM::m_jsStackLimit is in a union with VM::m_stackLimit, and the 2 are the same.  In the ENABLE(LLINT_C_LOOP) case, the 2 are different.

That said, this is moot now.  This patch will be supplanted by https://bugs.webkit.org/show_bug.cgi?id=126320 where we&apos;ll adopt the new &quot;simpler&quot; way of computing the stack limit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220148</attachid>
            <date>2013-12-30 22:43:09 -0800</date>
            <delta_ts>2014-01-08 12:25:03 -0800</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-126331.patch</filename>
            <type>text/plain</type>
            <size>6019</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYxMTcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDEzLTEyLTMwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBD
U3RhY2s6IFJlZmFjdG9yIHRvIHNwbGl0IHRoZSB0cmFja2luZyBvZiB0aGUganNTdGFja0xpbWl0
IGZyb20gdGhlIG5hdGl2ZSBzdGFja0xpbWl0Li4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjMzMS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBQcmV2aW91c2x5LCB3aGVuIHVzaW5nIHRoZSBDIHN0YWNr
IGZvciB0aGUgSlMgc3RhY2ssIFZNOjptX2pzU3RhY2tMaW1pdCBpcyBhIHVuaW9uCisgICAgICAg
IHdpdGggVk06Om1fc3RhY2tMaW1pdC4gV2Ugbm93IHNlcGFyYXRlIHRoZW0gaW50byAyIGRpc3Rp
bmN0IGZpZWxkcyBidXQgaGF2ZW4ndCB5ZXQKKyAgICAgICAgY2hhbmdlZCB0aGUgY29tcHV0YXRp
b24gb2YgdGhlIGxpbWl0IHZhbHVlcyB0byBzZXQgdGhlbSB3aXRoLgorCisgICAgICAgICogaW50
ZXJwcmV0ZXIvSlNTdGFjay5jcHA6CisgICAgICAgIChKU0M6OkpTU3RhY2s6OnVwZGF0ZVN0YWNr
TGltaXQpOgorICAgICAgICAqIHJ1bnRpbWUvVk0uaDoKKyAgICAgICAgKiBydW50aW1lL1ZNRW50
cnlTY29wZS5jcHA6CisgICAgICAgIChKU0M6OlZNRW50cnlTY29wZTo6Vk1FbnRyeVNjb3BlKToK
KyAgICAgICAgKEpTQzo6Vk1FbnRyeVNjb3BlOjp+Vk1FbnRyeVNjb3BlKToKKyAgICAgICAgKEpT
Qzo6Vk1FbnRyeVNjb3BlOjp1cGRhdGVTdGFja0xpbWl0cyk6CisgICAgICAgIChKU0M6OlZNRW50
cnlTY29wZTo6cmVxdWlyZWRDYXBhY2l0eSk6CisgICAgICAgICogcnVudGltZS9WTUVudHJ5U2Nv
cGUuaDoKKwogMjAxMy0xMi0zMCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQ1N0YWNrOiBGaXggSlNTdGFjazo6ZW5zdXJlQ2FwYWNpdHkoKSB0byBtYXRjaCBMTElO
VCBhbmQgSklUIHN0YWNrIGNoZWNrcy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9KU1N0YWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSlNTdGFjay5jcHAJKHJldmlzaW9uIDE2MTE2OSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9KU1N0YWNrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA1
LDcgKzIwNSw3IEBAIHZvaWQgSlNTdGFjazo6dXBkYXRlU3RhY2tMaW1pdCgpCiAgICAgICAgIGRp
c2FibGVFcnJvclN0YWNrUmVzZXJ2ZSgpOwogI2VuZGlmCiAgICAgaWYgKG1fdm0uZmlyc3RFbnRy
eVNjb3BlKQotICAgICAgICBtX3ZtLmZpcnN0RW50cnlTY29wZS0+dXBkYXRlU3RhY2tMaW1pdCgp
OworICAgICAgICBtX3ZtLmZpcnN0RW50cnlTY29wZS0+dXBkYXRlU3RhY2tMaW1pdHMoKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJ
KHJldmlzaW9uIDE2MTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTUwNSwxOCArNTA1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAjaWYg
RU5BQkxFKEdDX1ZBTElEQVRJT04pCiAgICAgICAgIGNvbnN0IENsYXNzSW5mbyogbV9pbml0aWFs
aXppbmdPYmplY3RDbGFzczsKICNlbmRpZgotCi0jaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKLSAg
ICAgICAgc3RydWN0IHsKLSAgICAgICAgICAgIHZvaWQqIG1fc3RhY2tMaW1pdDsKLSAgICAgICAg
ICAgIHZvaWQqIG1fanNTdGFja0xpbWl0OwotICAgICAgICB9OwotI2Vsc2UKLSAgICAgICAgdW5p
b24gewotICAgICAgICAgICAgdm9pZCogbV9zdGFja0xpbWl0OwotICAgICAgICAgICAgdm9pZCog
bV9qc1N0YWNrTGltaXQ7Ci0gICAgICAgIH07Ci0jZW5kaWYKKyAgICAgICAgdm9pZCogbV9zdGFj
a0xpbWl0OworICAgICAgICB2b2lkKiBtX2pzU3RhY2tMaW1pdDsKICAgICAgICAgdm9pZCogbV9s
YXN0U3RhY2tUb3A7CiAgICAgICAgIEpTVmFsdWUgbV9leGNlcHRpb247CiAgICAgICAgIGJvb2wg
bV9pbkRlZmluZU93blByb3BlcnR5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk1FbnRyeVNjb3BlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9WTUVudHJ5U2NvcGUuY3BwCShyZXZpc2lvbiAxNjExNjgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
Nyw2ICszNyw5IEBAIFZNRW50cnlTY29wZTo6Vk1FbnRyeVNjb3BlKFZNJiB2bSwgSlNHbG8KICAg
ICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKICAgICAsIG1fcHJldkZpcnN0RW50cnlT
Y29wZSh2bS5maXJzdEVudHJ5U2NvcGUpCiAgICAgLCBtX3ByZXZTdGFja0xpbWl0KHZtLnN0YWNr
TGltaXQoKSkKKyNpZiAhRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICAsIG1fcHJldkpTU3RhY2tM
aW1pdCh2bS5qc1N0YWNrTGltaXQoKSkKKyNlbmRpZgogICAgICwgbV9wcmV2TGFzdFN0YWNrVG9w
KHZtLmxhc3RTdGFja1RvcCgpKQogewogICAgIGlmICghdm0uZmlyc3RFbnRyeVNjb3BlKSB7CkBA
IC01Myw3ICs1Niw3IEBAIFZNRW50cnlTY29wZTo6Vk1FbnRyeVNjb3BlKFZNJiB2bSwgSlNHbG8K
ICAgICAvLyBDbGVhciB0aGUgZXhjZXB0aW9uIHN0YWNrIGJldHdlZW4gZW50cmllcwogICAgIHZt
LmNsZWFyRXhjZXB0aW9uU3RhY2soKTsKIAotICAgIHVwZGF0ZVN0YWNrTGltaXQoKTsKKyAgICB1
cGRhdGVTdGFja0xpbWl0cygpOwogICAgIHZtLnNldExhc3RTdGFja1RvcChtX3N0YWNrLm9yaWdp
bigpKTsKIH0KIApAQCAtNjEsMTggKzY0LDI1IEBAIFZNRW50cnlTY29wZTo6flZNRW50cnlTY29w
ZSgpCiB7CiAgICAgbV92bS5maXJzdEVudHJ5U2NvcGUgPSBtX3ByZXZGaXJzdEVudHJ5U2NvcGU7
CiAgICAgbV92bS5zZXRTdGFja0xpbWl0KG1fcHJldlN0YWNrTGltaXQpOworI2lmICFFTkFCTEUo
TExJTlRfQ19MT09QKQorICAgIG1fdm0uc2V0SlNTdGFja0xpbWl0KG1fcHJldkpTU3RhY2tMaW1p
dCk7CisjZW5kaWYKICAgICBtX3ZtLnNldExhc3RTdGFja1RvcChtX3ByZXZMYXN0U3RhY2tUb3Ap
OwogfQogCi12b2lkIFZNRW50cnlTY29wZTo6dXBkYXRlU3RhY2tMaW1pdCgpCit2b2lkIFZNRW50
cnlTY29wZTo6dXBkYXRlU3RhY2tMaW1pdHMoKQogewotICAgIHZvaWQqIGxpbWl0ID0gbV9zdGFj
ay5yZWN1cnNpb25MaW1pdChyZXF1aXJlZENhcGFjaXR5KCkpOwotICAgIG1fdm0uc2V0U3RhY2tM
aW1pdChsaW1pdCk7CisjaWYgIUVOQUJMRShMTElOVF9DX0xPT1ApCisgICAgdm9pZCoganNTdGFj
a0xpbWl0ID0gbV9zdGFjay5yZWN1cnNpb25MaW1pdChyZXF1aXJlZENhcGFjaXR5KEpTU3RhY2tD
YXBhY2l0eSkpOworICAgIG1fdm0uc2V0SlNTdGFja0xpbWl0KGpzU3RhY2tMaW1pdCk7CisjZW5k
aWYKKyAgICB2b2lkKiBuYXRpdmVTdGFja0xpbWl0ID0gbV9zdGFjay5yZWN1cnNpb25MaW1pdChy
ZXF1aXJlZENhcGFjaXR5KE5hdGl2ZVN0YWNrQ2FwYWNpdHkpKTsKKyAgICBtX3ZtLnNldFN0YWNr
TGltaXQobmF0aXZlU3RhY2tMaW1pdCk7CiB9CiAKLXNpemVfdCBWTUVudHJ5U2NvcGU6OnJlcXVp
cmVkQ2FwYWNpdHkoKSBjb25zdAorc2l6ZV90IFZNRW50cnlTY29wZTo6cmVxdWlyZWRDYXBhY2l0
eShDYXBhY2l0eVR5cGUgdHlwZSkgY29uc3QKIHsKLSAgICBJbnRlcnByZXRlciogaW50ZXJwcmV0
ZXIgPSBtX3ZtLmludGVycHJldGVyOworICAgIFVOVVNFRF9QQVJBTSh0eXBlKTsKIAogICAgIC8v
IFdlIHJlcXVpcmUgYSBzbWFsbGVyIHN0YWNrIGJ1ZGdldCBmb3IgdGhlIGVycm9yIHN0YWNrLiBU
aGlzIGlzIHRvIGFsbG93CiAgICAgLy8gc29tZSBtaW5pbWFsIEpTIGV4ZWN1dGlvbiB0byBwcm9j
ZWVkIGFuZCBkbyB0aGUgd29yayBvZiB0aHJvd2luZyBhIHN0YWNrCkBAIC04NCw2ICs5NCw3IEBA
IHNpemVfdCBWTUVudHJ5U2NvcGU6OnJlcXVpcmVkQ2FwYWNpdHkoKSAKICAgICBjb25zdCBzaXpl
X3QgcmVxdWlyZWRTdGFjayA9IDEyOCAqIEtCOwogICAgIGNvbnN0IHNpemVfdCBlcnJvck1vZGVS
ZXF1aXJlZFN0YWNrID0gNjQgKiBLQjsKIAorICAgIEludGVycHJldGVyKiBpbnRlcnByZXRlciA9
IG1fdm0uaW50ZXJwcmV0ZXI7CiAgICAgc2l6ZV90IHJlcXVpcmVkQ2FwYWNpdHkgPSBpbnRlcnBy
ZXRlci0+aXNJbkVycm9ySGFuZGxpbmdNb2RlKCkgPyBlcnJvck1vZGVSZXF1aXJlZFN0YWNrIDog
cmVxdWlyZWRTdGFjazsKICAgICBSRUxFQVNFX0FTU0VSVChtX3N0YWNrLnNpemUoKSA+PSByZXF1
aXJlZENhcGFjaXR5KTsKICAgICByZXR1cm4gcmVxdWlyZWRDYXBhY2l0eTsgCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuaAkocmV2aXNpb24gMTYx
MTY4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1FbnRyeVNjb3BlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDIwICs0MCwyNyBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgVk1FbnRyeVNjb3BlKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKICAgICBKU19FWFBPUlRf
UFJJVkFURSB+Vk1FbnRyeVNjb3BlKCk7CiAKLSAgICB2b2lkIHVwZGF0ZVN0YWNrTGltaXQoKTsK
KyAgICB2b2lkIHVwZGF0ZVN0YWNrTGltaXRzKCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0OyB9CiAKIHByaXZhdGU6Ci0g
ICAgc2l6ZV90IHJlcXVpcmVkQ2FwYWNpdHkoKSBjb25zdDsKKyAgICBlbnVtIENhcGFjaXR5VHlw
ZSB7CisgICAgICAgIEpTU3RhY2tDYXBhY2l0eSwKKyAgICAgICAgTmF0aXZlU3RhY2tDYXBhY2l0
eSwKKyAgICB9OworICAgIHNpemVfdCByZXF1aXJlZENhcGFjaXR5KENhcGFjaXR5VHlwZSkgY29u
c3Q7CiAKICAgICBWTSYgbV92bTsKICAgICBTdGFja1N0YXRzOjpDaGVja1BvaW50IG1fc3RhY2tD
aGVja1BvaW50OwogICAgIFN0YWNrQm91bmRzIG1fc3RhY2s7CiAgICAgSlNHbG9iYWxPYmplY3Qq
IG1fZ2xvYmFsT2JqZWN0OwogCi0gICAgLy8gbV9wcmV2Rmlyc3RFbnRyeVNjb3BlLCBtX3ByZXZT
dGFja0xpbWl0ICYgbV9wcmV2TGFzdFN0YWNrVG9wIG1heSBiZWxvbmcgdG8gYSBkaWZmZXJlbnQg
dGhyZWFkJ3Mgc3RhY2suCisgICAgLy8gVGhlIGZvbGxvd2luZyBwb2ludGVycyBtYXkgcG9pbnQg
dG8gYSBkaWZmZXJlbnQgdGhyZWFkJ3Mgc3RhY2suCiAgICAgVk1FbnRyeVNjb3BlKiBtX3ByZXZG
aXJzdEVudHJ5U2NvcGU7CiAgICAgdm9pZCogbV9wcmV2U3RhY2tMaW1pdDsKKyNpZiAhRU5BQkxF
KExMSU5UX0NfTE9PUCkKKyAgICB2b2lkKiBtX3ByZXZKU1N0YWNrTGltaXQ7CisjZW5kaWYKICAg
ICB2b2lkKiBtX3ByZXZMYXN0U3RhY2tUb3A7CiB9OwogCg==
</data>
<flag name="review"
          id="243824"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>