Home | History | Annotate | Download | only in heap

Lines Matching refs:markbit

13 class MarkBit {
17 inline MarkBit(CellType* cell, CellType mask) : cell_(cell), mask_(mask) {}
20 bool operator==(const MarkBit& other) {
29 inline MarkBit Next() {
32 return MarkBit(cell_ + 1, 1);
34 return MarkBit(cell_, new_mask);
70 return sizeof(MarkBit::CellType) * cells_count;
89 INLINE(MarkBit::CellType* cells()) {
90 return reinterpret_cast<MarkBit::CellType*>(this);
99 inline MarkBit MarkBitFromIndex(uint32_t index) {
100 MarkBit::CellType mask = 1u << IndexInCell(index);
101 MarkBit::CellType* cell = this->cells() + (index >> kBitsPerCellLog2);
102 return MarkBit(cell, mask);
112 MarkBit::CellType start_index_mask = 1u << Bitmap::IndexInCell(start_index);
115 MarkBit::CellType end_index_mask = 1u << Bitmap::IndexInCell(end_index);
135 MarkBit::CellType start_index_mask = 1u << Bitmap::IndexInCell(start_index);
138 MarkBit::CellType end_index_mask = 1u << Bitmap::IndexInCell(end_index);
158 MarkBit::CellType start_index_mask = 1u << Bitmap::IndexInCell(start_index);
161 MarkBit::CellType end_index_mask = 1u << Bitmap::IndexInCell(end_index);
163 MarkBit::CellType matching_mask;
183 MarkBit::CellType start_index_mask = 1u << Bitmap::IndexInCell(start_index);
186 MarkBit::CellType end_index_mask = 1u << Bitmap::IndexInCell(end_index);
188 MarkBit::CellType matching_mask;
274 INLINE(static bool IsImpossible(MarkBit mark_bit)) {
280 INLINE(static bool IsBlack(MarkBit mark_bit)) {
286 INLINE(static bool IsWhite(MarkBit mark_bit)) {
293 INLINE(static bool IsGrey(MarkBit mark_bit)) {
299 INLINE(static bool IsBlackOrGrey(MarkBit mark_bit)) { return mark_bit.Get(); }
301 INLINE(static void MarkBlack(MarkBit mark_bit)) {
306 INLINE(static void MarkWhite(MarkBit mark_bit)) {
311 INLINE(static void BlackToWhite(MarkBit markbit)) {
312 DCHECK(IsBlack(markbit));
313 markbit.Clear();
314 markbit.Next().Clear();
317 INLINE(static void GreyToWhite(MarkBit markbit)) {
318 DCHECK(IsGrey(markbit));
319 markbit.Clear();
320 markbit.Next().Clear();
323 INLINE(static void BlackToGrey(MarkBit markbit)) {
324 DCHECK(IsBlack(markbit));
325 markbit.Next().Clear();
328 INLINE(static void WhiteToGrey(MarkBit markbit)) {
329 DCHECK(IsWhite(markbit));
330 markbit.Set();
333 INLINE(static void WhiteToBlack(MarkBit markbit)) {
334 DCHECK(IsWhite(markbit));
335 markbit.Set();
336 markbit.Next().Set();
339 INLINE(static void GreyToBlack(MarkBit markbit)) {
340 DCHECK(IsGrey(markbit));
341 markbit.Next().Set();
344 INLINE(static void AnyToGrey(MarkBit markbit)) {
345 markbit.Set();
346 markbit.Next().Clear();
370 static ObjectColor Color(MarkBit mark_bit) {