Package com.github.junrar.unpack.ppm
Class SubAllocator
- java.lang.Object
-
- com.github.junrar.unpack.ppm.SubAllocator
-
public class SubAllocator extends java.lang.ObjectDOCUMENT ME- Version:
- $LastChangedRevision$
-
-
Field Summary
Fields Modifier and Type Field Description private intfakeUnitsStartstatic intFIXED_UNIT_SIZEprivate RarNode[]freeListprivate intfreeListPosprivate intglueCountprivate byte[]heapprivate intheapEndprivate intheapStartprivate inthiUnitprivate int[]indx2Unitsprivate intloUnitstatic intN_INDEXESstatic intN1static intN2static intN3static intN4private intpTextprivate intsubAllocatorSizeprivate inttempMemBlockPosprivate RarMemBlocktempRarMemBlock1private RarMemBlocktempRarMemBlock2private RarMemBlocktempRarMemBlock3private RarNodetempRarNodestatic intUNIT_SIZEprivate int[]units2Indxprivate intunitsStart
-
Constructor Summary
Constructors Constructor Description SubAllocator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intallocContext()intallocUnits(int NU)private intallocUnitsRare(int indx)voidclean()voiddecPText(int dPText)intexpandUnits(int oldPtr, int OldNU)voidfreeUnits(int ptr, int OldNU)intGetAllocatedMemory()intgetFakeUnitsStart()byte[]getHeap()intgetHeapEnd()intgetPText()intgetUnitsStart()private voidglueFreeBlocks()voidincPText()voidinitSubAllocator()private voidinsertNode(int p, int indx)private intMBPtr(int BasePtr, int Items)private intremoveNode(int indx)voidsetFakeUnitsStart(int fakeUnitsStart)voidsetPText(int text)voidsetUnitsStart(int unitsStart)intshrinkUnits(int oldPtr, int oldNU, int newNU)private intsizeOfFreeList()private voidsplitBlock(int pv, int oldIndx, int newIndx)booleanstartSubAllocator(int SASize)voidstopSubAllocator()java.lang.StringtoString()private intU2B(int NU)
-
-
-
Field Detail
-
N1
public static final int N1
- See Also:
- Constant Field Values
-
N2
public static final int N2
- See Also:
- Constant Field Values
-
N3
public static final int N3
- See Also:
- Constant Field Values
-
N4
public static final int N4
- See Also:
- Constant Field Values
-
N_INDEXES
public static final int N_INDEXES
- See Also:
- Constant Field Values
-
UNIT_SIZE
public static final int UNIT_SIZE
-
FIXED_UNIT_SIZE
public static final int FIXED_UNIT_SIZE
- See Also:
- Constant Field Values
-
subAllocatorSize
private int subAllocatorSize
-
indx2Units
private final int[] indx2Units
-
units2Indx
private final int[] units2Indx
-
glueCount
private int glueCount
-
heapStart
private int heapStart
-
loUnit
private int loUnit
-
hiUnit
private int hiUnit
-
freeList
private final RarNode[] freeList
-
pText
private int pText
-
unitsStart
private int unitsStart
-
heapEnd
private int heapEnd
-
fakeUnitsStart
private int fakeUnitsStart
-
heap
private byte[] heap
-
freeListPos
private int freeListPos
-
tempMemBlockPos
private int tempMemBlockPos
-
tempRarNode
private RarNode tempRarNode
-
tempRarMemBlock1
private RarMemBlock tempRarMemBlock1
-
tempRarMemBlock2
private RarMemBlock tempRarMemBlock2
-
tempRarMemBlock3
private RarMemBlock tempRarMemBlock3
-
-
Method Detail
-
clean
public void clean()
-
insertNode
private void insertNode(int p, int indx)
-
incPText
public void incPText()
-
removeNode
private int removeNode(int indx)
-
U2B
private int U2B(int NU)
-
MBPtr
private int MBPtr(int BasePtr, int Items)
-
splitBlock
private void splitBlock(int pv, int oldIndx, int newIndx)
-
stopSubAllocator
public void stopSubAllocator()
-
GetAllocatedMemory
public int GetAllocatedMemory()
-
startSubAllocator
public boolean startSubAllocator(int SASize)
-
glueFreeBlocks
private void glueFreeBlocks()
-
allocUnitsRare
private int allocUnitsRare(int indx)
-
allocUnits
public int allocUnits(int NU)
-
allocContext
public int allocContext()
-
expandUnits
public int expandUnits(int oldPtr, int OldNU)
-
shrinkUnits
public int shrinkUnits(int oldPtr, int oldNU, int newNU)
-
freeUnits
public void freeUnits(int ptr, int OldNU)
-
getFakeUnitsStart
public int getFakeUnitsStart()
-
setFakeUnitsStart
public void setFakeUnitsStart(int fakeUnitsStart)
-
getHeapEnd
public int getHeapEnd()
-
getPText
public int getPText()
-
setPText
public void setPText(int text)
-
decPText
public void decPText(int dPText)
-
getUnitsStart
public int getUnitsStart()
-
setUnitsStart
public void setUnitsStart(int unitsStart)
-
initSubAllocator
public void initSubAllocator()
-
sizeOfFreeList
private int sizeOfFreeList()
-
getHeap
public byte[] getHeap()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-