Class SubAllocator
java.lang.Object
com.github.junrar.unpack.ppm.SubAllocator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intstatic final intprivate final RarNode[]private intprivate intprivate byte[]private intprivate intprivate intprivate final int[]private intstatic final intstatic final intstatic final intstatic final intstatic final intprivate intprivate intprivate intprivate RarMemBlockprivate RarMemBlockprivate RarMemBlockprivate RarNodestatic final intprivate final int[]private int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintintallocUnits(int NU) private intallocUnitsRare(int indx) voidclean()voiddecPText(int dPText) intexpandUnits(int oldPtr, int OldNU) voidfreeUnits(int ptr, int OldNU) intintbyte[]getHeap()intintgetPText()intprivate voidvoidincPText()voidprivate 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 intprivate voidsplitBlock(int pv, int oldIndx, int newIndx) booleanstartSubAllocator(int SASize) voidtoString()private intU2B(int NU)
-
Field Details
-
N1
public static final int N1- See Also:
-
N2
public static final int N2- See Also:
-
N3
public static final int N3- See Also:
-
N4
public static final int N4- See Also:
-
N_INDEXES
public static final int N_INDEXES- See Also:
-
UNIT_SIZE
public static final int UNIT_SIZE -
FIXED_UNIT_SIZE
public static final int FIXED_UNIT_SIZE- See Also:
-
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
-
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
-
tempRarMemBlock1
-
tempRarMemBlock2
-
tempRarMemBlock3
-
-
Constructor Details
-
SubAllocator
public SubAllocator()
-
-
Method Details
-
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
-