[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/engine cvm_inline.c,1.13,1.14 lib_threa
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/engine cvm_inline.c,1.13,1.14 lib_thread.c,1.12,1.13 |
Date: |
Sun, 29 Jun 2003 17:38:14 -0400 |
Update of /cvsroot/dotgnu-pnet/pnet/engine
In directory subversions:/tmp/cvs-serv12112/engine
Modified Files:
cvm_inline.c lib_thread.c
Log Message:
engine/lib_thread.c: Fix argument exception instead of SyncLockException thrown.
* engine/cvm_inline.c: Monitor.Enter and Monitor.Exit now
properly save/restore the stack state. Fixes case where
exceptions not always thrown.
Index: cvm_inline.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/cvm_inline.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** cvm_inline.c 26 Jun 2003 03:39:25 -0000 1.13
--- cvm_inline.c 29 Jun 2003 21:38:12 -0000 1.14
***************
*** 352,357 ****
/* TODO: Actually make it fully inline :) */
! _IL_Monitor_Enter(thread, (ILObject *)stacktop[-1].ptrValue);
!
MODIFY_PC_AND_STACK(CVMP_LEN_NONE, -1);
}
--- 352,359 ----
/* TODO: Actually make it fully inline :) */
! COPY_STATE_TO_THREAD();
! _IL_Monitor_Enter(thread, (ILObject *)stacktop[-1].ptrValue);
! RESTORE_STATE_FROM_THREAD();
!
MODIFY_PC_AND_STACK(CVMP_LEN_NONE, -1);
}
***************
*** 384,388 ****
/* TODO: Actually make it fully inline :) */
! _IL_Monitor_Exit(thread, (ILObject *)stacktop[-1].ptrValue);
MODIFY_PC_AND_STACK(CVMP_LEN_NONE, -1);
--- 386,392 ----
/* TODO: Actually make it fully inline :) */
! COPY_STATE_TO_THREAD();
! _IL_Monitor_Exit(thread, (ILObject *)stacktop[-1].ptrValue);
! RESTORE_STATE_FROM_THREAD();
MODIFY_PC_AND_STACK(CVMP_LEN_NONE, -1);
Index: lib_thread.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_thread.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** lib_thread.c 26 Jun 2003 22:23:35 -0000 1.12
--- lib_thread.c 29 Jun 2003 21:38:12 -0000 1.13
***************
*** 287,291 ****
(
thread,
! "System.ArgumentException",
"Exception_ThreadNeedsLock"
);
--- 287,291 ----
(
thread,
! "System.Threading.SynchronizationLockException",
"Exception_ThreadNeedsLock"
);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/engine cvm_inline.c,1.13,1.14 lib_thread.c,1.12,1.13,
Rhys Weatherley <address@hidden> <=