VirtualBox

Changeset 106378 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Oct 16, 2024 1:43:43 PM (3 months ago)
Author:
vboxsync
Message:

VMM/IEM: Fixed assertion in exec mem allocator. bugref:10720

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllN8veExecMem.cpp

    r106329 r106378  
    841841                        ? iemExecMemAllocatorFindReqFreeUnits<false>(pbmAlloc, cToScan / 64, cReqUnits)
    842842                        : iemExecMemAllocatorFindReqFreeUnits<true>( pbmAlloc, cToScan / 64, cReqUnits);
    843     Assert(iBit == iemExecMemAllocatorFindReqFreeUnitsOld(pbmAlloc, cToScan, cReqUnits));
     843# ifdef VBOX_STRICT
     844    uint32_t const iBitOld = iemExecMemAllocatorFindReqFreeUnitsOld(pbmAlloc, cToScan, cReqUnits);
     845    AssertMsg(   iBit == iBitOld
     846              || (iBit / 64) == (iBitOld / 64), /* New algorithm will return trailing hit before middle. */
     847              ("iBit=%#x (%#018RX64); iBitOld=%#x (%#018RX64); cReqUnits=%#x\n",
     848               iBit, iBit != UINT32_MAX ? pbmAlloc[iBit / 64] : 0,
     849               iBitOld, iBitOld != UINT32_MAX ? pbmAlloc[iBitOld / 64] : 0, cReqUnits));
     850# endif
    844851#else
    845852    uint32_t const iBit = iemExecMemAllocatorFindReqFreeUnitsOld(pbmAlloc, cToScan, cReqUnits);
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