1. 06 Oct, 2016 1 commit
    • mlippautz's avatar
      [heap] Remove PromotionMode used by Scavenger · f88fe51a
      mlippautz authored
      The scavenger should never consider mark bits for promotion/copy as this creates
      weird livetimes at the start of incremental marking. E.g. consider an object
      marked black by the marker at the start of incremental marking. A scavenge would
      promote it to the old generation although it could --and for short-living
      objects actually does-- become unreachable during marking
      
      Also, keeping this invariant significantly simplifies young generation mark
      compacting as we can compare against the scavenging decision without keeping
      different sets of markbits.
      
      BUG=chromium:651354
      R=hpayer@chromium.org
      
      Review-Url: https://codereview.chromium.org/2397713002
      Cr-Commit-Position: refs/heads/master@{#40026}
      f88fe51a
  2. 01 Jun, 2016 1 commit
    • hlopko's avatar
      Immediately promote marked objects during scavenge · dc78e0d4
      hlopko authored
      It happens that a scavenger runs during incremental marking. Currently scavenger does not care about MarkCompact's mark bits. When an object is alive and marked, and at least one scavenge happens during incremental marking, the object will be copied once to the other semispace in the new_space, and then once to the old_space. For surviving objects this is useless extra work.
      
      In our current attempts (https://codereview.chromium.org/1988623002) to ensure marked objects are scavenged, all marked objects will survive therefore there will be many objects which will be uselessly copied.
      
      This cl modifies our promotion logic so when incremental marking is in progress, and the object is marked, we promote it unconditionally.
      
      BUG=
      LOG=no
      
      Review-Url: https://codereview.chromium.org/2005173003
      Cr-Commit-Position: refs/heads/master@{#36643}
      dc78e0d4
  3. 24 May, 2016 2 commits
  4. 23 May, 2016 1 commit
  5. 19 May, 2016 1 commit
    • ahaas's avatar
      [heap] Get rid of the wrapper in remembered-set.h · 3ddb2249
      ahaas authored
      This patch moves the wrapper code from the remembered-set to the
      scavenger and the mark-compact code.
      
      The wrapper code inspected a slot address to see if the object that
      belongs to the address is in the from-space. If it was in the
      from-space, then some callback was executed on the object. If the object
      got move to the to-space, then the wrapper returned KEEP_SLOT, otherwise
      REMOVE_SLOT.
      
      This logic does not really belong to the remembered set, so I moved it
      away from there.
      
      R=ulan@chromium.org
      
      Review-Url: https://codereview.chromium.org/1994933002
      Cr-Commit-Position: refs/heads/master@{#36364}
      3ddb2249
  6. 04 Dec, 2015 1 commit
  7. 05 Nov, 2015 1 commit
  8. 14 Sep, 2015 1 commit