deep

a Cross Development Platform for Java

User Tools

Site Tools


dev:crosscompiler:backend_ppc:linker32

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:backend_ppc:linker32 [2016/02/25 13:33] – external edit 127.0.0.1dev:crosscompiler:backend_ppc:linker32 [2022/12/20 11:33] (current) ursgraf
Line 5: Line 5:
   * Create system table   * Create system table
   * Create target image   * Create target image
 +When creating the target image or calculating a crc the endianess of the target platform has to be taken into account.
  
 ===== Initialization ===== ===== Initialization =====
Line 24: Line 25:
 When the system ist starting up, the [[dev:rts:start|Runtime System]] reads the start addresses of the constant block for all classes from the //System Table// (see below). With the predefined offset //cblkClinitAddrOffset// the address of the class constructor can be fetched in order to load a class. With another offset the heap manager can read the global references of this class. This information is used by the garbage collection. //codeBase// holds the start address of code of a class whereas //codeSize// is the size of the code. Methods, which are defined in the configuration as system methods and which are assigned a fixed offset are excluded from //codeSize// (Exception Handlers). When the system ist starting up, the [[dev:rts:start|Runtime System]] reads the start addresses of the constant block for all classes from the //System Table// (see below). With the predefined offset //cblkClinitAddrOffset// the address of the class constructor can be fetched in order to load a class. With another offset the heap manager can read the global references of this class. This information is used by the garbage collection. //codeBase// holds the start address of code of a class whereas //codeSize// is the size of the code. Methods, which are defined in the configuration as system methods and which are assigned a fixed offset are excluded from //codeSize// (Exception Handlers).
  
-In the compiler the constant block is modeled as linked list of ''ch.ntb.inf.deep.linker.ConstBlkEntry''. Depending on the type of entry one of the following classes is used.+In the compiler the constant block is modeled as linked list of ''org.deepjava.linker.ConstBlkEntry''. Depending on the type of entry one of the following classes is used.
   * **''AddressEntry''**: For entries representing an address.   * **''AddressEntry''**: For entries representing an address.
   * **''ConstantEntry''**: For entries representing a constant (StdConstant).   * **''ConstantEntry''**: For entries representing a constant (StdConstant).
dev/crosscompiler/backend_ppc/linker32.1456403585.txt.gz · Last modified: 2016/02/25 13:33 by 127.0.0.1