<?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>152738</bug_id>
          
          <creation_ts>2016-01-05 11:04:35 -0800</creation_ts>
          <short_desc>Changing prototypes should cache the new structure.</short_desc>
          <delta_ts>2016-01-20 12:07:54 -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 Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1152764</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-01-05 11:04:35 -0800</bug_when>
    <thetext>Currently, when a programmer changes the prototype of their object we allocate a new structure every time even if they use the same prototype every time. Not only does this use linear additional memory if they do it to every object they allocate but it also perniciously causes all the code these objects touch to become megamorphic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157006</commentid>
    <comment_count>1</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-01-20 12:07:54 -0800</bug_when>
    <thetext>Whoever looks at this should consider fixing caching the structure for bound functions when the prototype is null.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>