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

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

Issue 310783003: Visit encountered JSWeakCollection list during scavenging. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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
« no previous file with comments | « src/heap.cc ('k') | src/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_MARK_COMPACT_H_ 5 #ifndef V8_MARK_COMPACT_H_
6 #define V8_MARK_COMPACT_H_ 6 #define V8_MARK_COMPACT_H_
7 7
8 #include "compiler-intrinsics.h" 8 #include "compiler-intrinsics.h"
9 #include "spaces.h" 9 #include "spaces.h"
10 10
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 SlotsBuffer::AdditionMode mode = 642 SlotsBuffer::AdditionMode mode =
643 SlotsBuffer::FAIL_ON_OVERFLOW)); 643 SlotsBuffer::FAIL_ON_OVERFLOW));
644 644
645 void MigrateObject(HeapObject* dst, 645 void MigrateObject(HeapObject* dst,
646 HeapObject* src, 646 HeapObject* src,
647 int size, 647 int size,
648 AllocationSpace to_old_space); 648 AllocationSpace to_old_space);
649 649
650 bool TryPromoteObject(HeapObject* object, int object_size); 650 bool TryPromoteObject(HeapObject* object, int object_size);
651 651
652 inline Object* encountered_weak_collections() {
653 return encountered_weak_collections_;
654 }
655 inline void set_encountered_weak_collections(Object* weak_collection) {
656 encountered_weak_collections_ = weak_collection;
657 }
658
659 void InvalidateCode(Code* code); 652 void InvalidateCode(Code* code);
660 653
661 void ClearMarkbits(); 654 void ClearMarkbits();
662 655
663 bool abort_incremental_marking() const { return abort_incremental_marking_; } 656 bool abort_incremental_marking() const { return abort_incremental_marking_; }
664 657
665 bool is_compacting() const { return compacting_; } 658 bool is_compacting() const { return compacting_; }
666 659
667 MarkingParity marking_parity() { return marking_parity_; } 660 MarkingParity marking_parity() { return marking_parity_; }
668 661
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 friend class MarkObjectVisitor; 899 friend class MarkObjectVisitor;
907 static void VisitObject(HeapObject* obj); 900 static void VisitObject(HeapObject* obj);
908 901
909 friend class UnmarkObjectVisitor; 902 friend class UnmarkObjectVisitor;
910 static void UnmarkObject(HeapObject* obj); 903 static void UnmarkObject(HeapObject* obj);
911 #endif 904 #endif
912 905
913 Heap* heap_; 906 Heap* heap_;
914 MarkingDeque marking_deque_; 907 MarkingDeque marking_deque_;
915 CodeFlusher* code_flusher_; 908 CodeFlusher* code_flusher_;
916 Object* encountered_weak_collections_;
917 bool have_code_to_deoptimize_; 909 bool have_code_to_deoptimize_;
918 910
919 List<Page*> evacuation_candidates_; 911 List<Page*> evacuation_candidates_;
920 List<Code*> invalidated_code_; 912 List<Code*> invalidated_code_;
921 913
922 SmartPointer<FreeList> free_list_old_data_space_; 914 SmartPointer<FreeList> free_list_old_data_space_;
923 SmartPointer<FreeList> free_list_old_pointer_space_; 915 SmartPointer<FreeList> free_list_old_pointer_space_;
924 916
925 friend class Heap; 917 friend class Heap;
926 }; 918 };
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 private: 976 private:
985 MarkCompactCollector* collector_; 977 MarkCompactCollector* collector_;
986 }; 978 };
987 979
988 980
989 const char* AllocationSpaceName(AllocationSpace space); 981 const char* AllocationSpaceName(AllocationSpace space);
990 982
991 } } // namespace v8::internal 983 } } // namespace v8::internal
992 984
993 #endif // V8_MARK_COMPACT_H_ 985 #endif // V8_MARK_COMPACT_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698