• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  // Copyright 2011 the V8 project authors. All rights reserved.
2  // Use of this source code is governed by a BSD-style license that can be
3  // found in the LICENSE file.
4  
5  #ifndef V8_HEAP_STORE_BUFFER_INL_H_
6  #define V8_HEAP_STORE_BUFFER_INL_H_
7  
8  #include "src/heap/store-buffer.h"
9  
10  #include "src/heap/heap-inl.h"
11  
12  namespace v8 {
13  namespace internal {
14  
InsertDeletionIntoStoreBuffer(Address start,Address end)15  void StoreBuffer::InsertDeletionIntoStoreBuffer(Address start, Address end) {
16    if (top_ + sizeof(Address) * 2 > limit_[current_]) {
17      StoreBufferOverflow(heap_->isolate());
18    }
19    *top_ = MarkDeletionAddress(start);
20    top_++;
21    *top_ = end;
22    top_++;
23  }
24  
InsertIntoStoreBuffer(Address slot)25  void StoreBuffer::InsertIntoStoreBuffer(Address slot) {
26    if (top_ + sizeof(Address) > limit_[current_]) {
27      StoreBufferOverflow(heap_->isolate());
28    }
29    *top_ = slot;
30    top_++;
31  }
32  
33  }  // namespace internal
34  }  // namespace v8
35  
36  #endif  // V8_HEAP_STORE_BUFFER_INL_H_
37