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. 1d7295fc8b96b3df583bc39f78eb387b06a082b9
Date: Thu, 06 Jan 2011 09:36:43 +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  1d7295fc8b96b3df583bc39f78eb387b06a082b9 (commit)
      from  6d9f56bc2e4b3764b14e720fca69b3b62f635e1f (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=1d7295fc8b96b3df583bc39f78eb387b06a082b9

commit 1d7295fc8b96b3df583bc39f78eb387b06a082b9
Author: Klaus Treichel <address@hidden>
Date:   Thu Jan 6 10:35:40 2011 +0100

    Remove optimizations for x86 for the cvm interpreter.
    They are needed only for gcc 4.4 (use gcc 4.3 instead).

diff --git a/ChangeLog b/ChangeLog
index d6cbb2f..e403717 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-06  Klaus Treichel  <address@hidden>
+
+       * engine/cvm.c, engine/cvm_config.c: Revert the optimizations for
+       x86 because they seem to be gcc 4.4 optimizer specific.
+
 2011-01-05  Klaus Treichel  <address@hidden>
 
        * engine/engine.h, engine/lib_thread.c, engine/thread.c: Remove
diff --git a/engine/cvm.c b/engine/cvm.c
index f466dfe..a51b662 100644
--- a/engine/cvm.c
+++ b/engine/cvm.c
@@ -147,14 +147,14 @@ extern    "C" {
  */
 #if defined(__GNUC__) && !defined(IL_VMCASE_BARRIER)
 #if (__GNUC__ == 4) && defined(CVM_X86)
-#define IL_PC_VOLATILE volatile
-#define IL_STACKTOP_VOLATILE volatile
-#define IL_FRAME_VOLATILE volatile
-#define IL_STACKMAX_VOLATILE volatile
-#define IL_METHOD_VOLATILE volatile
-#define IL_METHODTOCALL_VOLATILE volatile
-#define IL_CALLFRAME_VOLATILE volatile
-#define IL_TEMPPTR_VOLATILE volatile
+#define IL_PC_VOLATILE
+#define IL_STACKTOP_VOLATILE
+#define IL_FRAME_VOLATILE
+#define IL_STACKMAX_VOLATILE
+#define IL_METHOD_VOLATILE
+#define IL_METHODTOCALL_VOLATILE
+#define IL_CALLFRAME_VOLATILE
+#define IL_TEMPPTR_VOLATILE
 #endif
 #if (__GNUC__ == 4) && defined(CVM_X86_64)
 #define IL_PC_VOLATILE
diff --git a/engine/cvm_config.h b/engine/cvm_config.h
index 03af4de..bb88fcb 100644
--- a/engine/cvm_config.h
+++ b/engine/cvm_config.h
@@ -267,17 +267,17 @@ extern int _ILCVMInsnCount[];
 #if defined(IL_CVM_DIRECT_UNROLLED)
        /*
         * This is the barrier needed to make the interpreter work.
-        *
+        */
        #define CVM_VMBREAK_BARRIER()   \
                __asm__ __volatile__ ("" : : : "ecx", "edx")
-        *
+       /*
         * The extended barrier makes gcc (version 4.4) build faster code.
         * (Tested on an intel atom cpu box)
         * As of gcc 4.4 the interpreter segfaults if built with -O3 on x86
-        */
+        *
        #define CVM_VMBREAK_BARRIER()   \
        __asm__ __volatile__ ("" : : : "ecx", "edx", "memory")
-       /*
+        *
         * Define arch specific replacements for the cvm interpreter switch
         * , case and break statements.
         * For these x86 specific versions all variables with a *VOLATILE* macro
@@ -285,12 +285,13 @@ extern int _ILCVMInsnCount[];
         * volatile.
         *
         * NOTE: The goto statement in the macro is just for the compiler.
-        */
+        *
        #define X86_CGOTO(pc) do { __asm__ __volatile__ ("jmp *(%0)" : : "r" 
(pc)); \
                                                           goto ** ((void 
**)(pc)); } while(0)
        #define VM_CGOTO_PREFIXSWITCH(val) X86_CGOTO(pc)
        #define VM_CGOTO_BREAK(val) X86_CGOTO(pc)
        #define VM_CGOTO_BREAKNOEND(val) X86_CGOTO(pc)
+       */
 #endif
 #elif defined(CVM_X86_64) && defined(__GNUC__) && !defined(IL_NO_ASM)
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog           |    5 +++++
 engine/cvm.c        |   16 ++++++++--------
 engine/cvm_config.h |   11 ++++++-----
 3 files changed, 19 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
DotGNU Portable.NET engine, compilers and tools (pnet)



reply via email to

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