vbox的更動 37675 路徑 trunk/src/recompiler/tcg/tcg.c
- 時間撮記:
- 2011-6-29 上午07:07:14 (14 年 以前)
- svn:sync-xref-src-repo-rev:
- 72535
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/recompiler/tcg/tcg.c
r36175 r37675 28 28 #include "config.h" 29 29 30 #ifndef DEBUG_TCG30 #ifndef CONFIG_DEBUG_TCG 31 31 /* define it to suppress various consistency checks (faster) */ 32 32 #define NDEBUG … … 52 52 #include "qemu-common.h" 53 53 #include "cache-utils.h" 54 #include "host-utils.h" 54 55 55 56 /* Note: the long term plan is to reduce the dependancies on the QEMU … … 63 64 #include "elf.h" 64 65 66 #if defined(CONFIG_USE_GUEST_BASE) && !defined(TCG_TARGET_HAS_GUEST_BASE) 67 #error GUEST_BASE not supported on this host. 68 #endif 65 69 66 70 #ifdef VBOX … … 74 78 # undef USE_LIVENESS_ANALYSIS 75 79 # endif 80 ///* With 0.12.5 the liveness analysis does not work well even when targeting 81 // 32-bit guest cpus. Just disable it wholesale to be on the safe side. */ 82 //#undef USE_LIVENESS_ANALYSIS 76 83 #endif /* VBOX */ 77 84 … … 82 89 #define DEF(s, n, copy_size) { #s, 0, 0, n, n, 0, copy_size }, 83 90 #ifndef VBOX 84 #define DEF2(s, iargs, oargs, cargs, flags) { #s, iargs, oargs, cargs, iargs + oargs + cargs, flags, 0 },91 #define DEF2(s, oargs, iargs, cargs, flags) { #s, oargs, iargs, cargs, iargs + oargs + cargs, flags, 0 }, 85 92 #else /* VBOX */ 86 # define DEF2(s, iargs, oargs, cargs, flags) { #s, iargs, oargs, cargs, iargs + oargs + cargs, flags, 0, 0, 0 },93 # define DEF2(s, oargs, iargs, cargs, flags) { #s, oargs, iargs, cargs, iargs + oargs + cargs, flags, 0, 0, 0 }, 87 94 #endif /* VBOX */ 88 95 #include "tcg-opc.h" … … 1117 1124 nb_ops = gen_opc_ptr - gen_opc_buf; 1118 1125 1119 /* XXX: make it really dynamic */ 1120 s->op_dead_iargs = tcg_malloc(OPC_BUF_SIZE * sizeof(uint16_t)); 1126 s->op_dead_iargs = tcg_malloc(nb_ops * sizeof(uint16_t)); 1121 1127 1122 1128 dead_temps = tcg_malloc(s->nb_temps); … … 1901 1907 static int64_t tcg_table_op_count[NB_OPS]; 1902 1908 1903 void dump_op_count(void)1909 static void dump_op_count(void) 1904 1910 { 1905 1911 int i; … … 1939 1945 1940 1946 #ifdef DEBUG_DISAS 1947 # ifdef USE_LIVENESS_ANALYSIS /* vbox */ 1941 1948 if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP_OPT))) { 1942 qemu_log("OP after l a:\n");1949 qemu_log("OP after liveness analysis:\n"); 1943 1950 tcg_dump_ops(s, logfile); 1944 1951 qemu_log("\n"); 1945 1952 } 1953 # endif /* USE_LIVENESS_ANALYSIS - vbox */ 1946 1954 #endif 1947 1955 … … 1981 1989 case INDEX_op_debug_insn_start: 1982 1990 /* debug instruction */ 1991 //#ifdef VBOX /* HACK ALERT: GROSS HACK to work around registister allocation bugs in v0.12.5 */ 1992 // save_globals(s, s->reserved_regs); 1993 //#endif 1983 1994 break; 1984 1995 case INDEX_op_nop: … … 2109 2120 cpu_fprintf(f, " avg cycles %0.1f\n", 2110 2121 s->restore_count ? (double)s->restore_time / s->restore_count : 0); 2111 { 2112 extern void dump_op_count(void); 2113 dump_op_count(); 2114 } 2122 2123 dump_op_count(); 2115 2124 } 2116 2125 #else
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器