<?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>121239</bug_id>
          
          <creation_ts>2013-09-12 10:55:37 -0700</creation_ts>
          <short_desc>IncrementalSweeper should not require an entire Vector to do its job</short_desc>
          <delta_ts>2013-09-12 10:56:09 -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>528+ (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>
          
          <blocked>121074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>928382</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-09-12 10:55:37 -0700</bug_when>
    <thetext>Right now during every collection we fill a Vector with pointers to all the MarkedBlocks in the Heap just so the IncrementalSweeper can iterate over them later without getting confused about newly added blocks. This is too expensive to do during every GC, especially with a generational collector. We should instead create a special iterator that the IncrementalSweeper can use that iterates the blocks in place and handles any weird corner cases internally.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>