[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and to
From: |
Klaus Treichel |
Subject: |
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. 8fc04a6d420138c4f3ce52910780db091e152230 |
Date: |
Sun, 02 Jan 2011 19:16:24 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "DotGNU Portable.NET engine, compilers and tools (pnet)".
The branch, master has been updated
via 8fc04a6d420138c4f3ce52910780db091e152230 (commit)
from c889429b348b4df74f4597ac5cd3bcc0b8db132d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/pnet.git/commit/?id=8fc04a6d420138c4f3ce52910780db091e152230
commit 8fc04a6d420138c4f3ce52910780db091e152230
Author: Klaus Treichel <address@hidden>
Date: Sun Jan 2 20:15:32 2011 +0100
Remove now obsolete members for cvm from ILCallFrame and ILExecThread.
diff --git a/ChangeLog b/ChangeLog
index 59ecdea..69f09ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,12 +2,16 @@
* engine/call.c (_ILCallMethod): Don't copy the currentException back
to the thrownException anymore if built with libjit.
+ (_ILCallMethod): Remove copying the exceptHeight for cvm.
* engine/cvm.c, engine/cvm_arith.c, engine/cvm_call.c,
engine/cvm_except.c:
Change exception handling from code to unwind table based.
Fix catching exceptions in finally/fault blocks.
Add support for filter based exceptions.
+ * engine/cvm_call.c, engine/debugger.c : Remove copying the
+ exceptHeight.
+
* engine/cvm.h: Mark some prefixed opcodes for exception handling
obsolete or replace them by new ones.
Add declaration of the cvm unwind information structs.
@@ -37,6 +41,12 @@
* engine/null_coder.c: Adjust the null coder to match the new coder
structure.
+ * engine/system.c (FindAndSetStackTrace): Remove copying the
+ exceptHeight.
+
+ * engine/thread.c, engine/lib_thread.c: Remove initialization of
+ abortHandlerEndPc and abortHandlerFrame.
+
* engine/verify.c: Add functions for creating the coder exception block
structure from the method's exception regions.
(_ILVerify): Create the coder exception structure from the method's
@@ -48,6 +58,11 @@
* engine/verify_except.c: Rework verification and generation of
exception
handling opcodes. Fix support for filters.
+ * engine/engine.h: Remove the now obsolete exceptHeight member from
+ ILCallFrame and ILExecThread.
+ Remove the now obsolete AbortHandlerFrame and abortHandlerEndPc from
+ ILExecThread.
+
* include/il_coder.h: Add coder specific exception block structs.
Modify the coder structure and adjust the corresponding macros.
diff --git a/engine/call.c b/engine/call.c
index 0da6407..7dcd8b9 100644
--- a/engine/call.c
+++ b/engine/call.c
@@ -1198,7 +1198,6 @@ int _ILCallMethod(ILExecThread *thread, ILMethod *method,
frame->method = thread->method;
frame->pc = IL_INVALID_PC;
frame->frame = thread->frame;
- frame->exceptHeight = thread->exceptHeight;
frame->permissions = 0;
/* Call the method */
@@ -1212,7 +1211,6 @@ int _ILCallMethod(ILExecThread *thread, ILMethod *method,
{
thread->pc = pcstart;
}
- thread->exceptHeight = 0;
thread->method = method;
threwException = _ILCVMInterpreter(thread);
if(threwException)
diff --git a/engine/cvm_call.c b/engine/cvm_call.c
index 6370914..2a31747 100644
--- a/engine/cvm_call.c
+++ b/engine/cvm_call.c
@@ -606,7 +606,6 @@ VMCASE(COP_CALL):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALL_RETURN(pc);
callFrame->frame = frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Pass control to the new method */
@@ -639,7 +638,6 @@ VMCASE(COP_CALL):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALL_RETURN(thread->pc);
callFrame->frame = thread->frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Restore the state information and jump to the new method */
@@ -696,7 +694,6 @@ VMCASE(COP_CALL_CTOR):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALL_RETURN(pc);
callFrame->frame = frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Pass control to the new method */
@@ -728,7 +725,6 @@ VMCASE(COP_CALL_CTOR):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALL_RETURN(thread->pc);
callFrame->frame = thread->frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Restore the state information and jump to the new method */
@@ -940,7 +936,6 @@ VMCASE(COP_CALL_VIRTUAL):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLV_RETURN_SMALL(pc);
callFrame->frame = frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Pass control to the new method */
@@ -973,7 +968,6 @@ VMCASE(COP_CALL_VIRTUAL):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLV_RETURN_SMALL(thread->pc);
callFrame->frame = thread->frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Restore the state information and jump to the new
method */
@@ -1075,7 +1069,6 @@ VMCASE(COP_CALL_INTERFACE):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLI_RETURN_SMALL(pc);
callFrame->frame = frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Pass control to the new method */
@@ -1108,7 +1101,6 @@ VMCASE(COP_CALL_INTERFACE):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLI_RETURN_SMALL(thread->pc);
callFrame->frame = thread->frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Restore the state information and jump to the new
method */
@@ -1159,7 +1151,6 @@ popFrame:
methodToCall = callFrame->method;
pc = callFrame->pc;
- thread->exceptHeight = callFrame->exceptHeight;
frame = callFrame->frame;
method = methodToCall;
@@ -1453,7 +1444,6 @@ VMCASE(COP_CALLI):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLIND_RETURN(pc);
callFrame->frame = frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Pass control to the new method */
@@ -1486,7 +1476,6 @@ VMCASE(COP_CALLI):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLIND_RETURN(thread->pc);
callFrame->frame = thread->frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Restore the state information and jump to the new method */
@@ -1545,7 +1534,6 @@ case COP_CALL_VIRTUAL:
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLV_RETURN_LARGE(thread->pc);
callFrame->frame = thread->frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Restore the state information and jump to the new method */
@@ -1612,7 +1600,6 @@ case COP_CALL_INTERFACE:
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLI_RETURN_LARGE(thread->pc);
callFrame->frame = thread->frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Restore the state information and jump to the new method */
@@ -1871,7 +1858,6 @@ VMCASE(COP_PREFIX_CALL_VIRTGEN):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLV_RETURN_SMALL(pc);
callFrame->frame = frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Pass control to the new method */
@@ -1904,7 +1890,6 @@ VMCASE(COP_PREFIX_CALL_VIRTGEN):
callFrame->method = method;
callFrame->pc = CVM_ARG_CALLV_RETURN_SMALL(thread->pc);
callFrame->frame = thread->frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Restore the state information and jump to the new
method */
diff --git a/engine/debugger.c b/engine/debugger.c
index 58288d2..24085cf 100644
--- a/engine/debugger.c
+++ b/engine/debugger.c
@@ -2089,7 +2089,6 @@ void ShowStackTrace(ILDebugger *debugger, FILE *stream)
frame->method = thread->method;
frame->pc = thread->pc;
frame->frame = thread->frame;
- frame->exceptHeight = thread->exceptHeight;
frame->permissions = 0;
fputs(" <StackTrace>\n", stream);
diff --git a/engine/engine.h b/engine/engine.h
index 191304e..95c4723 100644
--- a/engine/engine.h
+++ b/engine/engine.h
@@ -403,7 +403,6 @@ typedef struct _tagILCallFrame
ILMethod *method; /* Method being executed in the
frame */
unsigned char *pc; /* PC to return to in
the parent method */
CVMWord *frame; /* Base of the local
variable frame */
- CVMWord *exceptHeight; /* Height of the frame for
exceptions */
void *permissions; /* Permissions for this stack frame */
#ifdef ENHANCED_PROFILER
ILInt64 profileTime; /* Preformance counter for
profiling */
@@ -473,17 +472,10 @@ struct _tagILExecThread
/* Current thread state */
unsigned char *pc; /* Current program
position */
- CVMWord *exceptHeight; /* Height of the frame for
exceptions */
CVMWord *frame; /* Base of the local
variable frame */
CVMWord *stackTop; /* Current stack top */
ILUInt32 offset; /* Current IL offset */
- /* The PC where the ThreadAbortException should be rethrown */
- unsigned char *abortHandlerEndPC;
-
- /* The frame where the ThreadAbortException was first noticed */
- ILUInt32 abortHandlerFrame;
-
/* Stack of call frames in use */
ILCallFrame *frameStack;
ILUInt32 numFrames;
diff --git a/engine/lib_thread.c b/engine/lib_thread.c
index d941e01..8876fcd 100644
--- a/engine/lib_thread.c
+++ b/engine/lib_thread.c
@@ -417,10 +417,6 @@ void _IL_Thread_ResetAbort(ILExecThread *thread)
ILInterlockedAndU4(&(thread->managedSafePointFlags),
~_IL_MANAGED_SAFEPOINT_THREAD_ABORT);
thread->aborting = 0;
-#ifdef IL_USE_CVM
- thread->abortHandlerEndPC = 0;
- thread->abortHandlerFrame = 0;
-#endif
thread->threadAbortException = 0;
}
}
diff --git a/engine/system.c b/engine/system.c
index 68b35bc..bdd945e 100644
--- a/engine/system.c
+++ b/engine/system.c
@@ -63,7 +63,6 @@ static int FindAndSetStackTrace(ILExecThread *thread,
ILObject *object)
callFrame->method = thread->method;
callFrame->pc = thread->pc;
callFrame->frame = thread->frame;
- callFrame->exceptHeight = thread->exceptHeight;
callFrame->permissions = 0;
/* Get the stack trace and pop the frame */
diff --git a/engine/thread.c b/engine/thread.c
index 292d904..33ca79d 100644
--- a/engine/thread.c
+++ b/engine/thread.c
@@ -317,10 +317,6 @@ int _ILExecThreadSelfAborting(ILExecThread *thread)
~_IL_MANAGED_SAFEPOINT_THREAD_ABORT);
thread->aborting = 1;
thread->threadAbortException = 0;
-#ifdef IL_USE_CVM
- thread->abortHandlerEndPC = 0;
- thread->abortHandlerFrame = 0;
-#endif
ILExecThreadSetException(thread, exception);
return 0;
@@ -680,8 +676,6 @@ ILExecThread *_ILExecThreadCreate(ILExecProcess *process,
int ignoreProcessState
thread->numFrames = 0;
thread->maxFrames = 0;
thread->pc = 0;
- thread->abortHandlerEndPC = 0;
- thread->abortHandlerFrame = 0;
thread->frame = 0;
thread->stackTop = 0;
#endif
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 15 +++++++++++++++
engine/call.c | 2 --
engine/cvm_call.c | 15 ---------------
engine/debugger.c | 1 -
engine/engine.h | 8 --------
engine/lib_thread.c | 4 ----
engine/system.c | 1 -
engine/thread.c | 6 ------
8 files changed, 15 insertions(+), 37 deletions(-)
hooks/post-receive
--
DotGNU Portable.NET engine, compilers and tools (pnet)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. 8fc04a6d420138c4f3ce52910780db091e152230,
Klaus Treichel <=
- Prev by Date:
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. c889429b348b4df74f4597ac5cd3bcc0b8db132d
- Next by Date:
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. 0b2736ee5dc7e5e470e8a974a5f4826aea5e44a7
- Previous by thread:
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. c889429b348b4df74f4597ac5cd3bcc0b8db132d
- Next by thread:
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. 0b2736ee5dc7e5e470e8a974a5f4826aea5e44a7
- Index(es):