|
" 2013 FRC Java API " |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.squawk.vm.FieldOffsets
public class FieldOffsets
This class contains the offsets and types for fields that must be directly accessed
by the VM or other Squawk tools such as the mapper. The romizer ensures that these
offsets and types are correct when it creates the image for the bootstrap suite.
The value of the offset depends on whether the field is static or not - see
Member.getOffset()
for more detail.
A simple version of the field's type is also encoded into the high 32 bits of each entry
all of which are longs. The types are restricted to byte, char, short, int, long,
float, double, and Object and are encoded using the corresponding CID
value
placed in the high 32 bits of the long.
This unfortunate encoding is needed if we want to keep the type and offset in one place because these values are needed in parts of the VM that need to be executed before normal object construction can take place. Two routines are provided to decode the offset and type of a field, and the offset can also be obtained by casting the field into an int.
The name of the constant must be composed of the name of the class that defines the field (with '.'s replaced by '_'s) and the name of the field with a '$' separating them.
Field Summary | |
---|---|
static long |
com_sun_squawk_Isolate$savedStackChunks
The offset of the 'savedStackChunks' field in com.sun.squawk.Isolate. |
static long |
com_sun_squawk_Klass$componentType
The offset of the 'componentType' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$dataMap
The offset of the 'dataMap' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$dataMapLength
The offset of the 'dataMapLength' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$dataMapWord
The offset of the 'dataMapWord' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$id
The offset of the 'id' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$indexForClinit
The offset of the 'indexForClinit' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$indexForInit
The offset of the 'indexForInit' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$indexForMain
The offset of the 'indexForMain' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$initModifiers
The offset of the 'initModifiers' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$instanceSizeBytes
The offset of the 'instanceSizeBytes' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$interfaces
The offset of the 'superType' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$modifiers
The offset of the 'modifiers' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$mustClinit
The offset of the 'mustClinit' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$name
The offset of the 'name' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$objects
The offset of the 'objects' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$oopMap
The offset of the 'oopMap' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$oopMapWord
The offset of the 'oopMapWord' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$refStaticFieldsSize
The offset of the 'refStaticFieldsSize' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$self
The offset of the 'self' field in in com.sun.squawk.Klass and the 'klass' field com.sun.squawk.ObjectAssociation which must be identical. |
static long |
com_sun_squawk_Klass$state
The offset of the 'state' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$staticFieldsSize
The offset of the 'staticFieldsSize' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$staticMethods
The offset of the 'staticMethods' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$superType
The offset of the 'superType' field in com.sun.squawk.Klass. |
static long |
com_sun_squawk_Klass$virtualMethods
The offset of the 'virtualMethods' field in com.sun.squawk.Klass and com.sun.squawk.ObjectAssociation. |
static long |
com_sun_squawk_KlassMetadata$classTable
The offset of the 'classTable' field in com.sun.squawk.KlassMetadata. |
static long |
com_sun_squawk_KlassMetadata$definedClass
The offset of the 'definedClass' field in com.sun.squawk.KlassMetadata. |
static long |
com_sun_squawk_KlassMetadata$symbols
The offset of the 'definedClass' field in com.sun.squawk.KlassMetadata. |
static long |
com_sun_squawk_ObjectAssociation$klass
|
static long |
com_sun_squawk_ObjectAssociation$virtualMethods
|
static long |
com_sun_squawk_Suite$classes
The offset of the 'classes' field in com.sun.squawk.Suite. |
static long |
com_sun_squawk_Suite$metadatas
The offset of the 'metadatas' field in com.sun.squawk.Suite. |
static long |
com_sun_squawk_Suite$name
The offset of the 'name' field in com.sun.squawk.Suite. |
static long |
com_sun_squawk_util_SquawkHashtable$entryTable
The offset of the 'entryTable' field in com.sun.squawk.util.SquawkHashtable. |
static long |
com_sun_squawk_VMThread$isolate
The offset of the 'isolate' field in com.sun.squawk.VMThread. |
static long |
com_sun_squawk_VMThread$stack
The offset of the 'stack' field in com.sun.squawk.VMThread. |
static long |
com_sun_squawk_VMThread$stackSize
The offset of the 'stackSize' field in com.sun.squawk.VMThread. |
static long |
java_lang_Class$klass
The offset of the 'vmThread' field in java.lang.Thread. |
static long |
java_lang_Thread$target
The offset of the 'target' field in java.lang.Thread. |
static long |
java_lang_Thread$vmThread
The offset of the 'vmThread' field in java.lang.Thread. |
static long |
java_lang_Throwable$trace
The offset of the 'trace' field in java.lang.Throwable. |
Method Summary | |
---|---|
static int |
decodeOffset(long fieldDesc)
Decodes a field's offset from a given field descriptor. |
static int |
decodeSystemID(long fieldDesc)
Decodes a field's type from a given field descriptor. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final long com_sun_squawk_Klass$self
public static final long com_sun_squawk_ObjectAssociation$klass
public static final long com_sun_squawk_Klass$virtualMethods
public static final long com_sun_squawk_ObjectAssociation$virtualMethods
public static final long com_sun_squawk_Klass$staticMethods
public static final long com_sun_squawk_Klass$name
public static final long com_sun_squawk_Klass$componentType
public static final long com_sun_squawk_Klass$superType
public static final long com_sun_squawk_Klass$interfaces
public static final long com_sun_squawk_Klass$objects
public static final long com_sun_squawk_Klass$oopMap
public static final long com_sun_squawk_Klass$oopMapWord
public static final long com_sun_squawk_Klass$dataMap
public static final long com_sun_squawk_Klass$dataMapWord
public static final long com_sun_squawk_Klass$modifiers
public static final long com_sun_squawk_Klass$dataMapLength
public static final long com_sun_squawk_Klass$id
public static final long com_sun_squawk_Klass$instanceSizeBytes
public static final long com_sun_squawk_Klass$staticFieldsSize
public static final long com_sun_squawk_Klass$refStaticFieldsSize
public static final long com_sun_squawk_Klass$indexForInit
public static final long com_sun_squawk_Klass$indexForClinit
public static final long com_sun_squawk_Klass$indexForMain
public static final long com_sun_squawk_Klass$state
public static final long com_sun_squawk_Klass$initModifiers
public static final long com_sun_squawk_Klass$mustClinit
public static final long com_sun_squawk_util_SquawkHashtable$entryTable
public static final long java_lang_Thread$vmThread
public static final long java_lang_Thread$target
public static final long java_lang_Class$klass
public static final long com_sun_squawk_VMThread$isolate
public static final long com_sun_squawk_VMThread$stack
public static final long com_sun_squawk_VMThread$stackSize
public static final long com_sun_squawk_Isolate$savedStackChunks
public static final long java_lang_Throwable$trace
public static final long com_sun_squawk_Suite$classes
public static final long com_sun_squawk_Suite$name
public static final long com_sun_squawk_Suite$metadatas
public static final long com_sun_squawk_KlassMetadata$definedClass
public static final long com_sun_squawk_KlassMetadata$symbols
public static final long com_sun_squawk_KlassMetadata$classTable
Method Detail |
---|
public static int decodeSystemID(long fieldDesc)
fieldDesc
- an encoded field descriptor
fieldDesc
public static int decodeOffset(long fieldDesc)
fieldDesc
- an encoded field descriptor
fieldDesc
. This is equivalent to (int)field
|
" 2013 FRC Java API " |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |