2 instantiations of TreePage
System.Data (2)
fx\src\data\System\Data\RbTree.cs (2)
157
_pageTable[freePageIndex] = new
TreePage
(size);
172
_pageTable[freePageIndex] = new
TreePage
(size);
24 references to TreePage
System.Data (24)
fx\src\data\System\Data\RbTree.cs (24)
101
private
TreePage
[] _pageTable; // initial size 4, then doubles (grows) - it never shrinks
122
_pageTable = new
TreePage
[1 *
TreePage
.slotLineSize];
123
_pageTableMap = new Int32[(_pageTable.Length +
TreePage
.slotLineSize - 1) /
TreePage
.slotLineSize]; // Ceiling(size)
137
private void FreePage (
TreePage
page)
151
private
TreePage
AllocPage (int size)
158
nextFreePageLine = freePageIndex /
TreePage
.slotLineSize;
163
TreePage
[] newPageTable = new
TreePage
[_pageTable.Length * 2];
165
Int32[] newPageTableMap = new Int32[(newPageTable.Length +
TreePage
.slotLineSize - 1) /
TreePage
.slotLineSize];
182
private void MarkPageFull (
TreePage
page)
191
_pageTableMap[page.PageId /
TreePage
.slotLineSize] |= (1 << (page.PageId %
TreePage
.slotLineSize));
197
private void MarkPageFree (
TreePage
page)
206
_pageTableMap[page.PageId /
TreePage
.slotLineSize] &= ~(1 << (page.PageId %
TreePage
.slotLineSize));
249
TreePage
page = _pageTable[nodeId >> 16];
255
page.SlotMap[slotIndex /
TreePage
.slotLineSize] &= ~( ((Int32)1) << (int)(slotIndex %
TreePage
.slotLineSize));
288
pageIndex = (pageTableMapPos *
TreePage
.slotLineSize) + GetIntValueFromBitMap (pageWithFreeSlot); // segment + offset
340
TreePage
page = null;
1915
freeSlotId = (segmentPos *
TreePage
.slotLineSize) + freeSlotId;