[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. fab64f5929cd06894aebca178fbeba2aba85ac82 |
Date: |
Tue, 08 Sep 2009 14:32:20 +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 fab64f5929cd06894aebca178fbeba2aba85ac82 (commit)
from 6f7a4aaef216dd887992502f386c4e2cbd715173 (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=fab64f5929cd06894aebca178fbeba2aba85ac82
commit fab64f5929cd06894aebca178fbeba2aba85ac82
Author: Klaus Treichel <address@hidden>
Date: Tue Sep 8 16:31:57 2009 +0200
Fix interrupt based exception handling for x86.
diff --git a/ChangeLog b/ChangeLog
index 4fa51a7..b0671c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@
* engine/cvm.c: Add support for restoring the interpreter state after
returnining to the interpreter from a longjmp for X86_64.
+ Change restoring the interpreter register variables after returning to
+ the interpreter from a lngjmp for x86.
* engine/engine.h: Add x86_64 to the platforms that support interrupt
based exception handling.
diff --git a/engine/cvm.c b/engine/cvm.c
index e88d7b5..d56aefd 100644
--- a/engine/cvm.c
+++ b/engine/cvm.c
@@ -239,16 +239,9 @@ extern "C" {
#define INTERRUPT_RESTORE_FROM_THREAD() \
do \
{ \
- volatile int tempreg; \
- tempreg = thread->interruptContext.Ebx; \
- __asm__ __volatile__ \
- ( "mov %0, %%ebx;" : : "m"(tempreg) ); \
- tempreg = thread->interruptContext.Edi; \
- __asm__ __volatile__ \
- ( "mov %0, %%edi;" : : "m"(tempreg) ); \
- tempreg = thread->interruptContext.Esi; \
- __asm__ __volatile__ \
- ( "mov %0, %%esi;" : : "m"(tempreg) ); \
+ pc = (unsigned char
*)thread->interruptContext.Esi; \
+ stacktop = (CVMWord
*)thread->interruptContext.Edi; \
+ frame = (CVMWord
*)thread->interruptContext.Ebx; \
} \
while (0);
#elif defined(IL_INTERRUPT_HAVE_X86_64_CONTEXT) &&
defined(REGISTER_ASM_X86_64)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 2 ++
engine/cvm.c | 13 +++----------
2 files changed, 5 insertions(+), 10 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. fab64f5929cd06894aebca178fbeba2aba85ac82,
Klaus Treichel <=
- Prev by Date:
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. 6f7a4aaef216dd887992502f386c4e2cbd715173
- Next by Date:
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. f786df20e8e25a80b936eb4211e98268197ec3d6
- Previous by thread:
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. 6f7a4aaef216dd887992502f386c4e2cbd715173
- Next by thread:
[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET engine, compilers and tools (pnet) branch, master, updated. f786df20e8e25a80b936eb4211e98268197ec3d6
- Index(es):