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/call.c engine/jitc.c


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] pnet ./ChangeLog engine/call.c engine/jitc.c
Date: Sat, 25 Feb 2006 17:34:00 +0000

CVSROOT:        /cvsroot/dotgnu-pnet
Module name:    pnet
Branch:         
Changes by:     Klaus Treichel <address@hidden> 06/02/25 17:34:00

Modified files:
        .              : ChangeLog 
        engine         : call.c jitc.c 

Log message:
        2006-02-25  Klaus Treichel  <address@hidden>
        
        * engine/call.c: Return the this pointer for ctor calls in ILCallMethod.
        
        * engine/jitc.c: Exchange the return values in ILJitCallMethod to 0 for
        failure and 1 for success.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnet/ChangeLog.diff?tr1=1.3294&tr2=1.3295&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnet/engine/call.c.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnet/engine/jitc.c.diff?tr1=1.18&tr2=1.19&r1=text&r2=text

Patches:
Index: pnet/ChangeLog
diff -u pnet/ChangeLog:1.3294 pnet/ChangeLog:1.3295
--- pnet/ChangeLog:1.3294       Thu Feb 23 06:09:03 2006
+++ pnet/ChangeLog      Sat Feb 25 17:33:59 2006
@@ -1,3 +1,9 @@
+2006-02-25  Klaus Treichel  <address@hidden>
+
+       * engine/call.c: Return the this pointer for ctor calls in ILCallMethod.
+
+       * engine/jitc.c: Exchange the return values in ILJitCallMethod to 0 for
+       failure and 1 for success.
 
 2006-02-23  Gopal V  <address@hidden>
 
Index: pnet/engine/call.c
diff -u pnet/engine/call.c:1.37 pnet/engine/call.c:1.38
--- pnet/engine/call.c:1.37     Wed Feb 22 19:50:50 2006
+++ pnet/engine/call.c  Sat Feb 25 17:34:00 2006
@@ -1025,7 +1025,15 @@
        }
 
        /* Now we can call the jitted function. */
-       return ILJitCallMethod(thread, method, jitArgs, result);
+       if(ILJitCallMethod(thread, method, jitArgs, result))
+       {
+               if(isCtor && !isArrayOrString && result)
+               {
+                       /* Return the this pointer. */
+                       *(void **)result = *(void **)(jitArgs[1]);
+               }
+       }
+       return 0;
 }
 #else
 int _ILCallMethod(ILExecThread *thread, ILMethod *method,
Index: pnet/engine/jitc.c
diff -u pnet/engine/jitc.c:1.18 pnet/engine/jitc.c:1.19
--- pnet/engine/jitc.c:1.18     Tue Feb 21 19:33:50 2006
+++ pnet/engine/jitc.c  Sat Feb 25 17:34:00 2006
@@ -1736,16 +1736,16 @@
                /* We have to layout the class. */
                if(!_LayoutClass(thread, ILMethod_Owner(method)))
                {
-                       return 1;
+                       return 0;
                }
                jitFunction = method->userData;
        }
 
        if(!jit_function_apply(jitFunction, jitArgs, result))
        {
-               return 1;
+               return 0;
        }
-       return 0;
+       return 1;
 }
 
 /*




reply via email to

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