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

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

Issue 292183008: Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info ba… (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: The fix Created 6 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 | Annotate | Revision Log
« no previous file with comments | « src/ia32/builtins-ia32.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 833 matching lines...) Expand 10 before | Expand all | Expand 10 after
844 void ClearNonLiveReferences(); 844 void ClearNonLiveReferences();
845 void ClearNonLivePrototypeTransitions(Map* map); 845 void ClearNonLivePrototypeTransitions(Map* map);
846 void ClearNonLiveMapTransitions(Map* map, MarkBit map_mark); 846 void ClearNonLiveMapTransitions(Map* map, MarkBit map_mark);
847 847
848 void ClearDependentCode(DependentCode* dependent_code); 848 void ClearDependentCode(DependentCode* dependent_code);
849 void ClearDependentICList(Object* head); 849 void ClearDependentICList(Object* head);
850 void ClearNonLiveDependentCode(DependentCode* dependent_code); 850 void ClearNonLiveDependentCode(DependentCode* dependent_code);
851 int ClearNonLiveDependentCodeInGroup(DependentCode* dependent_code, int group, 851 int ClearNonLiveDependentCodeInGroup(DependentCode* dependent_code, int group,
852 int start, int end, int new_start); 852 int start, int end, int new_start);
853 853
854 // Marking detaches initial maps from SharedFunctionInfo objects
855 // to make this reference weak. We need to reattach initial maps
856 // back after collection. This is either done during
857 // ClearNonLiveTransitions pass or by calling this function.
858 void ReattachInitialMaps();
859
860 // Mark all values associated with reachable keys in weak collections 854 // Mark all values associated with reachable keys in weak collections
861 // encountered so far. This might push new object or even new weak maps onto 855 // encountered so far. This might push new object or even new weak maps onto
862 // the marking stack. 856 // the marking stack.
863 void ProcessWeakCollections(); 857 void ProcessWeakCollections();
864 858
865 // After all reachable objects have been marked those weak map entries 859 // After all reachable objects have been marked those weak map entries
866 // with an unreachable key are removed from all encountered weak maps. 860 // with an unreachable key are removed from all encountered weak maps.
867 // The linked list of all encountered weak maps is destroyed. 861 // The linked list of all encountered weak maps is destroyed.
868 void ClearWeakCollections(); 862 void ClearWeakCollections();
869 863
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
990 private: 984 private:
991 MarkCompactCollector* collector_; 985 MarkCompactCollector* collector_;
992 }; 986 };
993 987
994 988
995 const char* AllocationSpaceName(AllocationSpace space); 989 const char* AllocationSpaceName(AllocationSpace space);
996 990
997 } } // namespace v8::internal 991 } } // namespace v8::internal
998 992
999 #endif // V8_MARK_COMPACT_H_ 993 #endif // V8_MARK_COMPACT_H_
OLDNEW
« no previous file with comments | « src/ia32/builtins-ia32.cc ('k') | src/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698