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. cbe079cd5a688ec641e3a41cccefb33b72653a4e
Date: Wed, 07 Apr 2010 06:09:55 +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  cbe079cd5a688ec641e3a41cccefb33b72653a4e (commit)
      from  26259432498c1ec34b56c6084700ef4f43886d07 (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=cbe079cd5a688ec641e3a41cccefb33b72653a4e

commit cbe079cd5a688ec641e3a41cccefb33b72653a4e
Author: Klaus Treichel <address@hidden>
Date:   Wed Apr 7 08:08:06 2010 +0200

    Remove the code for the no longer needed opcode COP_CCTOR_ONCE.

diff --git a/ChangeLog b/ChangeLog
index 9961e44..d5dc344 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-04-07  Klaus Treichel  <address@hidden>
+
+       * engine/cvm.h: Mark the no longer used opcode COP_CCTOR_ONCE unsused.
+
+       * engine/cvm_call.c: Remove the code for the COP_CCTOR_ONCE opcode.
+
 2010-04-06  Klaus Treichel  <address@hidden>
 
        * engine/amd64_codegen.h: Remove emitting the Rex prefix for some fpu
diff --git a/engine/cvm.h b/engine/cvm.h
index 2532568..1552206 100644
--- a/engine/cvm.h
+++ b/engine/cvm.h
@@ -307,7 +307,9 @@ extern      "C" {
 #define        COP_PUSH_THREAD                         0xDC
 #define        COP_PUSH_THREAD_RAW                     0xDD
 #define        COP_PUSHDOWN                            0xDE
-#define        COP_CCTOR_ONCE                          0xDF
+/*
+ * #define     COP_CCTOR_ONCE                          0xDF     NOT USED 
ANYMORE
+ */
 #define        COP_CALLI                                       0xE0
 #define        COP_JMPI                                        0xE1
 
diff --git a/engine/cvm_call.c b/engine/cvm_call.c
index e5a5375..67ec6ad 100644
--- a/engine/cvm_call.c
+++ b/engine/cvm_call.c
@@ -1122,42 +1122,6 @@ VMCASE(COP_CALL_INTERFACE):
 VMBREAK(COP_CALL_INTERFACE);
 
 /**
- * <opcode name="cctor_once" group="Call management instructions">
- *   <operation>Block the current method from being executed
- *              more than once</operation>
- *
- *   <format>cctor_once</format>
- *   <dformat>{cctor_once}</dformat>
- *
- *   <form name="cctor_once" code="COP_CCTOR_ONCE"/>
- *
- *   <description>The <i>cctor_once</i> instruction is typically
- *   the first instruction in a static constructor.  If this is the
- *   first time that the static constructor has been called, then
- *   the method will continue.  Otherwise, the effect will be the
- *   same as for <i>return</i>.</description>
- *
- *   <notes>This instruction permits CVM bytecode to call static
- *   constructors from anywhere in the system, without having to
- *   worry about whether it has already been called.  This instruction
- *   will also prevent recursive static constructor calls from
- *   looping indefinitely.</notes>
- * </opcode>
- */
-VMCASE(COP_CCTOR_ONCE):
-{
-       /* Execute the rest of this static constructor method once only */
-       if((method->member.owner->attributes & IL_META_TYPEDEF_CCTOR_ONCE) == 0)
-       {
-               /* We haven't executed this method yet, so mark and continue */
-               method->member.owner->attributes |= IL_META_TYPEDEF_CCTOR_ONCE;
-               MODIFY_PC_AND_STACK(CVM_LEN_NONE, 0);
-               VMBREAK(COP_CCTOR_ONCE);
-       }
-}
-/* Fall through to the next case */
-
-/**
  * <opcode name="return" group="Call management instructions">
  *   <operation>Return from the current method with no return value</operation>
  *

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

Summary of changes:
 ChangeLog         |    6 ++++++
 engine/cvm.h      |    4 +++-
 engine/cvm_call.c |   36 ------------------------------------
 3 files changed, 9 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]