Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1178)

Unified Diff: src/heap/heap.h

Issue 1323993004: [heap] Separate scavenger functionality into own file. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebased. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « BUILD.gn ('k') | src/heap/heap.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap/heap.h
diff --git a/src/heap/heap.h b/src/heap/heap.h
index 58f7a7bb7199c618ce143296cf7c36ac7846cd8e..bb901f1c68d8fecb269c2f72d7b98ff5674a2f7b 100644
--- a/src/heap/heap.h
+++ b/src/heap/heap.h
@@ -15,7 +15,6 @@
#include "src/heap/gc-idle-time-handler.h"
#include "src/heap/incremental-marking.h"
#include "src/heap/mark-compact.h"
-#include "src/heap/objects-visiting.h"
#include "src/heap/spaces.h"
#include "src/heap/store-buffer.h"
#include "src/list.h"
@@ -427,6 +426,7 @@ class HeapStats;
class Isolate;
class MemoryReducer;
class ObjectStats;
+class Scavenger;
class WeakObjectRetainer;
@@ -535,10 +535,6 @@ class PromotionQueue {
};
-typedef void (*ScavengingCallback)(Map* map, HeapObject** slot,
- HeapObject* object);
-
-
enum ArrayStorageAllocationMode {
DONT_INITIALIZE_ARRAY_ELEMENTS,
INITIALIZE_ARRAY_ELEMENTS_WITH_HOLE
@@ -719,16 +715,6 @@ class Heap {
template <typename T>
static inline bool IsOneByte(T t, int chars);
- // Callback function passed to Heap::Iterate etc. Copies an object if
- // necessary, the object might be promoted to an old space. The caller must
- // ensure the precondition that the object is (a) a heap object and (b) in
- // the heap's from space.
- static inline void ScavengePointer(HeapObject** p);
- static inline void ScavengeObject(HeapObject** p, HeapObject* object);
-
- // Slow part of scavenge object.
- static void ScavengeObjectSlow(HeapObject** p, HeapObject* object);
-
static void FatalProcessOutOfMemory(const char* location,
bool take_snapshot = false);
@@ -1776,8 +1762,6 @@ class Heap {
void ConfigureInitialOldGenerationSize();
- void SelectScavengingVisitorsTable();
-
bool HasLowYoungGenerationAllocationRate();
bool HasLowOldGenerationAllocationRate();
double YoungGenerationMutatorUtilization();
@@ -2259,6 +2243,8 @@ class Heap {
// Last time a garbage collection happened.
double last_gc_time_;
+ Scavenger* scavenge_collector_;
+
MarkCompactCollector mark_compact_collector_;
StoreBuffer store_buffer_;
@@ -2318,8 +2304,6 @@ class Heap {
ExternalStringTable external_string_table_;
- VisitorDispatchTable<ScavengingCallback> scavenging_visitors_table_;
-
MemoryChunk* chunks_queued_for_free_;
size_t concurrent_unmapping_tasks_active_;
@@ -2348,6 +2332,7 @@ class Heap {
friend class MarkCompactMarkingVisitor;
friend class ObjectStatsVisitor;
friend class Page;
+ friend class Scavenger;
friend class StoreBuffer;
// The allocator interface.
« no previous file with comments | « BUILD.gn ('k') | src/heap/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698