<?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>171019</bug_id>
          
          <creation_ts>2017-04-19 16:02:17 -0700</creation_ts>
          <short_desc>Tune GC related JSC options for iOS</short_desc>
          <delta_ts>2017-04-19 16:49:58 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>buildbot</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1298870</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-19 16:02:17 -0700</bug_when>
    <thetext>Empirical tests show that iOS devices perform better with the options values overridden for a smaller number of cores in Options.cpp:overrideDefaults().

These are the options in question:
    Options::maximumMutatorUtilization() = 0.6;
    Options::concurrentGCMaxHeadroom() = 1.4;
    Options::minimumGCPauseMS() = 1;
    Options::useStochasticMutatorScheduler() = false;

&lt;rdar://problem/31718721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298872</commentid>
    <comment_count>1</comment_count>
      <attachid>307517</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-19 16:05:29 -0700</bug_when>
    <thetext>Created attachment 307517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298878</commentid>
    <comment_count>2</comment_count>
      <attachid>307517</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-19 16:14:23 -0700</bug_when>
    <thetext>Comment on attachment 307517
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298879</commentid>
    <comment_count>3</comment_count>
      <attachid>307517</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-19 16:14:56 -0700</bug_when>
    <thetext>Comment on attachment 307517
Patch

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

r=me

&gt; Source/JavaScriptCore/runtime/Options.cpp:335
&gt; +    {

Would it be better to duplicate the block below for iOS and not iOS, or do we expect the tuning parameters to stay the same for both (only the condition above changes)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298883</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-19 16:20:04 -0700</bug_when>
    <thetext>(In reply to JF Bastien from comment #3)
&gt; Comment on attachment 307517 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=307517&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/Options.cpp:335
&gt; &gt; +    {
&gt; 
&gt; Would it be better to duplicate the block below for iOS and not iOS, or do
&gt; we expect the tuning parameters to stay the same for both (only the
&gt; condition above changes)?

I opted to do it this way since these are all GC related and don&apos;t expect them to change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298889</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-19 16:23:41 -0700</bug_when>
    <thetext>Committed r215539: &lt;http://trac.webkit.org/changeset/215539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298913</commentid>
    <comment_count>6</comment_count>
      <attachid>307517</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-04-19 16:49:58 -0700</bug_when>
    <thetext>Comment on attachment 307517
Patch

R=me too</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307517</attachid>
            <date>2017-04-19 16:05:29 -0700</date>
            <delta_ts>2017-04-19 16:14:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>171019.patch</filename>
            <type>text/plain</type>
            <size>1229</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE1NTM2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDE3LTA0LTE5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIFR1bmUgR0MgcmVsYXRlZCBKU0Mgb3B0aW9ucyBmb3IgaU9TCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEwMTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbHdheXMgc2V0IHRoZXNlIEdDIG9wdGlv
bnMgb24gaU9TLgorCisgICAgICAgICogcnVudGltZS9PcHRpb25zLmNwcDoKKyAgICAgICAgKEpT
Qzo6b3ZlcnJpZGVEZWZhdWx0cyk6CisKIDIwMTctMDQtMTkgIEpGIEJhc3RpZW4gIDxqZmJhc3Rp
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkFzc2VtYmx5OiBmYXN0IG1lbW9yeSBjbGVhbnVw
cwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAJKHJldmlz
aW9uIDIxNTQ3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMjksNyArMzI5LDEwIEBAIHN0YXRpYyB2b2lkIHNjYWxlSklU
UG9saWN5KCkKIAogc3RhdGljIHZvaWQgb3ZlcnJpZGVEZWZhdWx0cygpCiB7Ci0gICAgaWYgKFdU
Rjo6bnVtYmVyT2ZQcm9jZXNzb3JDb3JlcygpIDwgNCkgeworI2lmICFQTEFURk9STShJT1MpCisg
ICAgaWYgKFdURjo6bnVtYmVyT2ZQcm9jZXNzb3JDb3JlcygpIDwgNCkKKyNlbmRpZgorICAgIHsK
ICAgICAgICAgT3B0aW9uczo6bWF4aW11bU11dGF0b3JVdGlsaXphdGlvbigpID0gMC42OwogICAg
ICAgICBPcHRpb25zOjpjb25jdXJyZW50R0NNYXhIZWFkcm9vbSgpID0gMS40OwogICAgICAgICBP
cHRpb25zOjptaW5pbXVtR0NQYXVzZU1TKCkgPSAxOwo=
</data>
<flag name="review"
          id="328795"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>