Home | History | Annotate | Download | only in heap
      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 
     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 
     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