equal
deleted
inserted
replaced
71 |
71 |
72 // Objects should be marked in "next" bitmap. |
72 // Objects should be marked in "next" bitmap. |
73 _verify_marked_incomplete, |
73 _verify_marked_incomplete, |
74 |
74 |
75 // Objects should be marked in "complete" bitmap. |
75 // Objects should be marked in "complete" bitmap. |
76 _verify_marked_complete, |
76 _verify_marked_complete |
77 } VerifyMarked; |
77 } VerifyMarked; |
78 |
78 |
79 typedef enum { |
79 typedef enum { |
80 // Disable forwarded objects verification. |
80 // Disable forwarded objects verification. |
81 _verify_forwarded_disable, |
81 _verify_forwarded_disable, |
82 |
82 |
83 // Objects should not have forwardees. |
83 // Objects should not have forwardees. |
84 _verify_forwarded_none, |
84 _verify_forwarded_none, |
85 |
85 |
86 // Objects may have forwardees. |
86 // Objects may have forwardees. |
87 _verify_forwarded_allow, |
87 _verify_forwarded_allow |
88 } VerifyForwarded; |
88 } VerifyForwarded; |
89 |
89 |
90 typedef enum { |
90 typedef enum { |
91 // Disable collection set verification. |
91 // Disable collection set verification. |
92 _verify_cset_disable, |
92 _verify_cset_disable, |
95 _verify_cset_none, |
95 _verify_cset_none, |
96 |
96 |
97 // May have references to cset, all should be forwarded. |
97 // May have references to cset, all should be forwarded. |
98 // Note: Allowing non-forwarded references to cset is equivalent |
98 // Note: Allowing non-forwarded references to cset is equivalent |
99 // to _verify_cset_disable. |
99 // to _verify_cset_disable. |
100 _verify_cset_forwarded, |
100 _verify_cset_forwarded |
101 } VerifyCollectionSet; |
101 } VerifyCollectionSet; |
102 |
102 |
103 typedef enum { |
103 typedef enum { |
104 // Disable liveness verification |
104 // Disable liveness verification |
105 _verify_liveness_disable, |
105 _verify_liveness_disable, |
107 // All objects should belong to live regions |
107 // All objects should belong to live regions |
108 _verify_liveness_conservative, |
108 _verify_liveness_conservative, |
109 |
109 |
110 // All objects should belong to live regions, |
110 // All objects should belong to live regions, |
111 // and liveness data should be accurate |
111 // and liveness data should be accurate |
112 _verify_liveness_complete, |
112 _verify_liveness_complete |
113 } VerifyLiveness; |
113 } VerifyLiveness; |
114 |
114 |
115 typedef enum { |
115 typedef enum { |
116 // Disable region verification |
116 // Disable region verification |
117 _verify_regions_disable, |
117 _verify_regions_disable, |
121 |
121 |
122 // No collection set regions allowed |
122 // No collection set regions allowed |
123 _verify_regions_nocset, |
123 _verify_regions_nocset, |
124 |
124 |
125 // No trash and no cset regions allowed |
125 // No trash and no cset regions allowed |
126 _verify_regions_notrash_nocset, |
126 _verify_regions_notrash_nocset |
127 } VerifyRegions; |
127 } VerifyRegions; |
128 |
128 |
129 typedef enum { |
129 typedef enum { |
130 // Disable gc-state verification |
130 // Disable gc-state verification |
131 _verify_gcstate_disable, |
131 _verify_gcstate_disable, |
135 |
135 |
136 // Nothing is in progress, some objects are forwarded |
136 // Nothing is in progress, some objects are forwarded |
137 _verify_gcstate_forwarded, |
137 _verify_gcstate_forwarded, |
138 |
138 |
139 // Evacuation is in progress, some objects are forwarded |
139 // Evacuation is in progress, some objects are forwarded |
140 _verify_gcstate_evacuation, |
140 _verify_gcstate_evacuation |
141 } VerifyGCState; |
141 } VerifyGCState; |
142 |
142 |
143 struct VerifyOptions { |
143 struct VerifyOptions { |
144 VerifyForwarded _verify_forwarded; |
144 VerifyForwarded _verify_forwarded; |
145 VerifyMarked _verify_marked; |
145 VerifyMarked _verify_marked; |