|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.classloader.AnnotatedElement org.jikesrvm.classloader.RVMType org.jikesrvm.classloader.RVMClass
public final class RVMClass
Description of a java "class" type.
This description is read from a ".class" file as classes/field/methods referenced by the running program need to be bound in to the running image.
RVMType
,
RVMArray
,
Primitive
,
UnboxedType
Field Summary | |
---|---|
private boolean |
acyclic
Reference Count GC: is this type acyclic? |
private int |
alignment
The desired alignment for instances of this type. |
private Annotation[] |
annotations
Cached set of inherited and declared annotations. |
private RVMMethod |
classInitializerMethod
Class initializer method, null if no method or if class is initialized (ie class initializer method has been run) |
static boolean |
classLoadingDisabled
Flag for closed world testing |
static ClassLoadingListener |
classLoadListener
|
private int[] |
constantPool
The constant pool holds constants used by the class and the Java bytecodes in the methods associated with this class. |
private RVMMethod[] |
constructorMethods
constructor methods of class |
private TypeReference[] |
declaredClasses
Declared inner classes, may be null |
private RVMField[] |
declaredFields
Fields of this class |
private RVMClass[] |
declaredInterfaces
Interfaces supported by this class |
private RVMMethod[] |
declaredMethods
Methods of this class |
private TypeReference |
declaringClass
The outer class, or null if this is not a inner/nested class |
private boolean |
desiredAssertionStatus
Are assertions enabled on this class? |
private TypeReference |
enclosingClass
The enclosing class if this is a local class |
private MethodReference |
enclosingMethod
The enclosing method if this is a local class |
private FieldLayoutContext |
fieldLayoutContext
A field layout helper - used to keep context regarding field layouts. |
private boolean |
hasFinalizer
Do objects of this class have a finalizer method? |
private IMT |
imt
The imt for this class |
private boolean |
inBootImage
Is this class type in the bootimage? |
private RVMField[] |
instanceFields
fields distinct for each instance of class |
private int |
instanceSize
Total size of per-instance data, in bytes |
private static int |
interfaceCount
|
private static Object |
interfaceCountLock
|
private int |
interfaceId
|
private static RVMClass[] |
interfaces
|
private short |
modifiers
ClassLoaderConstants |
(package private) RVMMethod[] |
noIMTConflictMap
|
private Object[] |
objectCache
Set of objects that are cached here to ensure they are not collected by GC |
private Atom |
signature
The signature is a string representing the generic type for this class declaration, may be null |
private Atom |
sourceName
Name of file .class file was compiled from, may be null |
private byte |
state
current class-loading stage (loaded, resolved, instantiated, initializing or initialized) |
private RVMField[] |
staticFields
fields shared by all instances of class |
private RVMMethod[] |
staticMethods
static methods of class |
private RVMClass[] |
subClasses
Non-final list of sub-classes. |
private RVMClass |
superClass
Super class of this class |
private Offset |
thinLockOffset
At what offset is the thin lock word to be found in instances of objects of this type? |
private TIB |
typeInformationBlock
type and virtual method dispatch table for class |
private RVMMethod[] |
virtualMethods
virtual methods of class |
Fields inherited from class org.jikesrvm.classloader.AnnotatedElement |
---|
declaredAnnotationDatas |
Fields inherited from interface org.jikesrvm.Constants |
---|
NOT_REACHED, REFLECTION_FPRS_BITS, REFLECTION_FPRS_MASK, REFLECTION_GPRS_BITS, REFLECTION_GPRS_MASK |
Fields inherited from interface org.jikesrvm.objectmodel.ThinLockConstants |
---|
TL_DEDICATED_U16_OFFSET, TL_DEDICATED_U16_SHIFT, TL_LOCK_COUNT_MASK, TL_LOCK_COUNT_SHIFT, TL_LOCK_COUNT_UNIT, TL_LOCK_ID_MASK, TL_LOCK_ID_SHIFT, TL_NUM_BITS_RC, TL_NUM_BITS_STAT, TL_NUM_BITS_TID, TL_STAT_BIASABLE, TL_STAT_FAT, TL_STAT_MASK, TL_STAT_SHIFT, TL_STAT_THIN, TL_THREAD_ID_MASK, TL_THREAD_ID_SHIFT, TL_UNLOCK_MASK |
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 |
Fields inherited from interface org.jikesrvm.HeapLayoutConstants |
---|
BAD_MAP_COMPRESSION, BOOT_IMAGE_CODE_END, BOOT_IMAGE_CODE_SIZE, BOOT_IMAGE_CODE_START, BOOT_IMAGE_DATA_END, BOOT_IMAGE_DATA_SIZE, BOOT_IMAGE_DATA_START, BOOT_IMAGE_END, BOOT_IMAGE_RMAP_END, BOOT_IMAGE_RMAP_START, MAX_BOOT_IMAGE_RMAP_SIZE, MAXIMUM_MAPPABLE |
Constructor Summary | |
---|---|
RVMClass(TypeReference typeRef,
int[] constantPool,
short modifiers,
RVMClass superClass,
RVMClass[] declaredInterfaces,
RVMField[] declaredFields,
RVMMethod[] declaredMethods,
TypeReference[] declaredClasses,
TypeReference declaringClass,
TypeReference enclosingClass,
MethodReference enclosingMethod,
Atom sourceName,
RVMMethod classInitializerMethod,
Atom signature,
RVMAnnotation[] annotations)
Construct a class from its constituent loaded parts |
Method Summary | |
---|---|
void |
addCachedObject(Object o)
Add the given cached object. |
private void |
addSubClass(RVMClass sub)
Add to list of classes that derive from this one. |
void |
allBootImageTypesResolved()
This method is only called by the bootimage writer. |
private void |
assignInterfaceId()
|
(package private) static Class<?> |
createReflectionClass(RVMMethod methodToCall)
Create a synthetic class that extends ReflectionBase and invokes the given method |
boolean |
declaresFinalInstanceField()
Does this class directly define a final instance field (has implications for JMM). |
RVMField |
findDeclaredField(Atom fieldName)
Find description of a field of this class. |
RVMField |
findDeclaredField(Atom fieldName,
Atom fieldDescriptor)
Find description of a field of this class. |
RVMMethod |
findDeclaredMethod(Atom methodName)
Find the first description of a method of this class. |
RVMMethod |
findDeclaredMethod(Atom methodName,
Atom methodDescriptor)
Find description of a method of this class. |
RVMMethod |
findInitializerMethod(Atom memberDescriptor)
Find specified initializer method description. |
RVMMethod |
findMainMethod()
Find description of "public static void main(String[])" method of this class. |
RVMMethod |
findStaticMethod(Atom memberName,
Atom memberDescriptor)
Find specified static method description. |
int |
getAlignment()
|
RVMClass[] |
getAllImplementedInterfaces()
|
(package private) Annotation[] |
getAnnotationsInternal()
|
static RVMClass |
getClassFromStackFrame(int skip)
Used for accessibility checks in reflection code. |
RVMMethod |
getClassInitializerMethod()
Static initializer method for this class ( null -> no static initializer
or initializer already been run). |
static ClassLoader |
getClassLoaderFromStackFrame(int skip)
Support for user-written class loaders: It's required to find the classloader of the class whose method requires another class to be loaded; the initiating loader of the required class is the defining loader of the requiring class. |
RVMMethod[] |
getConstructorMethods()
Constructors ( |
TypeReference[] |
getDeclaredClasses()
Declared inner and static member classes. |
RVMField[] |
getDeclaredFields()
Fields defined directly by this class (i.e. not including superclasses). |
RVMClass[] |
getDeclaredInterfaces()
Interfaces implemented directly by this class (ie. not including superclasses). |
RVMMethod[] |
getDeclaredMethods()
Methods defined directly by this class (i.e. not including superclasses). |
TypeReference |
getDeclaringClass()
Class that declared this class, or null if this is not an inner/nested class. |
boolean |
getDesiredAssertionStatus()
Should assertions be enabled on this type? |
int |
getDimensionality()
Number of [ in descriptor for arrays; -1 for primitives; 0 for classes |
int |
getDoesImplementBitMask()
|
int |
getDoesImplementIndex()
|
TypeReference |
getEnclosingClass()
Class that immediately encloses this class, or null if this is not an inner/nested class. |
FieldLayoutContext |
getFieldLayoutContext()
Set object representing available holes in the field layout |
FieldReference |
getFieldRef(int constantPoolIndex)
Get contents of a "fieldRef" constant pool entry. |
RVMField[] |
getInstanceFields()
Non-static fields of this class (composed with supertypes, if any). |
int |
getInstanceSize()
Total size, in bytes, of an instance of this class (including object header). |
int |
getInstanceSizeInternal()
Total size, in bytes, of an instance of this class (including object header). |
static RVMClass |
getInterface(int id)
|
int |
getInterfaceId()
Classes used as Interfaces get assigned an interface id. |
byte |
getLiteralDescription(int constantPoolIndex)
Get description of a literal constant. |
Offset |
getLiteralOffset(int constantPoolIndex)
Get offset of a literal constant, in bytes. |
int |
getMemoryBytes()
Number of bytes in memory required to represent the type |
MethodReference |
getMethodRef(int constantPoolIndex)
Get contents of a "methodRef" constant pool entry. |
int |
getModifiers()
Get the modifiers associated with this class ClassLoaderConstants . |
int |
getNumberOfNonFinalReferences()
|
String |
getPackageName()
Package name - something like "java.lang". |
Atom |
getSignature()
Generic type information for class |
Atom |
getSourceName()
Name of source file from which class was compiled - something like "c:\java\src\java\lang\Object.java". |
int |
getStackWords()
Space required when this type is stored on the stack (or as a field), in words. |
RVMField[] |
getStaticFields()
Static fields of this class. |
RVMMethod[] |
getStaticMethods()
Statically dispatched methods of this class. |
RVMClass[] |
getSubClasses()
Currently loaded classes that "extend" this class. |
RVMClass |
getSuperClass()
Superclass of this class ( null means "no superclass",
i.e. class is "java/lang/Object"). |
Offset |
getThinLockOffset()
Get the offset in instances of this type assigned to the thin lock word. |
int |
getTypeDepth()
Get number of superclasses to Object. |
TIB |
getTypeInformationBlock()
Runtime type information for this class type. |
TypeReference |
getTypeRef(int constantPoolIndex)
Get contents of a "typeRef" constant pool entry. |
(package private) Atom |
getUtf(int constantPoolIndex)
Get contents of a "utf" constant pool entry. |
RVMMethod[] |
getVirtualMethods()
Virtually dispatched methods of this class (composed with supertypes, if any). |
boolean |
hasBridgeFromNativeAnnotation()
The methods of this class are only called from native code, they are compiled with a special prolog to interface with the native stack frame. |
boolean |
hasDynamicBridgeAnnotation()
Should the methods of this class be compiled with special register save/restore logic? |
boolean |
hasFinalizer()
Does this class override java.lang.Object.finalize()? |
boolean |
hasSaveVolatileAnnotation()
Should the methods of this class save incoming registers ? |
void |
initialize()
Cause initialization to take place. |
void |
instantiate()
Cause instantiation to take place. |
boolean |
isAbstract()
Non-instantiable? |
boolean |
isAcyclicReference()
Reference Count GC: Is a reference of this type contained in another object inherently acyclic (without cycles)? |
boolean |
isAnnotation()
Annotation type |
boolean |
isAnonymousClass()
|
boolean |
isArrayType()
Is this an instance of RVMArray? |
boolean |
isClassType()
Is this is an instance of RVMClass? |
boolean |
isEnum()
Is enumeration? |
boolean |
isFinal()
Non-subclassable? |
boolean |
isInBootImage()
Is this class part of the virtual machine's boot image? |
boolean |
isInitialized()
Initialization status. |
boolean |
isInstantiated()
Instantiation status. |
boolean |
isInterface()
An "interface" description rather than a "class" description? |
boolean |
isLocalClass()
|
boolean |
isMemberClass()
|
boolean |
isPrimitiveType()
Is this a primitive type? |
boolean |
isPublic()
Usable from other packages? |
boolean |
isReferenceType()
Is this a reference type? |
boolean |
isResolved()
Resolution status. |
boolean |
isSpecial()
Use new-style "invokespecial" semantics for method calls in this class? |
boolean |
isSynthetic()
Not present in source code file? |
boolean |
isThrowable()
|
boolean |
isUnboxedType()
Is this an unboxed type? |
void |
makeFieldTraced(RVMField field)
Make the passed field a traced field by garbage collection. |
void |
markAsBootImageClass()
Only intended to be used by the BootImageWriter |
private void |
markFinalFieldsAsLiterals()
Mark final fields as being available as literals |
private void |
publishResolved(TIB allocatedTib,
short[] superclassIds,
int[] doesImplement)
Atomically initialize the important parts of the TIB and let the world know this type is resolved. |
void |
resolve()
Cause resolution to take place. |
(package private) void |
resolveNativeMethods()
|
private void |
resolveNativeMethodsInternal(RVMMethod[] methods)
|
void |
setAlignment(int align)
Set the alignment for instances of this class type |
void |
setAllFinalStaticJTOCEntries()
Copy the values of all static final fields into the JTOC. |
void |
setFieldLayoutContext(FieldLayoutContext newLayout)
Set object representing available holes in the field layout |
private void |
setFinalStaticJTOCEntry(RVMField field,
Offset fieldOffset)
Insert the value of a final static field into the JTOC |
void |
setIMT(IMT imt)
Set the imt object. |
void |
setInstanceSizeInternal(int size)
Set the size of the instance. |
(package private) void |
setResolvedMembers()
Set the resolvedMember in all declared members. |
void |
setThinLockOffset(Offset offset)
Set the thin lock offset for instances of this type. |
String |
toString()
Name - something like "java.lang.String". |
void |
unregisterNativeMethods()
Unregisters all native methods |
void |
updateJTOCEntry(RVMMethod m)
Update the JTOC slot for the given static method to point to the current compiled code for the given method. |
void |
updateMethod(RVMMethod m)
Given a method declared by this class, update all dispatching tables to refer to the current compiled code for the method. |
void |
updateTIBEntry(RVMMethod m)
Update this class's TIB entry for the given method to point to the current compiled code for the given method. |
void |
updateVirtualMethod(RVMMethod m)
Update the TIB entry's for all classes that inherit the given method to point to the current compiled code for the given method. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static boolean classLoadingDisabled
private final int[] constantPool
ClassFileReader.readClass(org.jikesrvm.classloader.TypeReference, java.io.DataInputStream)
). The loaded
class' constant pool has 3 bits of type information (such as
(see ClassLoaderConstants.CP_INT
)), the rest of the int holds data as follows:
private final short modifiers
ClassLoaderConstants
private final RVMClass superClass
private RVMClass[] subClasses
private final RVMClass[] declaredInterfaces
private final RVMField[] declaredFields
private final RVMMethod[] declaredMethods
private final TypeReference[] declaredClasses
private final TypeReference declaringClass
private final TypeReference enclosingClass
private final MethodReference enclosingMethod
private final Atom sourceName
private final Atom signature
private RVMMethod classInitializerMethod
private byte state
private RVMField[] staticFields
private RVMField[] instanceFields
private int instanceSize
private int alignment
private FieldLayoutContext fieldLayoutContext
private RVMMethod[] staticMethods
private RVMMethod[] constructorMethods
private RVMMethod[] virtualMethods
private boolean hasFinalizer
private TIB typeInformationBlock
private boolean inBootImage
private Offset thinLockOffset
private boolean acyclic
private Annotation[] annotations
private Object[] objectCache
private IMT imt
private final boolean desiredAssertionStatus
public static final ClassLoadingListener classLoadListener
private static final Object interfaceCountLock
private static int interfaceCount
private static RVMClass[] interfaces
private int interfaceId
RVMMethod[] noIMTConflictMap
Constructor Detail |
---|
RVMClass(TypeReference typeRef, int[] constantPool, short modifiers, RVMClass superClass, RVMClass[] declaredInterfaces, RVMField[] declaredFields, RVMMethod[] declaredMethods, TypeReference[] declaredClasses, TypeReference declaringClass, TypeReference enclosingClass, MethodReference enclosingMethod, Atom sourceName, RVMMethod classInitializerMethod, Atom signature, RVMAnnotation[] annotations)
typeRef
- the type reference that was resolved to this classconstantPool
- array of ints encoding constant valuemodifiers
- ClassLoaderConstants
superClass
- parent of this classdeclaredInterfaces
- array of interfaces this class implementsdeclaredFields
- fields of the classdeclaredMethods
- methods of the classdeclaredClasses
- declared inner classesdeclaringClass
- outer class if an inner classsourceName
- source file nameclassInitializerMethod
- handle to class initializer methodsignature
- the generic type name for this classannotations
- array of runtime visible annotationsMethod Detail |
---|
public String toString()
toString
in class Object
public String getPackageName()
public int getStackWords()
RVMType
getStackWords
in class RVMType
public int getMemoryBytes()
RVMType
getMemoryBytes
in class RVMType
public boolean isInterface()
public boolean isPublic()
public boolean isFinal()
public boolean isAbstract()
public boolean isSpecial()
public boolean isSynthetic()
public boolean isEnum()
public boolean isAnnotation()
public boolean isAnonymousClass()
public boolean isLocalClass()
true
if this is a representation of a local class, ie
local to a block of code.public boolean isMemberClass()
true
if this is a representation of a member classpublic boolean isThrowable()
true
if this an object of this class could be assigned to Throwablepublic int getModifiers()
ClassLoaderConstants
.
public Atom getSignature()
public Atom getSourceName()
null
--> "unknown - wasn't recorded by compiler").
public RVMClass getSuperClass()
null
means "no superclass",
i.e. class is "java/lang/Object").
public RVMClass[] getSubClasses()
public RVMClass[] getDeclaredInterfaces()
public RVMField[] getDeclaredFields()
public boolean declaresFinalInstanceField()
public RVMMethod[] getDeclaredMethods()
public TypeReference[] getDeclaredClasses()
public TypeReference getDeclaringClass()
public TypeReference getEnclosingClass()
void setResolvedMembers()
public RVMMethod getClassInitializerMethod()
null
-> no static initializer
or initializer already been run).
Annotation[] getAnnotationsInternal()
getAnnotationsInternal
in class AnnotatedElement
public RVMField findDeclaredField(Atom fieldName, Atom fieldDescriptor)
fieldName
- field name - something like "foo"fieldDescriptor
- field descriptor - something like "I"
null
--> not found)public RVMField findDeclaredField(Atom fieldName)
fieldName
- field name - something like "foo"
null
--> not found)public RVMMethod findDeclaredMethod(Atom methodName, Atom methodDescriptor)
methodName
- method name - something like "foo"methodDescriptor
- method descriptor - something like "()I"
public RVMMethod findDeclaredMethod(Atom methodName)
methodName
- method name - something like "foo"
public RVMMethod findMainMethod()
null
--> not found)public void addCachedObject(Object o)
public void setIMT(IMT imt)
public Offset getLiteralOffset(int constantPoolIndex)
public byte getLiteralDescription(int constantPoolIndex)
public TypeReference getTypeRef(int constantPoolIndex)
public MethodReference getMethodRef(int constantPoolIndex)
public FieldReference getFieldRef(int constantPoolIndex)
Atom getUtf(int constantPoolIndex)
public boolean hasDynamicBridgeAnnotation()
DynamicBridge
public boolean hasBridgeFromNativeAnnotation()
public boolean hasSaveVolatileAnnotation()
SaveVolatile
public boolean hasFinalizer()
hasFinalizer
in class RVMType
public RVMField[] getStaticFields()
getStaticFields
in class RVMType
public RVMField[] getInstanceFields()
getInstanceFields
in class RVMType
public RVMMethod[] getStaticMethods()
getStaticMethods
in class RVMType
public RVMMethod[] getConstructorMethods()
public RVMMethod[] getVirtualMethods()
getVirtualMethods
in class RVMType
public RVMClass[] getAllImplementedInterfaces()
public int getInstanceSize()
public int getInstanceSizeInternal()
public void setInstanceSizeInternal(int size)
public int getNumberOfNonFinalReferences()
public FieldLayoutContext getFieldLayoutContext()
public void setFieldLayoutContext(FieldLayoutContext newLayout)
public int getAlignment()
public void setAlignment(int align)
public RVMMethod findStaticMethod(Atom memberName, Atom memberDescriptor)
memberName
- method name - something like "foo"memberDescriptor
- method descriptor - something like "I" or "()I"
public RVMMethod findInitializerMethod(Atom memberDescriptor)
memberDescriptor
- init method descriptor - something like "(I)V"
public TIB getTypeInformationBlock()
getTypeInformationBlock
in class RVMType
public static ClassLoader getClassLoaderFromStackFrame(int skip)
skip
- specifies the number of frames back from the
caller to the method whose class's loader is requiredpublic static RVMClass getClassFromStackFrame(int skip)
skip
- Specifies the number of frames back from the
caller to the method whose class is requiredpublic boolean getDesiredAssertionStatus()
RVMType
getDesiredAssertionStatus
in class RVMType
public void resolve()
Side effects: superclasses and superinterfaces are resolved.
resolve
in class RVMType
private void publishResolved(TIB allocatedTib, short[] superclassIds, int[] doesImplement)
allocatedTib
- The TIB that has been allocated for this typesuperclassIds
- The calculated superclass ids arraydoesImplement
- The calculated does implement arraypublic void allBootImageTypesResolved()
RVMType
RVMType.resolve()
has been called on all
bootimage types but before RVMType.instantiate()
has been called
on any bootimage type.
This provides a hook to compute various summaries that cannot be computed before types
are resolved.
allBootImageTypesResolved
in class RVMType
public boolean isAcyclicReference()
RVMType
isAcyclicReference
in class RVMType
true
if the class is acyclic and
final (otherwise the reference could be to a subsequently loaded
cyclic subclass)private void setFinalStaticJTOCEntry(RVMField field, Offset fieldOffset)
public void instantiate()
Side effects: superclasses are instantiated.
instantiate
in class RVMType
public void makeFieldTraced(RVMField field)
public void initialize() throws ExceptionInInitializerError
<clinit>
method to be executed.Side effects: superclasses are initialized, static fields receive initial values.
initialize
in class RVMType
ExceptionInInitializerError
private void markFinalFieldsAsLiterals()
public void setAllFinalStaticJTOCEntries()
void resolveNativeMethods()
private void resolveNativeMethodsInternal(RVMMethod[] methods)
public void unregisterNativeMethods()
private void addSubClass(RVMClass sub)
public void updateMethod(RVMMethod m)
public void updateJTOCEntry(RVMMethod m)
public void updateTIBEntry(RVMMethod m)
NOTE: This method is intentionally not synchronized to avoid deadlocks. We instead rely on the fact that we are always updating the JTOC with the most recent instructions for the method.
public void updateVirtualMethod(RVMMethod m)
NOTE: This method is intentionally not synchronized to avoid deadlocks. We instead rely on the fact that we are always updating the JTOC with the most recent instructions for the method.
public int getInterfaceId()
public int getDoesImplementIndex()
public int getDoesImplementBitMask()
public static RVMClass getInterface(int id)
private void assignInterfaceId()
public int getDimensionality()
getDimensionality
in class RVMType
public boolean isResolved()
RVMType
If the class/array has been "resolved", then size and offset information is available by which the compiler can generate code to access this class/array's fields/methods via direct loads/stores/calls (rather than generating code to access fields/methods symbolically, via dynamic linking stubs).
Primitives are always treated as "resolved".
isResolved
in class RVMType
public boolean isInstantiated()
RVMType
If the class/array has been "instantiated", then all its methods have been compiled and its type information block has been placed in the JTOC.
Primitives are always treated as "instantiated".
isInstantiated
in class RVMType
public boolean isInitialized()
RVMType
If the class has been "initialized",
then its <clinit>
method has been executed.
Arrays have no <clinit>
methods so they become
"initialized" immediately upon "instantiation".
Primitives are always treated as "initialized".
isInitialized
in class RVMType
public void markAsBootImageClass()
RVMType
markAsBootImageClass
in class RVMType
public boolean isInBootImage()
RVMType
isInBootImage
in class RVMType
public Offset getThinLockOffset()
getThinLockOffset
in class RVMType
public void setThinLockOffset(Offset offset)
public int getTypeDepth()
getTypeDepth
in class RVMType
public boolean isClassType()
RVMType
isClassType
in class RVMType
true
public boolean isArrayType()
RVMType
isArrayType
in class RVMType
false
public boolean isPrimitiveType()
RVMType
isPrimitiveType
in class RVMType
false
public boolean isReferenceType()
RVMType
isReferenceType
in class RVMType
true
public boolean isUnboxedType()
RVMType
isUnboxedType
in class RVMType
false
static Class<?> createReflectionClass(RVMMethod methodToCall)
methodToCall
- the method we wish to call reflectively
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |