Hi Tomek,

Looking at this commit:

commit c0fdecf6c5a5eda9753c63dd039993bd82d4be09
Author: Tomek Grabiec <tgrab...@gmail.com>
Date:   Sun Aug 30 21:45:41 2009 +0200

    jit: implement precise live range calculation
    
    For each variable its live range is calculated precisely as described
    in Wimmer's master thesis "Linear Scan Register Allocator" in 5.6.3
    "Build Intervals".
    
    This patch reduces register allocator stress by generating shorter,
    more precise live ranges and therefore reduces number of interval spills.
    
    This patch also introduces distinction between even and odd use
    positions. Even use positions represent input to instruction and odd
    positions represent output. This allows for better register
    utilization. Example:
    
    mov r1, r2
    add r2, r3
    
    after allocation:
    
    mov ebx, ebx  ; this can be optimized out in the future
    add ebx, ebx
    
    Signed-off-by: Tomek Grabiec <tgrab...@gmail.com>
    Signed-off-by: Pekka Enberg <penb...@cs.helsinki.fi>

there's a pretty strange change:

@@ -198,11 +229,11 @@ static int __insert_spill_reload_insn(struct 
live_interval *interval, struct com
                 * can't insert a reload instruction in the middle of
                 * instruction.
                 */
-               assert((interval_start(interval) & 1) == 0);
+               if ((interval_start(interval) & 1) == 0);

Hmm?


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to