deep

a Cross Development Platform for Java

User Tools

Site Tools


dev:crosscompiler:type_descriptor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dev:crosscompiler:type_descriptor [2019/07/11 19:09] – [Structure] ursgrafdev:crosscompiler:type_descriptor [2019/07/11 19:12] (current) – [Structure] ursgraf
Line 8: Line 8:
 The fields //size// indicates the size (in bytes) of an object of this type (without tag, see [[.:objects|Objects]]). For arrays the entry is //arrayComponentSize//, which is the size (in bytes) of one array element. The name of the class could be used for reflection. \\ The fields //size// indicates the size (in bytes) of an object of this type (without tag, see [[.:objects|Objects]]). For arrays the entry is //arrayComponentSize//, which is the size (in bytes) of one array element. The name of the class could be used for reflection. \\
  
-The entry //extensionLevel// gives the number of superclasses. The method table is discussed below. The type table (//baseClassTD[0]// up to //baseClassTD[extLevel]//) and interface type table (//interface ChkId1//, ...) is used for [[.:type_checking|Type Checking]]. The interface method table together with the //interfaceDelegateMethod// and //// serves to find the right interface method, see [[.:interfaces|Interfaces]]. \\+The entry //extensionLevel// gives the number of superclasses. The method table is discussed below. The type table (//baseClassTD[0]// up to //baseClassTD[extLevel]//) and interface type table (//interface ChkId1//, ...) is used for [[.:type_checking|Type Checking]]. The interface method table together with the //interfaceDelegateMethod// and the entries with //interface0Id, interface0MethodOffset// serves to find the right interface method, see [[.:interfaces|Interfaces]]. \\
 The garbage collector has to know which instance fields are references. For this there is a field //instPtrOffset//. This field has a fixed offset within the type descriptor. From there you can reach a list with all reference fields (//nofInstPtr//, //instPtrOffset[0]//, ... ). \\  The garbage collector has to know which instance fields are references. For this there is a field //instPtrOffset//. This field has a fixed offset within the type descriptor. From there you can reach a list with all reference fields (//nofInstPtr//, //instPtrOffset[0]//, ... ). \\ 
  
dev/crosscompiler/type_descriptor.1562864995.txt.gz · Last modified: 2019/07/11 19:09 by ursgraf