Commit 749570ed authored by zhengxing.li's avatar zhengxing.li Committed by Commit bot

X87: [heap] New heuristics for incremental marking step size.

  port 1beb89f2 (r39827)

  original commit message:
  This patch simplifies code for speeding up marking and
  removes write barrier counter.

  The step size is now computed based in two parts:
  - bytes to mark in order to keep up with allocation,
  - bytes to mark in order to make progress.

BUG=

Review-Url: https://codereview.chromium.org/2407733003
Cr-Commit-Position: refs/heads/master@{#40116}
parent 1bcb42ae
......@@ -2747,17 +2747,6 @@ void RecordWriteStub::CheckNeedsToInformIncrementalMarker(
Mode mode) {
Label object_is_black, need_incremental, need_incremental_pop_object;
__ mov(regs_.scratch0(), Immediate(~Page::kPageAlignmentMask));
__ and_(regs_.scratch0(), regs_.object());
__ mov(regs_.scratch1(),
Operand(regs_.scratch0(),
MemoryChunk::kWriteBarrierCounterOffset));
__ sub(regs_.scratch1(), Immediate(1));
__ mov(Operand(regs_.scratch0(),
MemoryChunk::kWriteBarrierCounterOffset),
regs_.scratch1());
__ j(negative, &need_incremental);
// Let's look at the color of the object: If it is not black we don't have
// to inform the incremental marker.
__ JumpIfBlack(regs_.object(),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment