VirtualBox

Changeset 105191 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Jul 8, 2024 2:50:02 PM (7 months ago)
Author:
vboxsync
Message:

VMM/IEM: Redo TB allocation and get rid of the allocation bitmap entirely. Free translation blocks are now linked LIFO style in a single list, bugref:10653

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/IEMInternal.h

    r105184 r105191  
    14851485     *  See iemTbAllocatorAllocSlow for details. */
    14861486    uint32_t        iPruneFrom;
    1487     /** Hint about which bit to start scanning the bitmap from. */
    1488     uint32_t        iStartHint;
    14891487    /** Where to start pruning native TBs from when we're out of executable memory.
    14901488     *  See iemTbAllocatorFreeupNativeSpace for details. */
    14911489    uint32_t        iPruneNativeFrom;
    1492     /** Index into IEMTBALLOCATOR::apTbFreeCache were the next freed TB can be stored
    1493      * (0 means the cache is empty, 32 the cache is full). */
    1494     uint32_t        idxTbCacheFree;
     1490    uint64_t        u64Padding;
    14951491
    14961492    /** Statistics: Number of TB allocation calls. */
     
    15051501    /** The delayed free list (see iemTbAlloctorScheduleForFree). */
    15061502    PIEMTB          pDelayedFreeHead;
    1507     /* Cache of recently freed TBs for immediate consumption by the allocator. */
    1508     PIEMTB          apTbFreeCache[32];
     1503    /* Head of the list of free TBs. */
     1504    PIEMTB          pTbsFreeHead;
    15091505
    15101506    /** Allocation chunks. */
    15111507    IEMTBCHUNK      aChunks[256];
    1512 
    1513     /** Allocation bitmap for all possible chunk chunks. */
    1514     RT_FLEXIBLE_ARRAY_EXTENSION
    1515     uint64_t        bmAllocated[RT_FLEXIBLE_ARRAY];
    15161508} IEMTBALLOCATOR;
    15171509/** Pointer to a TB allocator. */
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