| 
 | " 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$savedStackChunksThe offset of the 'savedStackChunks' field in com.sun.squawk.Isolate. | 
| static long | com_sun_squawk_Klass$componentTypeThe offset of the 'componentType' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$dataMapThe offset of the 'dataMap' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$dataMapLengthThe offset of the 'dataMapLength' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$dataMapWordThe offset of the 'dataMapWord' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$idThe offset of the 'id' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$indexForClinitThe offset of the 'indexForClinit' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$indexForInitThe offset of the 'indexForInit' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$indexForMainThe offset of the 'indexForMain' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$initModifiersThe offset of the 'initModifiers' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$instanceSizeBytesThe offset of the 'instanceSizeBytes' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$interfacesThe offset of the 'superType' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$modifiersThe offset of the 'modifiers' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$mustClinitThe offset of the 'mustClinit' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$nameThe offset of the 'name' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$objectsThe offset of the 'objects' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$oopMapThe offset of the 'oopMap' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$oopMapWordThe offset of the 'oopMapWord' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$refStaticFieldsSizeThe offset of the 'refStaticFieldsSize' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$selfThe 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$stateThe offset of the 'state' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$staticFieldsSizeThe offset of the 'staticFieldsSize' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$staticMethodsThe offset of the 'staticMethods' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$superTypeThe offset of the 'superType' field in com.sun.squawk.Klass. | 
| static long | com_sun_squawk_Klass$virtualMethodsThe offset of the 'virtualMethods' field in com.sun.squawk.Klass and com.sun.squawk.ObjectAssociation. | 
| static long | com_sun_squawk_KlassMetadata$classTableThe offset of the 'classTable' field in com.sun.squawk.KlassMetadata. | 
| static long | com_sun_squawk_KlassMetadata$definedClassThe offset of the 'definedClass' field in com.sun.squawk.KlassMetadata. | 
| static long | com_sun_squawk_KlassMetadata$symbolsThe 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$classesThe offset of the 'classes' field in com.sun.squawk.Suite. | 
| static long | com_sun_squawk_Suite$metadatasThe offset of the 'metadatas' field in com.sun.squawk.Suite. | 
| static long | com_sun_squawk_Suite$nameThe offset of the 'name' field in com.sun.squawk.Suite. | 
| static long | com_sun_squawk_util_SquawkHashtable$entryTableThe offset of the 'entryTable' field in com.sun.squawk.util.SquawkHashtable. | 
| static long | com_sun_squawk_VMThread$isolateThe offset of the 'isolate' field in com.sun.squawk.VMThread. | 
| static long | com_sun_squawk_VMThread$stackThe offset of the 'stack' field in com.sun.squawk.VMThread. | 
| static long | com_sun_squawk_VMThread$stackSizeThe offset of the 'stackSize' field in com.sun.squawk.VMThread. | 
| static long | java_lang_Class$klassThe offset of the 'vmThread' field in java.lang.Thread. | 
| static long | java_lang_Thread$targetThe offset of the 'target' field in java.lang.Thread. | 
| static long | java_lang_Thread$vmThreadThe offset of the 'vmThread' field in java.lang.Thread. | 
| static long | java_lang_Throwable$traceThe 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
fieldDescpublic 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 | |||||||||