Home | History | Annotate | Download | only in heap
      1 // Copyright 2012 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_INCREMENTAL_MARKING_INL_H_
      6 #define V8_HEAP_INCREMENTAL_MARKING_INL_H_
      7 
      8 #include "src/heap/incremental-marking.h"
      9 
     10 namespace v8 {
     11 namespace internal {
     12 
     13 
     14 void IncrementalMarking::RecordWrite(HeapObject* obj, Object** slot,
     15                                      Object* value) {
     16   if (IsMarking() && value->IsHeapObject()) {
     17     RecordWriteSlow(obj, slot, value);
     18   }
     19 }
     20 
     21 
     22 void IncrementalMarking::RecordWriteOfCodeEntry(JSFunction* host, Object** slot,
     23                                                 Code* value) {
     24   if (IsMarking()) {
     25     RecordWriteOfCodeEntrySlow(host, slot, value);
     26   }
     27 }
     28 
     29 void IncrementalMarking::RecordWriteIntoCode(Code* host, RelocInfo* rinfo,
     30                                              Object* value) {
     31   if (IsMarking() && value->IsHeapObject()) {
     32     RecordWriteIntoCodeSlow(host, rinfo, value);
     33   }
     34 }
     35 
     36 
     37 }  // namespace internal
     38 }  // namespace v8
     39 
     40 #endif  // V8_HEAP_INCREMENTAL_MARKING_INL_H_
     41