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

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

[Dotgnu-pnet-commits] CVS: pnet/engine convert.c,1.17,1.18 cvm.c,1.41,1


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/engine convert.c,1.17,1.18 cvm.c,1.41,1.42 engine.h,1.77,1.78
Date: Sat, 05 Jul 2003 08:20:12 -0400

Update of /cvsroot/dotgnu-pnet/pnet/engine
In directory subversions:/tmp/cvs-serv26865/engine

Modified Files:
        convert.c cvm.c engine.h 
Log Message:


Lock out the method cache while the unroller is running.


Index: convert.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/convert.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -r1.17 -r1.18
*** convert.c   30 Dec 2002 06:14:41 -0000      1.17
--- convert.c   5 Jul 2003 12:20:09 -0000       1.18
***************
*** 20,23 ****
--- 20,24 ----
  
  #include "engine_private.h"
+ #include "cvm_config.h"
  
  #ifdef        __cplusplus
***************
*** 466,469 ****
--- 467,484 ----
        }
  }
+ 
+ #ifdef IL_CVM_DIRECT_UNROLLED
+ 
+ int _ILUnrollMethod(ILExecThread *thread, ILCoder *coder,
+                                       unsigned char *pc, ILMethod *method)
+ {
+       int result;
+       METADATA_WRLOCK(thread);
+       result = _ILCVMUnrollMethod(coder, pc, method);
+       METADATA_UNLOCK(thread);
+       return result;
+ }
+ 
+ #endif /* IL_CVM_DIRECT_UNROLLED */
  
  #ifdef        __cplusplus

Index: cvm.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/cvm.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -C2 -r1.41 -r1.42
*** cvm.c       4 May 2003 21:45:34 -0000       1.41
--- cvm.c       5 Jul 2003 12:20:09 -0000       1.42
***************
*** 655,660 ****
                                                /* Unroll the current method to 
native code */
                                        #ifdef IL_CVM_DIRECT_UNROLLED
!                                               
if(_ILCVMUnrollMethod(thread->process->coder,
!                                                                               
          pc, method))
                                                {
                                                        VMSWITCH(0);
--- 655,660 ----
                                                /* Unroll the current method to 
native code */
                                        #ifdef IL_CVM_DIRECT_UNROLLED
!                                               if(_ILUnrollMethod(thread, 
thread->process->coder,
!                                                                               
   pc, method))
                                                {
                                                        VMSWITCH(0);

Index: engine.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/engine.h,v
retrieving revision 1.77
retrieving revision 1.78
diff -C2 -r1.77 -r1.78
*** engine.h    5 Jul 2003 08:30:56 -0000       1.77
--- engine.h    5 Jul 2003 12:20:09 -0000       1.78
***************
*** 556,559 ****
--- 556,565 ----
  
  /*
+  * Unroll a CVM method to native code - locked version.
+  */
+ int _ILUnrollMethod(ILExecThread *thread, ILCoder *coder,
+                                       unsigned char *pc, ILMethod *method);
+ 
+ /*
   * Determine the size of a type's values in bytes.  This assumes
   * that the caller has obtained the metadata write lock.





reply via email to

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