aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/heap/stress-marking-observer.cc
blob: 091f279a781b421151db169eafa58cde333d66e5 (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