Index: /trunk/src/recompiler/VBoxRecompiler.c
===================================================================
--- /trunk/src/recompiler/VBoxRecompiler.c	(revision 13184)
+++ /trunk/src/recompiler/VBoxRecompiler.c	(revision 13185)
@@ -139,4 +139,8 @@
 static STAMCOUNTER    gStatSelOutOfSyncStateBack[6];
 static STAMCOUNTER    gStatFlushTBs;
+/* in exec.c */
+extern uint32_t       tlb_flush_count;
+extern uint32_t       tb_flush_count;
+extern uint32_t       tb_phys_invalidate_count;
 #endif
 
@@ -391,4 +395,8 @@
     STAM_REG(pVM, &gStatSelOutOfSyncStateBack[4],    STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/FS",        STAMUNIT_OCCURENCES,     "FS out of sync");
     STAM_REG(pVM, &gStatSelOutOfSyncStateBack[5],    STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/GS",        STAMUNIT_OCCURENCES,     "GS out of sync");
+
+    STAM_REG(pVM, &tb_flush_count,          STAMTYPE_U32_RESET, "/REM/TbFlushCount",     STAMUNIT_OCCURENCES, "tb_flush() calls");
+    STAM_REG(pVM, &tb_phys_invalidate_count,STAMTYPE_U32_RESET, "/REM/TbPhysInvldCount", STAMUNIT_OCCURENCES, "tb_phys_invalidate() calls");
+    STAM_REG(pVM, &tlb_flush_count,         STAMTYPE_U32_RESET, "/REM/TlbFlushCount",    STAMUNIT_OCCURENCES, "tlb_flush() calls");
 
 
Index: /trunk/src/recompiler/exec.c
===================================================================
--- /trunk/src/recompiler/exec.c	(revision 13184)
+++ /trunk/src/recompiler/exec.c	(revision 13185)
@@ -171,9 +171,15 @@
 
 /* statistics */
+#ifndef VBOX
 static int tlb_flush_count;
 static int tb_flush_count;
-#ifndef VBOX
 static int tb_phys_invalidate_count;
-#endif /* !VBOX */
+#else  /* VBOX */
+# ifdef VBOX_WITH_STATISTICS
+uint32_t tlb_flush_count;
+uint32_t tb_flush_count;
+uint32_t tb_phys_invalidate_count;
+# endif
+#endif /* VBOX */
 
 static void page_init(void)
@@ -378,5 +384,7 @@
     /* XXX: flush processor icache at this point if cache flush is
        expensive */
+#if !defined(VBOX) || defined(VBOX_WITH_STATISTICS)
     tb_flush_count++;
+#endif
 }
 
@@ -559,7 +567,7 @@
     tb->jmp_first = (TranslationBlock *)((long)tb | 2); /* fail safe */
 
-#ifndef VBOX
+#if !defined(VBOX) || defined(VBOX_WITH_STATISTICS)
     tb_phys_invalidate_count++;
-#endif /* !VBOX */
+#endif
 }
 
@@ -1377,5 +1385,7 @@
     }
 #endif
+#if !defined(VBOX) || defined(VBOX_WITH_STATISTICS)
     tlb_flush_count++;
+#endif
 }
 
