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
Last revisionBoth sides next revision
dev:crosscompiler:type_descriptor [2019/07/11 19:09] – [Structure] ursgrafdev:crosscompiler:type_descriptor [2019/07/11 19:11] – [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 //interface 0Id, interface method offset// 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.txt · Last modified: 2019/07/11 19:12 by ursgraf