Changeset 18595 in vbox
- Timestamp:
- Apr 1, 2009 12:17:30 PM (15 years ago)
- Location:
- trunk/src/recompiler_new
- Files:
-
- 2 edited
-
VBoxRecompiler.c (modified) (5 diffs)
-
exec.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler_new/VBoxRecompiler.c
r18280 r18595 143 143 static STAMCOUNTER gStatSelOutOfSyncStateBack[6]; 144 144 static STAMCOUNTER gStatFlushTBs; 145 /* in exec.c */ 146 extern uint32_t tlb_flush_count; 147 extern uint32_t tb_flush_count; 148 extern uint32_t tb_phys_invalidate_count; 145 149 #endif 146 150 … … 214 218 #endif 215 219 220 /** Prologue code, must be in lower 4G to simplify jumps to/from generated code. */ 221 uint8_t *code_gen_prologue; 222 216 223 217 224 /******************************************************************************* … … 231 238 #endif 232 239 233 234 /** Prologue code, must be in lower 4G to simplify jumps to/from generated code. */235 uint8_t *code_gen_prologue;236 240 237 241 /** … … 380 384 STAM_REG(pVM, &gStatSelOutOfSync[5], STAMTYPE_COUNTER, "/REM/State/SelOutOfSync/GS", STAMUNIT_OCCURENCES, "GS out of sync"); 381 385 382 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[0], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/ES", STAMUNIT_OCCURENCES, "ES out of sync"); 383 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[1], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/CS", STAMUNIT_OCCURENCES, "CS out of sync"); 384 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[2], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/SS", STAMUNIT_OCCURENCES, "SS out of sync"); 385 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[3], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/DS", STAMUNIT_OCCURENCES, "DS out of sync"); 386 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[4], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/FS", STAMUNIT_OCCURENCES, "FS out of sync"); 387 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[5], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/GS", STAMUNIT_OCCURENCES, "GS out of sync"); 388 389 /** @todo missing /REM/Tb*Count stats */ 390 391 #endif 386 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[0], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/ES", STAMUNIT_OCCURENCES, "ES out of sync"); 387 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[1], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/CS", STAMUNIT_OCCURENCES, "CS out of sync"); 388 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[2], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/SS", STAMUNIT_OCCURENCES, "SS out of sync"); 389 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[3], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/DS", STAMUNIT_OCCURENCES, "DS out of sync"); 390 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[4], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/FS", STAMUNIT_OCCURENCES, "FS out of sync"); 391 STAM_REG(pVM, &gStatSelOutOfSyncStateBack[5], STAMTYPE_COUNTER, "/REM/StateBack/SelOutOfSync/GS", STAMUNIT_OCCURENCES, "GS out of sync"); 392 #endif /* VBOX_WITH_STATISTICS */ 393 394 STAM_REL_REG(pVM, &tb_flush_count, STAMTYPE_U32_RESET, "/REM/TbFlushCount", STAMUNIT_OCCURENCES, "tb_flush() calls"); 395 STAM_REL_REG(pVM, &tb_phys_invalidate_count, STAMTYPE_U32_RESET, "/REM/TbPhysInvldCount", STAMUNIT_OCCURENCES, "tb_phys_invalidate() calls"); 396 STAM_REL_REG(pVM, &tlb_flush_count, STAMTYPE_U32_RESET, "/REM/TlbFlushCount", STAMUNIT_OCCURENCES, "tlb_flush() calls"); 397 392 398 393 399 #ifdef DEBUG_ALL_LOGGING … … 537 543 static DECLCALLBACK(int) remR3Save(PVM pVM, PSSMHANDLE pSSM) 538 544 { 545 PREM pRem = &pVM->rem.s; 546 539 547 /* 540 548 * Save the required CPU Env bits. 541 549 * (Not much because we're never in REM when doing the save.) 542 550 */ 543 PREM pRem = &pVM->rem.s;544 551 LogFlow(("remR3Save:\n")); 545 552 Assert(!pRem->fInREM); -
trunk/src/recompiler_new/exec.c
r18349 r18595 225 225 226 226 /* statistics */ 227 #ifndef VBOX 227 228 static int tlb_flush_count; 228 229 static int tb_flush_count; 229 #ifndef VBOX230 230 static int tb_phys_invalidate_count; 231 #endif /* !VBOX */ 231 #else /* VBOX - Resettable U32 stats, see VBoxRecompiler.c. */ 232 uint32_t tlb_flush_count; 233 uint32_t tb_flush_count; 234 uint32_t tb_phys_invalidate_count; 235 #endif /* VBOX */ 232 236 233 237 #define SUBPAGE_IDX(addr) ((addr) & ~TARGET_PAGE_MASK) … … 934 938 tb->jmp_first = (TranslationBlock *)((long)tb | 2); /* fail safe */ 935 939 936 #ifndef VBOX937 940 tb_phys_invalidate_count++; 938 #endif939 941 } 940 942
Note:
See TracChangeset
for help on using the changeset viewer.

