This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
crosscompiler:start [2015/03/17 07:39] – ursgraf | crosscompiler:start [2018/08/20 13:03] – mgehrig2 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Java Crosscompiler ====== | ====== Java Crosscompiler ====== | ||
- | + | ||
<box right red 40% | IMPORTANT Limitations> | <box right red 40% | IMPORTANT Limitations> | ||
Currently our compiler has the following limitations: | Currently our compiler has the following limitations: | ||
- | * arrays | + | * Arrays |
+ | * Array size in any dimension must not exceed 2< | ||
* '' | * '' | ||
</ | </ | ||
- | [[Deep Projects]] | + | A Java compiler converts a Java file into Bytecode which is stored in a class file. A class file represents the original program in a compact binary form and could be interpreted by a JVM. Our deep compiler translates this Bytecode directly into target machine code. To optimize for speed and code size and to make use of register based architecture - such as the Power-PC or ARM microarchitecture - we transform the Bytecode in a first step into Static Single Assignment Form (SSA). This form is simple and platform independent and can be used for various optimizations. In a second step registers are allocated and code is generated |
- | [[Hardware|Accessing the hardware]] | + | |
+ | * [[Deep Projects]] | ||
+ | | ||
+ | * [[Lowlevel|Low-level Routines]] \\ | ||
+ | * [[Donts| Do's and Don' | ||