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

Side by Side Diff: src/incremental-marking.h

Issue 7112030: Make backing store for incremental marking deque non-static. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/gc
Patch Set: Created 9 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 public: 42 public:
43 enum State { 43 enum State {
44 STOPPED, 44 STOPPED,
45 SWEEPING, 45 SWEEPING,
46 MARKING, 46 MARKING,
47 COMPLETE 47 COMPLETE
48 }; 48 };
49 49
50 explicit IncrementalMarking(Heap* heap); 50 explicit IncrementalMarking(Heap* heap);
51 51
52 void TearDown();
53
52 State state() { 54 State state() {
53 ASSERT(state_ == STOPPED || FLAG_incremental_marking); 55 ASSERT(state_ == STOPPED || FLAG_incremental_marking);
54 return state_; 56 return state_;
55 } 57 }
56 58
57 bool should_hurry() { return should_hurry_; } 59 bool should_hurry() { return should_hurry_; }
58 60
59 inline bool IsStopped() { return state() == STOPPED; } 61 inline bool IsStopped() { return state() == STOPPED; }
60 62
61 inline bool IsMarking() { return state() >= MARKING; } 63 inline bool IsMarking() { return state() >= MARKING; }
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 #endif 167 #endif
166 168
167 void StartMarking(); 169 void StartMarking();
168 170
169 void DeactivateWriteBarrierForSpace(PagedSpace* space); 171 void DeactivateWriteBarrierForSpace(PagedSpace* space);
170 void DeactivateWriteBarrier(); 172 void DeactivateWriteBarrier();
171 173
172 static void SetOldSpacePageFlags(MemoryChunk* chunk, bool is_marking); 174 static void SetOldSpacePageFlags(MemoryChunk* chunk, bool is_marking);
173 static void SetNewSpacePageFlags(MemoryChunk* chunk, bool is_marking); 175 static void SetNewSpacePageFlags(MemoryChunk* chunk, bool is_marking);
174 176
177 void EnsureMarkingDequeIsCommitted();
178
175 Heap* heap_; 179 Heap* heap_;
176 180
177 State state_; 181 State state_;
182
183 VirtualMemory* marking_deque_memory_;
178 MarkingDeque marking_deque_; 184 MarkingDeque marking_deque_;
179 185
180 int steps_count_; 186 int steps_count_;
181 double steps_took_; 187 double steps_took_;
182 bool should_hurry_; 188 bool should_hurry_;
183 int allocation_marking_factor_; 189 int allocation_marking_factor_;
184 intptr_t allocated_; 190 intptr_t allocated_;
185 }; 191 };
186 192
187 } } // namespace v8::internal 193 } } // namespace v8::internal
188 194
189 #endif // V8_INCREMENTAL_MARKING_H_ 195 #endif // V8_INCREMENTAL_MARKING_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/incremental-marking.cc » ('j') | src/incremental-marking.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698