This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
dev:crosscompiler:cfr [2019/01/09 13:44] – [Classes, Interfaces and Arrays] ursgraf | dev:crosscompiler:cfr [2022/12/20 11:20] (current) – ursgraf | ||
---|---|---|---|
Line 23: | Line 23: | ||
==== Bytecode Analysis ==== | ==== Bytecode Analysis ==== | ||
- | The Bytecode of all methods are analyzed and the attribute flags of all classes and methods are properly set. For this purpose each object of the object directory has a field // | + | The Bytecode of all methods are analyzed and the attribute flags of all classes and methods are properly set. For this purpose each object of the object directory has a field // |
<code java> | <code java> | ||
byte apfPublic = 0, | byte apfPublic = 0, | ||
Line 44: | Line 44: | ||
===== Classes, Interfaces and Arrays ===== | ===== Classes, Interfaces and Arrays ===== | ||
- | Generally all items are linked in lists (using the field //next//). All root classes are listed in a array // | + | Generally all items are linked in lists (using the field //next//). All root classes are listed in a array // |
* // | * // | ||
* // | * // | ||
Line 79: | Line 79: | ||
[{{ .: | [{{ .: | ||
\\ | \\ | ||
- | For efficiency reasons all fields of an object or a class (defined as //static//) with the same size in memory should be placed together, which is done by sorting. For this purpose there are three static arrays in //ch.ntb.inf.deep.classItems.Class// | + | For efficiency reasons all fields of an object or a class (defined as //static//) with the same size in memory should be placed together, which is done by sorting. For this purpose there are three static arrays in //org.deepjava.classItems.Class// |
===== Constants ===== | ===== Constants ===== |