OSDN Git Service

Prepare for op.c removal and zero legacy ops
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 21 Mar 2008 18:03:09 +0000 (18:03 +0000)
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 21 Mar 2008 18:03:09 +0000 (18:03 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4095 c046a42c-6fe2-441c-8c8c-71466251a162

Makefile.target
tcg/tcg-dyngen.c
tcg/tcg-op.h
tcg/tcg-opc.h
tcg/tcg.c

index 9c83733..5ac29a7 100644 (file)
@@ -173,7 +173,10 @@ all: $(PROGS)
 #########################################################
 # cpu emulator library
 LIBOBJS=exec.o kqemu.o translate-all.o cpu-exec.o\
-        translate.o op.o host-utils.o
+        translate.o host-utils.o
+ifndef CONFIG_NO_DYNGEN_OP
+LIBOBJS+=op.o
+endif
 # TCG code generator
 LIBOBJS+= tcg/tcg.o tcg/tcg-dyngen.o tcg/tcg-runtime.o
 CPPFLAGS+=-I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/$(ARCH)
@@ -270,7 +273,9 @@ endif
 
 # libqemu
 
+ifndef CONFIG_NO_DYNGEN_OP
 OPC_H = gen-op.h dyngen-opc.h op.h
+endif
 
 libqemu.a: $(LIBOBJS)
        rm -f $@
index 1cc084e..5780372 100644 (file)
@@ -464,6 +464,7 @@ static inline void ia64_apply_fixes (uint8_t **gen_code_pp,
 #endif
 #endif
 
+#ifndef CONFIG_NO_DYNGEN_OP
 const TCGArg *dyngen_op(TCGContext *s, int opc, const TCGArg *opparam_ptr)
 {
     uint8_t *gen_code_ptr;
@@ -480,3 +481,4 @@ const TCGArg *dyngen_op(TCGContext *s, int opc, const TCGArg *opparam_ptr)
     s->code_ptr = gen_code_ptr;
     return opparam_ptr;
 }
+#endif
index 2e8b5e8..8f0897c 100644 (file)
  */
 #include "tcg.h"
 
+#ifndef CONFIG_NO_DYNGEN_OP
 /* legacy dyngen operations */
 #include "gen-op.h"
+#endif
 
 int gen_new_label(void);
 
index 4d91d11..ee95910 100644 (file)
@@ -21,7 +21,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+#ifndef CONFIG_NO_DYNGEN_OP
 #include "dyngen-opc.h"
+#endif
 
 #ifndef DEF2
 #define DEF2(name, oargs, iargs, cargs, flags) DEF(name, oargs + iargs + cargs, 0)
index 2e9fa18..379b8f2 100644 (file)
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -1752,6 +1752,8 @@ static inline int tcg_gen_code_common(TCGContext *s, uint8_t *gen_code_buf,
             goto next;
         case INDEX_op_end:
             goto the_end;
+
+#ifndef CONFIG_NO_DYNGEN_OP
         case 0 ... INDEX_op_end - 1:
             /* legacy dyngen ops */
 #ifdef CONFIG_PROFILER
@@ -1768,6 +1770,7 @@ static inline int tcg_gen_code_common(TCGContext *s, uint8_t *gen_code_buf,
                 args = dyngen_op(s, opc, args);
             }
             goto next;
+#endif
         default:
             /* Note: in order to speed up the code, it would be much
                faster to have specialized register allocator functions for