|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.jikesrvm.objectmodel.TIB
public final class TIB
This class represents an instance of a type information block, at runtime it is an array with Object elements.
TIBLayoutConstants| Field Summary | |
|---|---|
private Object[] |
data
The backing data used during boot image writing. |
| Fields inherited from interface org.jikesrvm.objectmodel.TIBLayoutConstants |
|---|
IMT_METHOD_SLOTS, NEEDS_DYNAMIC_LINK, TIB_ARRAY_ELEMENT_TIB_INDEX, TIB_DOES_IMPLEMENT_INDEX, TIB_FIRST_SPECIALIZED_METHOD_INDEX, TIB_FIRST_VIRTUAL_METHOD_INDEX, TIB_INTERFACE_DISPATCH_TABLE_INDEX, TIB_SUPERCLASS_IDS_INDEX, TIB_TYPE_INDEX |
| Constructor Summary | |
|---|---|
private |
TIB(int size)
Private constructor. |
| Method Summary | |
|---|---|
static TIB |
allocate(int size)
Create a new TIB of the specified size. |
static int |
computeSize(int numVirtualMethods)
Calculate the size of a TIB |
Object |
get(int index)
Get a TIB entry. |
Object[] |
getBacking()
Return the backing array (for boot image writing) |
int[] |
getDoesImplement()
Get the does implement entry of the TIB |
IMT |
getImt()
Get the IMT from the TIB |
ITableArray |
getITableArray()
Get the ITable array for this type. |
short[] |
getSuperclassIds()
Get the superclass id set for this type. |
RVMType |
getType()
Get the type for this TIB. |
ArchitectureSpecific.CodeArray |
getVirtualMethod(int virtualMethodIndex)
Get a virtual method from this TIB. |
ArchitectureSpecific.CodeArray |
getVirtualMethod(Offset virtualMethodOffset)
Get a virtual method from this TIB by offset. |
static int |
getVirtualMethodIndex(int slot)
Calculate the virtual method index for the given raw slot index. |
static int |
getVirtualMethodIndex(Offset virtualMethodOffset)
Calculate the virtual method index for the given offset. |
static Offset |
getVirtualMethodOffset(int virtualMethodIndex)
Calculate the virtual method offset for the given index. |
void |
initializeInternalLazyCompilationTrampoline()
Initialize the lazy method invoker trampoline for this tib. |
boolean |
isInternalLazyCompilationTrampoline(int virtualMethodIndex)
Determine if a virtual method is the internal lazy compilation trampoline. |
int |
lazyMethodInvokerTrampolineIndex()
Calculate the address that is the call target for the lazy method invoker trampoline. |
static int |
lazyMethodInvokerTrampolineWords()
|
int |
length()
Return the length of the TIB |
int |
numVirtualMethods()
The number of virtual methods in this TIB. |
void |
set(int index,
Object value)
Set a TIB entry. |
void |
setArrayElementTib(TIB arrayElementTIB)
Set the TIB of the elements of this array (null if not an array). |
void |
setDoesImplement(int[] doesImplement)
Set the does implement entry of the TIB |
void |
setImt(IMT imt)
Set the IMT of the TIB |
void |
setITableArray(ITableArray iTableArray)
Set the ITable array for this type. |
void |
setSpecializedMethod(int specializedMethodIndex,
ArchitectureSpecific.CodeArray code)
Set a specialized method in this TIB. |
void |
setSuperclassIds(short[] superclassIds)
Set the superclass id set for this type. |
void |
setType(RVMType type)
Set the type for this TIB. |
void |
setVirtualMethod(int virtualMethodIndex,
ArchitectureSpecific.CodeArray code)
Set a virtual method in this TIB. |
void |
setVirtualMethod(Offset virtualMethodOffset,
ArchitectureSpecific.CodeArray code)
Set a virtual method in this TIB by offset. |
boolean |
slotContainsCode(int slot)
Does this slot in the TIB hold code? |
boolean |
slotContainsTib(int slot)
Does this slot in the TIB hold a TIB entry? |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private final Object[] data
| Constructor Detail |
|---|
private TIB(int size)
| Method Detail |
|---|
public static int lazyMethodInvokerTrampolineWords()
public static int computeSize(int numVirtualMethods)
public static Offset getVirtualMethodOffset(int virtualMethodIndex)
virtualMethodIndex - The index to calculate the offset for
public static int getVirtualMethodIndex(Offset virtualMethodOffset)
virtualMethodOffset - The offset to calculate the index for
public static int getVirtualMethodIndex(int slot)
slot - The raw slot to find the virtual method index for.
public Object[] getBacking()
getBacking in interface RuntimeTable<Object>public static TIB allocate(int size)
size - The size of the TIB
public Object get(int index)
get in interface RuntimeTable<Object>index - The index of the entry to get
public void set(int index,
Object value)
set in interface RuntimeTable<Object>index - The index of the entry to setvalue - The value to set the entry to.public int length()
length in interface RuntimeTable<Object>public RVMType getType()
public void setType(RVMType type)
public short[] getSuperclassIds()
public void setSuperclassIds(short[] superclassIds)
public ITableArray getITableArray()
public void setITableArray(ITableArray iTableArray)
public int[] getDoesImplement()
public void setDoesImplement(int[] doesImplement)
public IMT getImt()
public void setImt(IMT imt)
public void setArrayElementTib(TIB arrayElementTIB)
public ArchitectureSpecific.CodeArray getVirtualMethod(int virtualMethodIndex)
public boolean isInternalLazyCompilationTrampoline(int virtualMethodIndex)
public ArchitectureSpecific.CodeArray getVirtualMethod(Offset virtualMethodOffset)
public void setVirtualMethod(int virtualMethodIndex,
ArchitectureSpecific.CodeArray code)
public void setVirtualMethod(Offset virtualMethodOffset,
ArchitectureSpecific.CodeArray code)
public int lazyMethodInvokerTrampolineIndex()
public void initializeInternalLazyCompilationTrampoline()
public void setSpecializedMethod(int specializedMethodIndex,
ArchitectureSpecific.CodeArray code)
public int numVirtualMethods()
public boolean slotContainsTib(int slot)
slot - the TIB slot
public boolean slotContainsCode(int slot)
slot - the TIB slot
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||