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

Side by Side Diff: src/heap/mark-compact.h

Issue 1818013002: [heap] Optimize migration of objects (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 9 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 | « no previous file | src/heap/mark-compact.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_MARK_COMPACT_H_ 5 #ifndef V8_HEAP_MARK_COMPACT_H_
6 #define V8_HEAP_MARK_COMPACT_H_ 6 #define V8_HEAP_MARK_COMPACT_H_
7 7
8 #include "src/base/bits.h" 8 #include "src/base/bits.h"
9 #include "src/heap/spaces.h" 9 #include "src/heap/spaces.h"
10 #include "src/heap/store-buffer.h" 10 #include "src/heap/store-buffer.h"
(...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 void RecordRelocSlot(Code* host, RelocInfo* rinfo, Object* target); 478 void RecordRelocSlot(Code* host, RelocInfo* rinfo, Object* target);
479 void RecordCodeEntrySlot(HeapObject* host, Address slot, Code* target); 479 void RecordCodeEntrySlot(HeapObject* host, Address slot, Code* target);
480 void RecordCodeTargetPatch(Address pc, Code* target); 480 void RecordCodeTargetPatch(Address pc, Code* target);
481 INLINE(void RecordSlot(HeapObject* object, Object** slot, Object* target)); 481 INLINE(void RecordSlot(HeapObject* object, Object** slot, Object* target));
482 INLINE(void ForceRecordSlot(HeapObject* object, Object** slot, 482 INLINE(void ForceRecordSlot(HeapObject* object, Object** slot,
483 Object* target)); 483 Object* target));
484 484
485 void UpdateSlots(SlotsBuffer* buffer); 485 void UpdateSlots(SlotsBuffer* buffer);
486 void UpdateSlotsRecordedIn(SlotsBuffer* buffer); 486 void UpdateSlotsRecordedIn(SlotsBuffer* buffer);
487 487
488 void MigrateObject(HeapObject* dst, HeapObject* src, int size,
489 AllocationSpace to_old_space);
490
491 void InvalidateCode(Code* code); 488 void InvalidateCode(Code* code);
492 489
493 void ClearMarkbits(); 490 void ClearMarkbits();
494 491
495 bool is_compacting() const { return compacting_; } 492 bool is_compacting() const { return compacting_; }
496 493
497 MarkingParity marking_parity() { return marking_parity_; } 494 MarkingParity marking_parity() { return marking_parity_; }
498 495
499 // Concurrent and parallel sweeping support. If required_freed_bytes was set 496 // Concurrent and parallel sweeping support. If required_freed_bytes was set
500 // to a value larger than 0, then sweeping returns after a block of at least 497 // to a value larger than 0, then sweeping returns after a block of at least
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
867 private: 864 private:
868 MarkCompactCollector* collector_; 865 MarkCompactCollector* collector_;
869 }; 866 };
870 867
871 868
872 const char* AllocationSpaceName(AllocationSpace space); 869 const char* AllocationSpaceName(AllocationSpace space);
873 } // namespace internal 870 } // namespace internal
874 } // namespace v8 871 } // namespace v8
875 872
876 #endif // V8_HEAP_MARK_COMPACT_H_ 873 #endif // V8_HEAP_MARK_COMPACT_H_
OLDNEW
« no previous file with comments | « no previous file | src/heap/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698