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

[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)



reply via email to

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