[Top][All Lists]
[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/engine convert.c,1.17,1.18 cvm.c,1.41,1.42 engine.h,1.77,1.78,
Rhys Weatherley <address@hidden> <=