summaryrefslogtreecommitdiff
path: root/chromium/v8/src/heap/stress-marking-observer.cc
blob: bb7720e1188bb15500957d41b57f7df9a1c98b8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Copyright 2017 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "src/heap/stress-marking-observer.h"
#include "src/heap/incremental-marking.h"

namespace v8 {
namespace internal {

// TODO(majeski): meaningful step_size
StressMarkingObserver::StressMarkingObserver(Heap* heap)
    : AllocationObserver(64), heap_(heap) {}

void StressMarkingObserver::Step(int bytes_allocated, Address soon_object,
                                 size_t size) {
  heap_->StartIncrementalMarkingIfAllocationLimitIsReached(Heap::kNoGCFlags,
                                                           kNoGCCallbackFlags);
  heap_->incremental_marking()->EnsureBlackAllocated(soon_object, size);
}

}  // namespace internal
}  // namespace v8