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

Side by Side Diff: src/heap/heap.h

Issue 1925563003: Revert of [heap] Uncommit pooled pages concurrently (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « src/deoptimizer.cc ('k') | src/heap/heap.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_HEAP_HEAP_H_ 5 #ifndef V8_HEAP_HEAP_H_
6 #define V8_HEAP_HEAP_H_ 6 #define V8_HEAP_HEAP_H_
7 7
8 #include <cmath> 8 #include <cmath>
9 #include <map> 9 #include <map>
10 10
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 // An object should be promoted if the object has survived a 771 // An object should be promoted if the object has survived a
772 // scavenge operation. 772 // scavenge operation.
773 inline bool ShouldBePromoted(Address old_address, int object_size); 773 inline bool ShouldBePromoted(Address old_address, int object_size);
774 774
775 void ClearNormalizedMapCaches(); 775 void ClearNormalizedMapCaches();
776 776
777 void IncrementDeferredCount(v8::Isolate::UseCounterFeature feature); 777 void IncrementDeferredCount(v8::Isolate::UseCounterFeature feature);
778 778
779 inline bool OldGenerationAllocationLimitReached(); 779 inline bool OldGenerationAllocationLimitReached();
780 780
781 void QueueMemoryChunkForFree(MemoryChunk* chunk);
782 void FreeQueuedChunks(MemoryChunk* list_head);
783 void FreeQueuedChunks();
784 void WaitUntilUnmappingOfFreeChunksCompleted();
785
781 // Completely clear the Instanceof cache (to stop it keeping objects alive 786 // Completely clear the Instanceof cache (to stop it keeping objects alive
782 // around a GC). 787 // around a GC).
783 inline void CompletelyClearInstanceofCache(); 788 inline void CompletelyClearInstanceofCache();
784 789
785 inline uint32_t HashSeed(); 790 inline uint32_t HashSeed();
786 791
787 inline int NextScriptId(); 792 inline int NextScriptId();
788 793
789 inline void SetArgumentsAdaptorDeoptPCOffset(int pc_offset); 794 inline void SetArgumentsAdaptorDeoptPCOffset(int pc_offset);
790 inline void SetConstructStubDeoptPCOffset(int pc_offset); 795 inline void SetConstructStubDeoptPCOffset(int pc_offset);
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
1378 // Report heap statistics. 1383 // Report heap statistics.
1379 void ReportHeapStatistics(const char* title); 1384 void ReportHeapStatistics(const char* title);
1380 void ReportCodeStatistics(const char* title); 1385 void ReportCodeStatistics(const char* title);
1381 #endif 1386 #endif
1382 #ifdef ENABLE_SLOW_DCHECKS 1387 #ifdef ENABLE_SLOW_DCHECKS
1383 int CountHandlesForObject(Object* object); 1388 int CountHandlesForObject(Object* object);
1384 #endif 1389 #endif
1385 1390
1386 private: 1391 private:
1387 class PretenuringScope; 1392 class PretenuringScope;
1393 class UnmapFreeMemoryTask;
1388 1394
1389 // External strings table is a place where all external strings are 1395 // External strings table is a place where all external strings are
1390 // registered. We need to keep track of such strings to properly 1396 // registered. We need to keep track of such strings to properly
1391 // finalize them. 1397 // finalize them.
1392 class ExternalStringTable { 1398 class ExternalStringTable {
1393 public: 1399 public:
1394 // Registers an external string. 1400 // Registers an external string.
1395 inline void AddString(String* string); 1401 inline void AddString(String* string);
1396 1402
1397 inline void Iterate(ObjectVisitor* v); 1403 inline void Iterate(ObjectVisitor* v);
(...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after
2195 2201
2196 // Currently set GC flags that are respected by all GC components. 2202 // Currently set GC flags that are respected by all GC components.
2197 int current_gc_flags_; 2203 int current_gc_flags_;
2198 2204
2199 // Currently set GC callback flags that are used to pass information between 2205 // Currently set GC callback flags that are used to pass information between
2200 // the embedder and V8's GC. 2206 // the embedder and V8's GC.
2201 GCCallbackFlags current_gc_callback_flags_; 2207 GCCallbackFlags current_gc_callback_flags_;
2202 2208
2203 ExternalStringTable external_string_table_; 2209 ExternalStringTable external_string_table_;
2204 2210
2211 MemoryChunk* chunks_queued_for_free_;
2212
2213 size_t concurrent_unmapping_tasks_active_;
2214
2215 base::Semaphore pending_unmapping_tasks_semaphore_;
2216
2205 base::Mutex relocation_mutex_; 2217 base::Mutex relocation_mutex_;
2206 2218
2207 int gc_callbacks_depth_; 2219 int gc_callbacks_depth_;
2208 2220
2209 bool deserialization_complete_; 2221 bool deserialization_complete_;
2210 2222
2211 StrongRootsList* strong_roots_list_; 2223 StrongRootsList* strong_roots_list_;
2212 2224
2213 ArrayBufferTracker* array_buffer_tracker_; 2225 ArrayBufferTracker* array_buffer_tracker_;
2214 2226
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
2637 friend class LargeObjectSpace; 2649 friend class LargeObjectSpace;
2638 friend class NewSpace; 2650 friend class NewSpace;
2639 friend class PagedSpace; 2651 friend class PagedSpace;
2640 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); 2652 DISALLOW_COPY_AND_ASSIGN(AllocationObserver);
2641 }; 2653 };
2642 2654
2643 } // namespace internal 2655 } // namespace internal
2644 } // namespace v8 2656 } // namespace v8
2645 2657
2646 #endif // V8_HEAP_HEAP_H_ 2658 #endif // V8_HEAP_HEAP_H_
OLDNEW
« no previous file with comments | « src/deoptimizer.cc ('k') | src/heap/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698