VirtualBox

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


Ignore:
Timestamp:
Oct 21, 2023 10:30:50 PM (16 months ago)
Author:
vboxsync
Message:

VMM/IEM: Freed up some space in IEMTB for a pointer to debug info or something. bugref:10371

File:
1 edited

Legend:

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

    r101484 r101538  
    887887    /** The IEMCPU::msRecompilerPollNow last time it was used. */
    888888    uint32_t            msLastUsed;
    889     /** The allocation chunk this TB belongs to. */
    890     uint8_t             idxAllocChunk;
    891 
    892     uint8_t             abUnused[3];
    893     uint32_t            uUnused;
    894 
    895889
    896890    /** @name What uniquely identifies the block.
     
    941935    };
    942936
    943     /** Number of bytes of opcodes stored in pabOpcodes. */
     937    /** The allocation chunk this TB belongs to. */
     938    uint8_t             idxAllocChunk;
     939    uint8_t             bUnused;
     940
     941    /** Number of bytes of opcodes stored in pabOpcodes.
     942     * @todo this field isn't really needed, aRanges keeps the actual info. */
    944943    uint16_t            cbOpcodes;
    945     /** The max storage available in the pabOpcodes block. */
    946     uint16_t            cbOpcodesAllocated;
    947944    /** Pointer to the opcode bytes this block was recompiled from. */
    948945    uint8_t            *pabOpcodes;
     946
     947    /** Debug info or smth. */
     948    void               *pvDbg;
    949949
    950950    /* --- 64 byte cache line end --- */
     
    981981     * The GCPhysPc w/o page offset is element zero, so starting here with 1. */
    982982    RTGCPHYS            aGCPhysPages[2];
     983
    983984} IEMTB;
    984985#pragma pack()
    985 AssertCompileMemberOffset(IEMTB, x86, 36);
    986 AssertCompileMemberOffset(IEMTB, cRanges, 38);
    987 AssertCompileMemberOffset(IEMTB, Thrd, 40);
    988 AssertCompileMemberOffset(IEMTB, Thrd.cCalls, 48);
    989 AssertCompileMemberOffset(IEMTB, cbOpcodes, 52);
     986AssertCompileMemberAlignment(IEMTB, GCPhysPc, sizeof(RTGCPHYS));
     987AssertCompileMemberAlignment(IEMTB, Thrd, sizeof(void *));
     988AssertCompileMemberAlignment(IEMTB, pabOpcodes, sizeof(void *));
     989AssertCompileMemberAlignment(IEMTB, pvDbg, sizeof(void *));
     990AssertCompileMemberAlignment(IEMTB, aGCPhysPages, sizeof(RTGCPHYS));
     991AssertCompileMemberOffset(IEMTB, aRanges[0], 64);
    990992AssertCompileMemberSize(IEMTB, aRanges[0], 6);
    991993#if 1
     
    15031505     * iemCImpl_sti code and subsequently cleared by the recompiler. */
    15041506    bool                    fTbCurInstrIsSti;
     1507    /** The size of the IEMTB::pabOpcodes allocation in pThrdCompileTbR3. */
     1508    uint16_t                cbOpcodesAllocated;
    15051509    /** Spaced reserved for recompiler data / alignment. */
    1506     bool                    afRecompilerStuff1[2+4];
     1510    bool                    afRecompilerStuff1[4];
    15071511    /** The virtual sync time at the last timer poll call. */
    15081512    uint32_t                msRecompilerPollNow;
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