deep

a Cross Development Platform for Java

User Tools

Site Tools


crosscompiler:start

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
crosscompiler:start [2015/03/17 08:54] ursgrafcrosscompiler:start [2020/12/10 15:18] (current) ursgraf
Line 1: Line 1:
 ====== Java Crosscompiler ====== ====== Java Crosscompiler ======
-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 - 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    
  
 <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 are supported up to three dimensions. +  * Arrays are supported up to three dimensions.  
 +  * Array size in any dimension must not exceed 2<sup>16</sup> bytes.
   * ''synchronized'' not yet implemented.    * ''synchronized'' not yet implemented. 
 +  * Bytecode instruction ''invokedynamic'' not yet implemented. Used for lambda functions from Java 8 onwards.
 </box> </box>
  
-[[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]] \\ + 
-[[Lowlevel|Low-level Routines]] \\ +  * [[Deep Projects]] \\ 
-[[Donts| Do's and Dont's]] \\+  [[Hardware|Accessing the Hardware]] \\ 
 +  [[Lowlevel|Low-level Routines]] \\ 
 +  [[Donts| Do's and Don'ts]] \\
  
  
crosscompiler/start.1426578887.txt.gz · Last modified: 2016/02/25 13:33 (external edit)