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_call.c


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] pnet ChangeLog engine/jitc_call.c
Date: Wed, 28 Jun 2006 19:20:02 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    pnet
Changes by:     Klaus Treichel <ktreichel>      06/06/28 19:20:02

Modified files:
        .              : ChangeLog 
        engine         : jitc_call.c 

Log message:
        2006-06-28  Klaus Treichel  <address@hidden>
        
                * engine/jitc_call.c: Remove the check of the this pointer for 
non virtual
                method calls (JITCoder_CheckCallNull) because it degrades the 
overall
                performance too much. The check has to be performed in the 
methods.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3333&r2=1.3334
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/jitc_call.c?cvsroot=dotgnu-pnet&r1=1.20&r2=1.21

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3333
retrieving revision 1.3334
diff -u -b -r1.3333 -r1.3334
--- ChangeLog   27 Jun 2006 19:25:10 -0000      1.3333
+++ ChangeLog   28 Jun 2006 19:20:01 -0000      1.3334
@@ -1,3 +1,9 @@
+2006-06-28  Klaus Treichel  <address@hidden>
+
+       * engine/jitc_call.c: Remove the check of the this pointer for non 
virtual
+       method calls (JITCoder_CheckCallNull) because it degrades the overall
+       performance too much. The check has to be performed in the methods.
+
 2006-06-27  Klaus Treichel  <address@hidden>
 
        * engine/jitc_obj.c: Replace jit_insn_add with jit_insn_add_relative 
when

Index: engine/jitc_call.c
===================================================================
RCS file: /sources/dotgnu-pnet/pnet/engine/jitc_call.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- engine/jitc_call.c  25 Jun 2006 11:56:32 -0000      1.20
+++ engine/jitc_call.c  28 Jun 2006 19:20:02 -0000      1.21
@@ -561,15 +561,9 @@
 
 static void JITCoder_CheckCallNull(ILCoder *coder, ILCoderMethodInfo *info)
 {
-       ILJITCoder *jitCoder = _ILCoderToILJITCoder(coder);
-       ILUInt32 numArgs = info->numBaseArgs + info->numVarArgs;
-
-       if(info->hasParamArray)
-       {
-               /* Account for the vararg parameter array on the stack */
-               ++numArgs;
-       }
-       _ILJitCheckNull(jitCoder, jitCoder->jitStack[jitCoder->stackTop - 
numArgs]);
+       /* We don't check the this pointer for non virtual instance method */
+       /* calls because it degrades the the performance on these calls. */
+       /* The check for null in this case is not in the ECMA specs. */
 }
 
 static void JITCoder_CallMethod(ILCoder *coder, ILCoderMethodInfo *info,




reply via email to

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