<?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>154516</bug_id>
          
          <creation_ts>2016-02-21 11:35:56 -0800</creation_ts>
          <short_desc>[JSC shell] Don&apos;t put empty arguments array to VM.</short_desc>
          <delta_ts>2016-02-22 11:41:02 -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>WebKit Local 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>154517</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Konstantin Tokarev">annulen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gskachkov</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1166848</commentid>
    <comment_count>0</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2016-02-21 11:35:56 -0800</bug_when>
    <thetext>This allows arrowfunction-lexical-bind-arguments-top-level test to pass in jsc as well as in browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166850</commentid>
    <comment_count>1</comment_count>
      <attachid>271884</attachid>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2016-02-21 11:40:24 -0800</bug_when>
    <thetext>Created attachment 271884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166982</commentid>
    <comment_count>2</comment_count>
      <attachid>271884</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-02-22 03:15:21 -0800</bug_when>
    <thetext>Comment on attachment 271884
Patch

I don&apos;t think the current approach is good because we would like to assume that there is an empty `arguments` if the CLI does not pass any arguments.

How about the following idea?
1. adding an Option (see runtime/Options.h), that controls exposing the `arguments`. Now, we can control this behavior with the environment variable JSC_XXX (If you add an option XXX, we can switch it with the environment variable JSC_XXX)
3. adding a ruby function notExposeArguments() in run-jsc-stress-tests, which defines JSC_XXX environment variable before executing the command. (Let&apos;s define addEnvVar(X, Y). And calling it as def notExposeArguments addEnvVar(&quot;JSC_XXX&quot;, &quot;true&quot;))
4. defining the annotation &quot;//@ notExposeArguments&quot; instead of &quot;//@ skip&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166992</commentid>
    <comment_count>3</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2016-02-22 04:47:11 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 271884 [details]
&gt; Patch
&gt; 
&gt; I don&apos;t think the current approach is good because we would like to assume
&gt; that there is an empty `arguments` if the CLI does not pass any arguments.
&gt; 
&gt; How about the following idea?
&gt; 1. adding an Option (see runtime/Options.h), that controls exposing the
&gt; `arguments`. Now, we can control this behavior with the environment variable
&gt; JSC_XXX (If you add an option XXX, we can switch it with the environment
&gt; variable JSC_XXX)
&gt; 3. adding a ruby function notExposeArguments() in run-jsc-stress-tests,
&gt; which defines JSC_XXX environment variable before executing the command.
&gt; (Let&apos;s define addEnvVar(X, Y). And calling it as def notExposeArguments
&gt; addEnvVar(&quot;JSC_XXX&quot;, &quot;true&quot;))
&gt; 4. defining the annotation &quot;//@ notExposeArguments&quot; instead of &quot;//@ skip&quot;

Problem is that I use run-layout-jsc, which does not support annotations, and my initial motivation for this change was to allow this test to pass without @ skip annotation.

Though run-layout-jsc may unconditionally use this mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167112</commentid>
    <comment_count>4</comment_count>
      <attachid>271884</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-02-22 11:37:02 -0800</bug_when>
    <thetext>Comment on attachment 271884
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167115</commentid>
    <comment_count>5</comment_count>
      <attachid>271884</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-22 11:40:57 -0800</bug_when>
    <thetext>Comment on attachment 271884
Patch

Clearing flags on attachment: 271884

Committed r196948: &lt;http://trac.webkit.org/changeset/196948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167116</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-22 11:41:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271884</attachid>
            <date>2016-02-21 11:40:24 -0800</date>
            <delta_ts>2016-02-22 11:40:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154516-20160221224005.patch</filename>
            <type>text/plain</type>
            <size>3487</size>
            <attacher name="Konstantin Tokarev">annulen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2ODc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YmZiOTc4MzRmMzk3MmRlYzI3MDE3ZGU5MmE5NTk2MTlmYmQyOTE4Li45YWIzNWQ2NjkzZTgwZGM2
OGFhMzE2MzQxNjkyNGExNGM2MDEzZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNi0wMi0yMSAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5k
ZXgucnU+CisKKyAgICAgICAgW0pTQyBzaGVsbF0gRG9uJ3QgcHV0IGVtcHR5IGFyZ3VtZW50cyBh
cnJheSB0byBWTS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NDUxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgYWxsb3dzIGFycm93ZnVuY3Rpb24tbGV4aWNhbC1iaW5kLWFyZ3VtZW50cy10b3At
bGV2ZWwgdGVzdCB0byBwYXNzCisgICAgICAgIGluIGpzYyBhcyB3ZWxsIGFzIGluIGJyb3dzZXIu
CisKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVh
dGlvbik6CisKIDIwMTYtMDItMTkgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0VTNl0gSW1wbGVtZW50IFByb3h5LltbQ29uc3RydWN0XV0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pz
Yy5jcHAKaW5kZXggMjNmNDc0YTI2MTk3OTg2ZTczZGU2MGM0MWQ1MjE5N2U3ODBhNTA5MS4uZTMx
NmYzODgyN2YwOWZjOGYxNzQ2MTRkNWI3YzVhN2E5NTMyYjg5MiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5j
cHAKQEAgLTc1MiwxMSArNzUyLDEzIEBAIHByb3RlY3RlZDoKICAgICAgICAgYWRkRnVuY3Rpb24o
dm0sICJzYW1wbGluZ1Byb2ZpbGVyU3RhY2tUcmFjZXMiLCBmdW5jdGlvblNhbXBsaW5nUHJvZmls
ZXJTdGFja1RyYWNlcywgMCk7CiAjZW5kaWYKIAotICAgICAgICBKU0FycmF5KiBhcnJheSA9IGNv
bnN0cnVjdEVtcHR5QXJyYXkoZ2xvYmFsRXhlYygpLCAwKTsKLSAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBhcmd1bWVudHMuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBhcnJheS0+cHV0
RGlyZWN0SW5kZXgoZ2xvYmFsRXhlYygpLCBpLCBqc1N0cmluZyhnbG9iYWxFeGVjKCksIGFyZ3Vt
ZW50c1tpXSkpOwotICAgICAgICBwdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmco
Z2xvYmFsRXhlYygpLCAiYXJndW1lbnRzIiksIGFycmF5KTsKLSAgICAgICAgCisgICAgICAgIGlm
ICghYXJndW1lbnRzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgSlNBcnJheSogYXJyYXkgPSBj
b25zdHJ1Y3RFbXB0eUFycmF5KGdsb2JhbEV4ZWMoKSwgMCk7CisgICAgICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGFyZ3VtZW50cy5zaXplKCk7ICsraSkKKyAgICAgICAgICAgICAgICBh
cnJheS0+cHV0RGlyZWN0SW5kZXgoZ2xvYmFsRXhlYygpLCBpLCBqc1N0cmluZyhnbG9iYWxFeGVj
KCksIGFyZ3VtZW50c1tpXSkpOworICAgICAgICAgICAgcHV0RGlyZWN0KHZtLCBJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKGdsb2JhbEV4ZWMoKSwgImFyZ3VtZW50cyIpLCBhcnJheSk7CisgICAgICAg
IH0KKwogICAgICAgICBwdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZ2xvYmFs
RXhlYygpLCAiY29uc29sZSIpLCBqc1VuZGVmaW5lZCgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNjg3
NTBlNjc3MDVkY2FhM2Y0NjhlYjAxZTNlMmYxZmU5OTI3YzA0Li4xNDhlMjViNTZhNjlmMzYzOGU3
YjJmOTY4ODA5ZjE4NjU1MzIwNDJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDItMjEg
IEtvbnN0YW50aW4gVG9rYXJldiAgPGFubnVsZW5AeWFuZGV4LnJ1PgorCisgICAgICAgIFtKU0Mg
c2hlbGxdIERvbid0IHB1dCBlbXB0eSBhcmd1bWVudHMgYXJyYXkgdG8gVk0uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ1MTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGFsbG93cyBhcnJvd2Z1
bmN0aW9uLWxleGljYWwtYmluZC1hcmd1bWVudHMtdG9wLWxldmVsIHRlc3QgdG8gcGFzcworICAg
ICAgICBpbiBqc2MgYXMgd2VsbCBhcyBpbiBicm93c2VyLgorCisgICAgICAgICoganMvc2NyaXB0
LXRlc3RzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1iaW5kLWFyZ3VtZW50cy10b3AtbGV2ZWwuanM6
CisgICAgICAgIFJlbW92ZWQgQCBza2lwIGFubm90YXRpb24uCisKIDIwMTYtMDItMjEgIERhbmll
bCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENTUDogcmVwb3J0LXVybCBk
aXJlY3RpdmUgc2hvdWxkIGJlIGlnbm9yZWQgd2hlbiBjb250YWluZWQgaW4gYSBwb2xpY3kgZGVm
aW5lZCB2aWEgYSBtZXRhIGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3Njcmlw
dC10ZXN0cy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYmluZC1hcmd1bWVudHMtdG9wLWxldmVsLmpz
IGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1iaW5k
LWFyZ3VtZW50cy10b3AtbGV2ZWwuanMKaW5kZXggZDdjZWE2MWFlMGJlZjcyZmI0YmRmMTM1YjE1
YzFjYzJhYTNiNTRlNy4uNzI1NWRlZjFkODZhN2Y0MDZmZjgzNzUyNzk0MDZmMmY5NGRjMjI4NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24tbGV4
aWNhbC1iaW5kLWFyZ3VtZW50cy10b3AtbGV2ZWwuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2Ny
aXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1iaW5kLWFyZ3VtZW50cy10b3AtbGV2ZWwu
anMKQEAgLTEsNyArMSwzIEBACi0vLyBqc2MgYWx3YXlzIGhhcyBhcmd1bWVudHMsIGJ1dCBpbiBi
cm93c2VyIHdlIGRvIG5vdCBoYXZlIGFyZ3VtZW50cywgc28KLS8vIGlnbm9yZSB0aGlzIHRlc3Qg
aW4gcnVuLWpzYy1zdHJlc3MtdGVzdHMsIGJ1dCBydW4gaW4gcnVuLXdlYmtpdC10ZXN0cy4KLS8v
QCBza2lwCi0KIGRlc2NyaXB0aW9uKCdUZXN0cyBmb3IgRVM2IGFycm93IGZ1bmN0aW9uIGxleGlj
YWwgYmluZCBvZiBhcmd1bWVudHMgb24gdG9wIGxldmVsJyk7CiAKIGxldCBmb28gPSAoKSA9PiBh
cmd1bWVudHM7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>