2 instantiations of TreePage
System.Data.Common (2)
System\Data\RbTree.cs (2)
159_pageTable[freePageIndex] = new TreePage(size); 174_pageTable[freePageIndex] = new TreePage(size);
24 references to TreePage
System.Data.Common (24)
System\Data\RbTree.cs (24)
99private TreePage?[] _pageTable; // initial size 4, then doubles (grows) - it never shrinks. 124_pageTable = new TreePage[1 * TreePage.slotLineSize]; 125_pageTableMap = new int[(_pageTable.Length + TreePage.slotLineSize - 1) / TreePage.slotLineSize]; // Ceiling(size) 139private void FreePage(TreePage page) 153private TreePage AllocPage(int size) 160_nextFreePageLine = freePageIndex / TreePage.slotLineSize; 165TreePage[] newPageTable = new TreePage[_pageTable.Length * 2]; 167int[] newPageTableMap = new int[(newPageTable.Length + TreePage.slotLineSize - 1) / TreePage.slotLineSize]; 184private void MarkPageFull(TreePage page) 193_pageTableMap[page.PageId / TreePage.slotLineSize] |= (1 << (page.PageId % TreePage.slotLineSize)); 199private void MarkPageFree(TreePage page) 208_pageTableMap[page.PageId / TreePage.slotLineSize] &= ~(1 << (page.PageId % TreePage.slotLineSize)); 251TreePage page = _pageTable[nodeId >> 16]!; 257page._slotMap[slotIndex / TreePage.slotLineSize] &= ~(1 << slotIndex % TreePage.slotLineSize); 289pageIndex = (pageTableMapPos * TreePage.slotLineSize) + GetIntValueFromBitMap(pageWithFreeSlot); // segment + offset 345TreePage? page; 2001freeSlotId = (segmentPos * TreePage.slotLineSize) + freeSlotId;