dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] libjit ChangeLog jit/jit-insn.c


From: Aleksey Demakov
Subject: [dotgnu-pnet-commits] libjit ChangeLog jit/jit-insn.c
Date: Wed, 12 Jul 2006 16:43:04 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    libjit
Changes by:     Aleksey Demakov <avd>   06/07/12 16:43:04

Modified files:
        .              : ChangeLog 
        jit            : jit-insn.c 

Log message:
        fix problem with moving blocks that go just after init_block

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libjit/ChangeLog?cvsroot=dotgnu-pnet&r1=1.242&r2=1.243
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-insn.c?cvsroot=dotgnu-pnet&r1=1.47&r2=1.48

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/ChangeLog,v
retrieving revision 1.242
retrieving revision 1.243
diff -u -b -r1.242 -r1.243
--- ChangeLog   6 Jul 2006 12:04:07 -0000       1.242
+++ ChangeLog   12 Jul 2006 16:43:03 -0000      1.243
@@ -1,3 +1,10 @@
+2006-07-12  Aleksey Demakov  <address@hidden>
+
+       * jit/jit-insn.c (jit_insn_move_blocks_to_start): fix problem with
+       wrong order of blocks that were moved from the position just after
+       the init_block and with disappearance of blocks after the empty
+       init_block.
+
 2006-07-06  Aleksey Demakov  <address@hidden>
 
        * jit/jit-rules-x86.ins: fix division by power of two.

Index: jit/jit-insn.c
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-insn.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- jit/jit-insn.c      27 Jun 2006 15:03:11 -0000      1.47
+++ jit/jit-insn.c      12 Jul 2006 16:43:04 -0000      1.48
@@ -7958,9 +7958,15 @@
                func->builder->init_insn = -1;
        }
 
-       /* If the first block is just after "init_block", then nothing to do */
-       if(init_block->next == first_block)
+       /* If the first block is just after "init_block", then only move
+          the init_block pointer ahead */
+       if(init_block == first_block || init_block->next == first_block)
        {
+               while(init_block != 0 && init_block->label != to_label)
+               {
+                       init_block = init_block->next;
+               }
+               func->builder->init_block = init_block;
                return 1;
        }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]