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)
99
private
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)
139
private void FreePage(
TreePage
page)
153
private
TreePage
AllocPage(int size)
160
_nextFreePageLine = freePageIndex /
TreePage
.slotLineSize;
165
TreePage
[] newPageTable = new
TreePage
[_pageTable.Length * 2];
167
int[] newPageTableMap = new int[(newPageTable.Length +
TreePage
.slotLineSize - 1) /
TreePage
.slotLineSize];
184
private void MarkPageFull(
TreePage
page)
193
_pageTableMap[page.PageId /
TreePage
.slotLineSize] |= (1 << (page.PageId %
TreePage
.slotLineSize));
199
private void MarkPageFree(
TreePage
page)
208
_pageTableMap[page.PageId /
TreePage
.slotLineSize] &= ~(1 << (page.PageId %
TreePage
.slotLineSize));
251
TreePage
page = _pageTable[nodeId >> 16]!;
257
page._slotMap[slotIndex /
TreePage
.slotLineSize] &= ~(1 << slotIndex %
TreePage
.slotLineSize);
289
pageIndex = (pageTableMapPos *
TreePage
.slotLineSize) + GetIntValueFromBitMap(pageWithFreeSlot); // segment + offset
345
TreePage
? page;
2001
freeSlotId = (segmentPos *
TreePage
.slotLineSize) + freeSlotId;