harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Update of "Jitrino OPT" by Mikhail Fursov
Date Wed, 23 Apr 2008 15:23:24 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The following page has been changed by Mikhail Fursov:
http://wiki.apache.org/harmony/Jitrino_OPT

------------------------------------------------------------------------------
  == List of IR transformations used in Jitrino.OPT compiler: ==
  
  === IR construction: ===
-  * [:Jitrino_OPT/translator: translator]
-  * [:Jitrino_OPT/hir2lir: hir2lir]
+  * [:Jitrino_OPT/translator: translator] - Translates Java bytecode to High Level Intermediate
Representation (HIR)
+  * [:Jitrino_OPT/hir2lir: hir2lir] - Translates HIR to Low Level Intermediate Representation
(LIR)
  
  === High-Level (HIR) optimizaitons ===
   * [:Jitrino_OPT/optimizer: optimizer] - An alias for all HIR transformations
@@ -18, +18 @@

   * [:Jitrino_OPT/escape: escape] - Escape analysis bases optimizations
   * [:Jitrino_OPT/gcm: gcm] - Global code motion
   * [:Jitrino_OPT/gvn: gvn] - Global value numbering
-  * [:Jitrino_OPT/hlo_api_magic: hlo_api_magic] - Replaces known Java API method calls with
predefined algorithms
+  * [:Jitrino_OPT/hlo_api_magic: hlo_api_magic] - Replaces known Java API method calls with
predefined algorithms written with HIR
   * [:Jitrino_OPT/hvn: hvn] - Hash value numbering (CSE)
   * [:Jitrino_OPT/inline: inline] - Inlines hot methods calls
   * [:Jitrino_OPT/inline_helpers: inline_helpers] - Replaces HIR instruction with a Java
method call and inlines this call
@@ -30, +30 @@

   * [:Jitrino_OPT/purge: purge] - Purge empty nodes
   * [:Jitrino_OPT/simplify: simplify] - Type/copy propogation and constant folding
   * [:Jitrino_OPT/ssa: ssa] - SSA construction
-  * [:Jitrino_OPT/statprof: statprof]
+  * [:Jitrino_OPT/statprof: statprof] - Annotates HIR with edge profile using static heuristics
   * [:Jitrino_OPT/throwopt: throwopt]
   * [:Jitrino_OPT/uce: uce] - Unreachable code elimination
   * [:Jitrino_OPT/unguard: unguard] - Removal of untaken type guards
@@ -38, +38 @@

  
  === Low-level (LIR) optimizations ===
   * [:Jitrino_OPT/codegen: codegen] - An alias for all LIR transformations
-  * [:Jitrino_OPT/api_magic: api_magic]
-  * [:Jitrino_OPT/bbp: bbp]
-  * [:Jitrino_OPT/break: break]
-  * [:Jitrino_OPT/btr: btr]
-  * [:Jitrino_OPT/cafl: cafl]
+  * [:Jitrino_OPT/api_magic: api_magic] - Replaces known Java API method calls with predefined
algorithms written with LIR
+  * [:Jitrino_OPT/bbp: bbp] - Back branch polling for loops
+  * [:Jitrino_OPT/break: break] - Inserts 'int3' into the prologue of the generated method
+  * [:Jitrino_OPT/btr: btr] - Branch optimizations
+  * [:Jitrino_OPT/cafl: cafl] - Complex address form loader
-  * [:Jitrino_OPT/cg_dce: cg_dce]
+  * [:Jitrino_OPT/cg_dce: cg_dce] - Removes dead code
   * [:Jitrino_OPT/cg_fastArrayFill: cg_fastArrayFill]
   * [:Jitrino_OPT/constraints: constraints]
   * [:Jitrino_OPT/copy: copy]
   * [:Jitrino_OPT/early_prop: early_prop]
-  * [:Jitrino_OPT/emitter: emitter]
-  * [:Jitrino_OPT/gcmap: gcmap]
-  * [:Jitrino_OPT/gcpoints: gcpoints]
-  * [:Jitrino_OPT/i586: i586]
-  * [:Jitrino_OPT/i8l: i8l]
-  * [:Jitrino_OPT/info: info]
-  * [:Jitrino_OPT/iprof: iprof]
-  * [:Jitrino_OPT/itrace: itrace]
-  * [:Jitrino_OPT/layout: layout]
-  * [:Jitrino_OPT/light_jni: light_jni]
-  * [:Jitrino_OPT/native: native]
-  * [:Jitrino_OPT/peephole: peephole]
+  * [:Jitrino_OPT/emitter: emitter] Emits binary code from LIR
+  * [:Jitrino_OPT/gcmap: gcmap] - Builds a map with information for all Object and Managed
pointers operands locations on suspension points
+  * [:Jitrino_OPT/gcpoints: gcpoints] - Inserts pseudo-use instructions for some Object operands
to extend their live-ranges.
+  * [:Jitrino_OPT/i586: i586] - Replaces SSE2 instructions with SSE or FPU ones if SSE2 is
not supported by the current platform
+  * [:Jitrino_OPT/i8l: i8l] - Splits 64-bit integer operands into two 32-bit ones
+  * [:Jitrino_OPT/info: info] - Registers various method information in VM memory associated
with the method
+  * [:Jitrino_OPT/iprof: iprof] - Instruments a method with various profile collection counters
+  * [:Jitrino_OPT/itrace: itrace] - Instruments method entry/exit and unwind points with
calls to logger
+  * [:Jitrino_OPT/layout: layout] - Prepares code layout
+  * [:Jitrino_OPT/light_jni: light_jni] - Allows to call some predefined JNI methods directly
avoiding JNI stub.
+  * [:Jitrino_OPT/native: native] - Transforms 3-address LIR form to 2-address
+  * [:Jitrino_OPT/peephole: peephole] - Performs various architecture specific optimizations
   * [:Jitrino_OPT/rce: rce]
-  * [:Jitrino_OPT/regalloc: regalloc]
+  * [:Jitrino_OPT/regalloc: regalloc] - Global register allocator
   * [:Jitrino_OPT/si_insts: si_insts]
-  * [:Jitrino_OPT/spillgen: spillgen]
-  * [:Jitrino_OPT/stack: stack]
+  * [:Jitrino_OPT/spillgen: spillgen] - Local (basic-block level) register allocation and
spill generator
+  * [:Jitrino_OPT/stack: stack] - Layouts stack and assigns locations for operands on stack.
  
  
  

Mime
View raw message