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

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

[dotgnu-pnet-commits] pnet ./ChangeLog engine/jitc_var.c


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] pnet ./ChangeLog engine/jitc_var.c
Date: Fri, 10 Feb 2006 18:16:21 +0000

CVSROOT:        /cvsroot/dotgnu-pnet
Module name:    pnet
Branch:         
Changes by:     Klaus Treichel <address@hidden> 06/02/10 18:16:21

Modified files:
        .              : ChangeLog 
        engine         : jitc_var.c 

Log message:
        2006-02-10  Klaus Treichel  <address@hidden>
        
        * engine/jitc_var.c: Duplicate the local/argument before pushing it on 
the
        evaluation stack because the local/argument might be modified before the
        item on the. evaluation stack is used. (Thanks krokas for finding this 
bug.)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnet/ChangeLog.diff?tr1=1.3285&tr2=1.3286&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnet/engine/jitc_var.c.diff?tr1=1.5&tr2=1.6&r1=text&r2=text

Patches:
Index: pnet/ChangeLog
diff -u pnet/ChangeLog:1.3285 pnet/ChangeLog:1.3286
--- pnet/ChangeLog:1.3285       Wed Feb  8 20:26:58 2006
+++ pnet/ChangeLog      Fri Feb 10 18:16:21 2006
@@ -1,3 +1,9 @@
+2006-02-10  Klaus Treichel  <address@hidden>
+
+       * engine/jitc_var.c: Duplicate the local/argument before pushing it on 
the
+       evaluation stack because the local/argument might be modified before the
+       item on the. evaluation stack is used. (Thanks krokas for finding this 
bug.)
+
 2006-02-08  Klaus Treichel  <address@hidden>
 
        * configure.in: Fix include and library paths in the search paths for
Index: pnet/engine/jitc_var.c
diff -u pnet/engine/jitc_var.c:1.5 pnet/engine/jitc_var.c:1.6
--- pnet/engine/jitc_var.c:1.5  Wed Jan 18 20:48:02 2006
+++ pnet/engine/jitc_var.c      Fri Feb 10 18:16:21 2006
@@ -30,7 +30,7 @@
        /* We need argNum + 1 because the ILExecThread is added as param 0 */
        ILJitValue param = jit_value_get_param(jitCoder->jitFunction, argNum + 
1);
        ILJitValue newParam = 
_ILJitValueConvertToStackType(jitCoder->jitFunction,
-                                                                               
                                param);
+                                                                       
jit_insn_dup(jitCoder->jitFunction, param));
 
 #if !defined(IL_CONFIG_REDUCE_CODE) && !defined(IL_WITHOUT_TOOLS)
        if (jitCoder->flags & IL_CODER_FLAG_STATS)
@@ -52,7 +52,8 @@
 static void JITCoder_LoadLocal(ILCoder *coder, ILUInt32 localNum, ILType *type)
 {
        ILJITCoder *jitCoder = _ILCoderToILJITCoder(coder);
-       ILJitValue localValue = jitCoder->jitLocals[localNum];
+       ILJitValue localValue = jit_insn_dup(jitCoder->jitFunction,
+                                                                               
 jitCoder->jitLocals[localNum]);
 
 #if !defined(IL_CONFIG_REDUCE_CODE) && !defined(IL_WITHOUT_TOOLS)
        if (jitCoder->flags & IL_CODER_FLAG_STATS)




reply via email to

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