This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:start [2016/02/25 13:33] – external edit 127.0.0.1 | dev:start [2019/02/25 16:40] – [Crosscompiler] ursgraf | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <WRAP group> | ||
+ | <WRAP half column 58%> | ||
====== Project deep ====== | ====== Project deep ====== | ||
- | < | + | Under the name of **deep** a new cross development platform for Java was created. The project was initiated and is maintained by the Institut for Computer Science at the Fachhochschule für Technik, NTB, Buchs, Switzerland. |
+ | |||
+ | ===== Goals ===== | ||
+ | * Development platform for Java including compiler, linker and runtime system. | ||
+ | * Focus on efficiency, for the core of the compiler very lightweight data structures are used, the powerful but slow Java library is solely used for odd tasks. | ||
+ | * Supports newest Java version. | ||
+ | * Integration into eclipse, but can be run stand-alone as well. | ||
+ | * "Java on the metal": | ||
+ | * No object files, a launch translates all necessary classes into target image | ||
+ | * Runtime library is simplified standard library. | ||
+ | * A fast and lightweight path to the underlying hardware with registers and absolute memory locations is provided. | ||
+ | </ | ||
+ | |||
+ | <WRAP half column 38%> | ||
+ | < | ||
* [[.: | * [[.: | ||
</ | </ | ||
- | Under the name of **deep** a new cross development platform for Java was created. The project was initiated and is maintained by the Institut for Computer Science at the Fachhochschule für Technik, NTB, Buchs, Switzerland. | + | < |
- | < | + | |
* [[.: | * [[.: | ||
* [[.: | * [[.: | ||
Line 14: | Line 29: | ||
* [[.: | * [[.: | ||
* [[.: | * [[.: | ||
+ | * [[openocd: | ||
</ | </ | ||
+ | </ | ||
+ | </ | ||
- | ===== Goals ===== | ||
- | * Development platform for Java including compiler, linker and runtime system. | ||
- | * Focus on efficiency, for the core of the compiler very lightweight data structures are used, the powerful but slow Java library is solely used for odd tasks. | ||
- | * Supports newest Java version. | ||
- | * Integration into eclipse, but can be run stand-alone as well. | ||
- | * "Java on the metal": | ||
- | * No object files, a launch translates all necessary classes into target image | ||
- | * Runtime library is simplified standard library. | ||
- | * A fast and lightweight path to the underlying hardware with registers and absolute memory locations is provided. | ||
===== Overview ===== | ===== Overview ===== | ||
Line 30: | Line 39: | ||
===== Crosscompiler ===== | ===== Crosscompiler ===== | ||
- | Our **deep** compiler translates Bytecode into machine code for a certain processor. To optimize for speed and code size and to make use of register based architecture - such as PPC - we transform the Bytecode in a first step into [[.: | + | Our **deep** compiler translates Bytecode into machine code for a certain processor. To optimize for speed and code size and to make use of register based architecture - such as PPC or ARM - we transform the Bytecode in a first step into [[.: |
==== Frontend ==== | ==== Frontend ==== | ||
Line 37: | Line 46: | ||
==== Backend ==== | ==== Backend ==== | ||
For each supported architecture a specific backend is necessary. As a first step, registers are assigned for all SSA instruction results. After this machine instructions can be issued for the target. Finally the linker combines everything into a executable target image.\\ | For each supported architecture a specific backend is necessary. As a first step, registers are assigned for all SSA instruction results. After this machine instructions can be issued for the target. Finally the linker combines everything into a executable target image.\\ | ||
- | Currently, PowerPC code can be generated. As target processors we use mpc555 and mpc5200. | + | Currently, PowerPC |
===== Further Components ===== | ===== Further Components ===== |