<?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>174923</bug_id>
          
          <creation_ts>2017-07-27 19:46:22 -0700</creation_ts>
          <short_desc>ScopedArguments overflow storage needs to be in the JSValue gigacage</short_desc>
          <delta_ts>2017-08-12 12:07:13 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>174919</dependson>
          <blocked>174917</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1332842</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-07-27 19:46:22 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338093</commentid>
    <comment_count>1</comment_count>
      <attachid>317982</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-11 18:08:35 -0700</bug_when>
    <thetext>Created attachment 317982
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338158</commentid>
    <comment_count>2</comment_count>
      <attachid>317982</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-12 11:13:21 -0700</bug_when>
    <thetext>Comment on attachment 317982
the patch

r=me
Does polymorphic access also access scoped arguments for “length”?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338160</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-12 11:39:28 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #2)
&gt; Comment on attachment 317982 [details]
&gt; the patch
&gt; 
&gt; r=me
&gt; Does polymorphic access also access scoped arguments for “length”?

Yeah.  Since that&apos;s not an indexed access, we don&apos;t have to do caging there.  We could do it, but then we&apos;d be wagging the dog.

The objective here is to make indexed accesses never go outside of a cage.

Therefore, we but the object being accessed into a cage.

This does not mean that all non-indexed accesses to that object need caging.  I don&apos;t think that the upside of doing that would be worth the perf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338161</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-12 11:40:24 -0700</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/220624/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338162</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-12 11:41:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/33864284&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338167</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-12 12:07:13 -0700</bug_when>
    <thetext>(In reply to Filip Pizlo from comment #3)
&gt; (In reply to Saam Barati from comment #2)
&gt; &gt; Comment on attachment 317982 [details]
&gt; &gt; the patch
&gt; &gt; 
&gt; &gt; r=me
&gt; &gt; Does polymorphic access also access scoped arguments for “length”?
&gt; 
&gt; Yeah.  Since that&apos;s not an indexed access, we don&apos;t have to do caging there.
&gt; We could do it, but then we&apos;d be wagging the dog.
&gt; 
&gt; The objective here is to make indexed accesses never go outside of a cage.
&gt; 
&gt; Therefore, we but the object being accessed into a cage.
&gt; 
&gt; This does not mean that all non-indexed accesses to that object need caging.
&gt; I don&apos;t think that the upside of doing that would be worth the perf.

Makes sense. We had this conversation before in a different context, I just forgot :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317982</attachid>
            <date>2017-08-11 18:08:35 -0700</date>
            <delta_ts>2017-08-12 11:13:21 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>4679</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIwNjIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDE3LTA4LTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
U2NvcGVkQXJndW1lbnRzIG92ZXJmbG93IHN0b3JhZ2UgbmVlZHMgdG8gYmUgaW4gdGhlIEpTVmFs
dWUgZ2lnYWNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NDkyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgU2NvcGVkQXJndW1lbnRzIG92ZXJmbG93IHN0b3JhZ2Ugc2l0cyBhdCB0aGUg
ZW5kIG9mIHRoZSBTY29wZWRBcmd1bWVudHMgb2JqZWN0LCBzbyB3ZSBwdXQgdGhhdAorICAgICAg
ICBvYmplY3QgaW50byB0aGUgSlNWYWx1ZSBnaWdhY2FnZS4KKworICAgICAgICAqIGRmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVHZXRCeVZhbE9uU2NvcGVkQXJndW1lbnRzKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJE
RkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGls
ZUdldEJ5VmFsKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRTY29wZWRBcmd1bWVudHNHZXRCeVZhbCk6CisgICAgICAgICogcnVu
dGltZS9TY29wZWRBcmd1bWVudHMuaDoKKyAgICAgICAgKEpTQzo6U2NvcGVkQXJndW1lbnRzOjpz
dWJzcGFjZUZvcik6CisgICAgICAgIChKU0M6OlNjb3BlZEFyZ3VtZW50czo6b3ZlcmZsb3dTdG9y
YWdlIGNvbnN0KToKKwogMjAxNy0wOC0xMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIEpTTGV4aWNhbEVudmlyb25tZW50IG5lZWRzIHRvIGJlIGluIHRoZSBKU1Zh
bHVlIGdpZ2FjYWdlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMjIwNjE4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzMjUsNiAr
NjMyNSw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRCeVZhbE9uU2MKICAgICBt
X2ppdC5zdWIzMihwcm9wZXJ0eVJlZywgc2NyYXRjaDJSZWcpOwogICAgIG1faml0Lm5lZzMyKHNj
cmF0Y2gyUmVnKTsKICAgICAKKyAgICBtX2ppdC5jYWdlKEdpZ2FjYWdlOjpKU1ZhbHVlLCBiYXNl
UmVnKTsKKyAgICAKICAgICBtX2ppdC5sb2FkVmFsdWUoCiAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpCYXNlSW5kZXgoCiAgICAgICAgICAgICBiYXNlUmVnLCBzY3JhdGNoMlJlZywgTWFjcm9Bc3Nl
bWJsZXI6OlRpbWVzRWlnaHQsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMjA2MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1NjUsMTAg
KzM1NjUsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgCiAgICAgICAgICAgICBtX291dC5hcHBl
bmRUbyhvdmVyZmxvd0Nhc2UsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIC8vIEZJWE1FOiBJIGd1ZXNzIHdlIG5lZWQgdG8gY2FnZSBvdmVyZmxvdyBzdG9yYWdlPwot
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NDkyMwogICAgICAgICAgICAgYWRkcmVzcyA9IG1fb3V0LmJhc2VJbmRleCgKLSAgICAgICAgICAg
ICAgICBtX2hlYXBzLlNjb3BlZEFyZ3VtZW50c19vdmVyZmxvd1N0b3JhZ2UsIGJhc2UsCisgICAg
ICAgICAgICAgICAgbV9oZWFwcy5TY29wZWRBcmd1bWVudHNfb3ZlcmZsb3dTdG9yYWdlLCBjYWdl
ZChHaWdhY2FnZTo6SlNWYWx1ZSwgYmFzZSksCiAgICAgICAgICAgICAgICAgbV9vdXQuemVyb0V4
dFB0cihtX291dC5zdWIoaW5kZXgsIG5hbWVkTGVuZ3RoKSkpOwogICAgICAgICAgICAgTFZhbHVl
IG92ZXJmbG93VmFsdWUgPSBtX291dC5sb2FkNjQoYWRkcmVzcyk7CiAgICAgICAgICAgICBzcGVj
dWxhdGUoRXhvdGljT2JqZWN0TW9kZSwgbm9WYWx1ZSgpLCBudWxscHRyLCBtX291dC5pc1plcm82
NChvdmVyZmxvd1ZhbHVlKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFBy
b3BlcnR5QWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkocmV2aXNpb24gMjIwNjE4KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1
NTEsNiArMTU1MSw3IEBAIEpJVDo6SnVtcExpc3QgSklUOjplbWl0U2NvcGVkQXJndW1lbnRzR2UK
ICAgICBvdmVyZmxvd0Nhc2UubGluayh0aGlzKTsKICAgICBzdWIzMihwcm9wZXJ0eSwgc2NyYXRj
aDIpOwogICAgIG5lZzMyKHNjcmF0Y2gyKTsKKyAgICBjYWdlKEdpZ2FjYWdlOjpKU1ZhbHVlLCBi
YXNlKTsKICAgICBsb2FkVmFsdWUoQmFzZUluZGV4KGJhc2UsIHNjcmF0Y2gyLCBUaW1lc0VpZ2h0
LCBTY29wZWRBcmd1bWVudHM6Om92ZXJmbG93U3RvcmFnZU9mZnNldCgpKSwgcmVzdWx0KTsKICAg
ICBzbG93Q2FzZXMuYXBwZW5kKGJyYW5jaElmRW1wdHkocmVzdWx0KSk7CiAgICAgZG9uZS5saW5r
KHRoaXMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVkQXJndW1l
bnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVk
QXJndW1lbnRzLmgJKHJldmlzaW9uIDIyMDYxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Njb3BlZEFyZ3VtZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0MiwxMyBA
QCBwcml2YXRlOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0Z1bmN0aW9uKiBjYWxs
ZWUsIFNjb3BlZEFyZ3VtZW50c1RhYmxlKiwgSlNMZXhpY2FsRW52aXJvbm1lbnQqKTsKIAogcHVi
bGljOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlPgorICAgIHN0YXRpYyBTdWJzcGFj
ZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIUNl
bGxUeXBlOjpuZWVkc0Rlc3RydWN0aW9uKTsKKyAgICAgICAgcmV0dXJuICZ2bS5qc1ZhbHVlR2ln
YWNhZ2VDZWxsU3BhY2U7CisgICAgfQorCiAgICAgLy8gQ3JlYXRlcyBhbiBhcmd1bWVudHMgb2Jq
ZWN0IGJ1dCBsZWF2ZXMgaXQgdW5pbml0aWFsaXplZC4gVGhpcyBpcyBkYW5nZXJvdXMgaWYgd2Ug
R0MgcmlnaHQKICAgICAvLyBhZnRlciBhbGxvY2F0aW9uLgogICAgIHN0YXRpYyBTY29wZWRBcmd1
bWVudHMqIGNyZWF0ZVVuaW5pdGlhbGl6ZWQoVk0mLCBTdHJ1Y3R1cmUqLCBKU0Z1bmN0aW9uKiBj
YWxsZWUsIFNjb3BlZEFyZ3VtZW50c1RhYmxlKiwgSlNMZXhpY2FsRW52aXJvbm1lbnQqLCB1bnNp
Z25lZCB0b3RhbExlbmd0aCk7CkBAIC0xNTQsMTAgKzE2MSw5IEBAIHByaXZhdGU6CiAgICAgV3Jp
dGVCYXJyaWVyPFVua25vd24+KiBvdmVyZmxvd1N0b3JhZ2UoKSBjb25zdAogICAgIHsKICAgICAg
ICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxXcml0ZUJhcnJpZXI8VW5rbm93bj4qPigKLSAgICAgICAg
ICAgIGJpdHdpc2VfY2FzdDxjaGFyKj4odGhpcykgKyBvdmVyZmxvd1N0b3JhZ2VPZmZzZXQoKSk7
CisgICAgICAgICAgICBiaXR3aXNlX2Nhc3Q8Y2hhcio+KEdpZ2FjYWdlOjpjYWdlZChHaWdhY2Fn
ZTo6SlNWYWx1ZSwgdGhpcykpICsgb3ZlcmZsb3dTdG9yYWdlT2Zmc2V0KCkpOwogICAgIH0KICAg
ICAKLSAgICAKICAgICBib29sIG1fb3ZlcnJvZGVUaGluZ3M7IC8vIFRydWUgaWYgbGVuZ3RoLCBj
YWxsZWUsIGFuZCBjYWxsZXIgYXJlIGZ1bGx5IG1hdGVyaWFsaXplZCBpbiB0aGUgb2JqZWN0Lgog
ICAgIHVuc2lnbmVkIG1fdG90YWxMZW5ndGg7IC8vIFRoZSBsZW5ndGggb2YgZGVjbGFyZWQgcGx1
cyBvdmVyZmxvdyBhcmd1bWVudHMuCiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fY2Fs
bGVlOwo=
</data>
<flag name="review"
          id="338461"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>