Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 540185731cc4eb02d3c8d21ddb47f870253a8500..fd74ff2f498f40d151399fa71cfd16d7af3ba1fd 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -994,10 +994,6 @@ class Heap { |
roots_[kEmptyScriptRootIndex] = script; |
} |
- void public_set_store_buffer_top(Address* top) { |
- roots_[kStoreBufferTopRootIndex] = reinterpret_cast<Smi*>(top); |
- } |
- |
void public_set_materialized_objects(FixedArray* objects) { |
roots_[kMaterializedObjectsRootIndex] = objects; |
} |
@@ -1005,10 +1001,6 @@ class Heap { |
// Generated code can embed this address to get access to the roots. |
Object** roots_array_start() { return roots_; } |
- Address* store_buffer_top_address() { |
- return reinterpret_cast<Address*>(&roots_[kStoreBufferTopRootIndex]); |
- } |
- |
void CheckHandleCount(); |
// Number of "runtime allocations" done so far. |
@@ -1029,12 +1021,6 @@ class Heap { |
return index < OBJECT_STATS_COUNT ? object_sizes_last_time_[index] : 0; |
} |
- // Write barrier support for address[offset] = o. |
- INLINE(void RecordWrite(Address address, int offset)); |
- |
- // Write barrier support for address[start : start + len[ = o. |
- INLINE(void RecordWrites(Address address, int start, int len)); |
- |
inline HeapState gc_state() { return gc_state_; } |
inline bool IsInGCPostProcessing() { return gc_post_processing_depth_ > 0; } |
@@ -1094,10 +1080,6 @@ class Heap { |
void IncrementDeferredCount(v8::Isolate::UseCounterFeature feature); |
- ExternalStringTable* external_string_table() { |
- return &external_string_table_; |
- } |
- |
bool concurrent_sweeping_enabled() { return concurrent_sweeping_enabled_; } |
inline bool OldGenerationAllocationLimitReached(); |
@@ -1307,7 +1289,9 @@ class Heap { |
return &mark_compact_collector_; |
} |
- StoreBuffer* store_buffer() { return &store_buffer_; } |
+ ExternalStringTable* external_string_table() { |
+ return &external_string_table_; |
+ } |
// =========================================================================== |
// Inline allocation. ======================================================== |
@@ -1365,6 +1349,20 @@ class Heap { |
ObjectSlotCallback callback); |
// =========================================================================== |
+ // Store buffer API. ========================================================= |
+ // =========================================================================== |
+ |
+ // Write barrier support for address[offset] = o. |
+ INLINE(void RecordWrite(Address address, int offset)); |
+ |
+ // Write barrier support for address[start : start + len[ = o. |
+ INLINE(void RecordWrites(Address address, int start, int len)); |
+ |
+ Address* store_buffer_top_address() { |
+ return reinterpret_cast<Address*>(&roots_[kStoreBufferTopRootIndex]); |
+ } |
+ |
+ // =========================================================================== |
// Incremental marking API. ================================================== |
// =========================================================================== |
@@ -1683,6 +1681,8 @@ class Heap { |
ROOT_LIST(ROOT_ACCESSOR) |
#undef ROOT_ACCESSOR |
+ StoreBuffer* store_buffer() { return &store_buffer_; } |
+ |
void set_current_gc_flags(int flags) { |
current_gc_flags_ = flags; |
DCHECK(!ShouldFinalizeIncrementalMarking() || |
@@ -2411,6 +2411,7 @@ class Heap { |
friend class MarkCompactMarkingVisitor; |
friend class MapCompact; |
friend class Page; |
+ friend class StoreBuffer; |
// Used in cctest. |
friend class HeapTester; |