VirtualBox

Ignore:
Timestamp:
Aug 21, 2024 11:52:56 PM (5 months ago)
Author:
vboxsync
Message:

VMM/IEM: End TB if we get back to the first instruction again via an indirect route, e.g. jumping to a point before the TB starts, and optimize this using the loop-jump (todo 14). bugref:10720 bugref:10656

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/IEMR3.cpp

    r105718 r105805  
    686686        STAMR3RegisterF(pVM, (void *)&pVCpu->iem.s.StatTbLoopFullTbDetected, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT,
    687687                        "Detected loop full TB",  "/IEM/CPU%u/re/LoopFullTbDetected", idCpu);
     688        STAMR3RegisterF(pVM, (void *)&pVCpu->iem.s.StatTbLoopFullTbDetected2, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT,
     689                        "Detected loop full TB but looping back to before the first TB instruction",
     690                        "/IEM/CPU%u/re/LoopFullTbDetected2", idCpu);
    688691        STAMR3RegisterF(pVM, (void *)&pVCpu->iem.s.StatTbLoopInTbDetected, STAMTYPE_COUNTER, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT,
    689692                        "Detected loop within TB", "/IEM/CPU%u/re/LoopInTbDetected", idCpu);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette