VirtualBox

Ignore:
Timestamp:
Sep 23, 2024 10:42:27 PM (6 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
164903
Message:

VMM/IEM: Eliminated the #ifndef IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE bits to try reduce the #ifdef-spaghetti a little. bugref:10677

File:
1 edited

Legend:

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

    r106124 r106125  
    9999#if 1 || defined(DOXYGEN_RUNNING)
    100100# define IEMNATIVE_WITH_RECOMPILER_PROLOGUE_SINGLETON
    101 #endif
    102 
    103 /** @def IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE
    104  * Enable this to use common epilogue and tail code for all TBs in a chunk. */
    105 #if 1 || defined(DOXYGEN_RUNNING)
    106 # define IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE
    107101#endif
    108102
     
    521515    kIemNativeLabelType_ReturnWithFlags,
    522516    kIemNativeLabelType_NonZeroRetOrPassUp,
    523 #ifdef IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE
    524517    kIemNativeLabelType_ReturnSuccess,          /**< Sets eax/w0 to zero and returns. */
    525 #else
    526     kIemNativeLabelType_Return,
    527 #endif
    528518    /** The last fixup for branches that can span almost the whole TB length.
    529519     * @note Whether kIemNativeLabelType_Return needs to be one of these is
    530520     *       a bit questionable, since nobody jumps to it except other tail code. */
    531 #ifdef IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE
    532521    kIemNativeLabelType_LastWholeTbBranch = kIemNativeLabelType_ReturnSuccess,
    533 #else
    534     kIemNativeLabelType_LastWholeTbBranch = kIemNativeLabelType_Return,
    535 #endif
    536522    /** The last fixup for branches that exits the TB. */
    537 #ifdef IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE
    538523    kIemNativeLabelType_LastTbExit        = kIemNativeLabelType_ReturnSuccess,
    539 #else
    540     kIemNativeLabelType_LastTbExit        = kIemNativeLabelType_Return,
    541 #endif
    542524
    543525    /** Loop-jump target. */
     
    579561
    580562
     563
    581564/** Native code generator fixup types.  */
    582565typedef enum
     
    612595typedef IEMNATIVEFIXUP *PIEMNATIVEFIXUP;
    613596
    614 #ifdef IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE
     597
    615598
    616599/** Native code generator fixup to per chunk TB tail code. */
     
    638621typedef const IEMNATIVEPERCHUNKCTX *PCIEMNATIVEPERCHUNKCTX;
    639622
    640 #endif /* IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE */
    641623
    642624
     
    16251607    PIEMNATIVEFIXUP             paFixups;
    16261608
    1627 #ifdef IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE
    16281609    /** Actual number of fixups in paTbExitFixups. */
    16291610    uint32_t                    cTbExitFixups;
     
    16321613    /** Buffer used by the recompiler for recording fixups when generating code. */
    16331614    PIEMNATIVEEXITFIXUP         paTbExitFixups;
    1634 #endif
    16351615
    16361616#if defined(IEMNATIVE_WITH_TB_DEBUG_INFO) || defined(VBOX_WITH_STATISTICS)
     
    18581838DECL_HIDDEN_THROW(void)     iemNativeAddFixup(PIEMRECOMPILERSTATE pReNative, uint32_t offWhere, uint32_t idxLabel,
    18591839                                              IEMNATIVEFIXUPTYPE enmType, int8_t offAddend = 0);
    1860 #ifdef IEMNATIVE_WITH_RECOMPILER_PER_CHUNK_TAIL_CODE
    1861 DECL_HIDDEN_THROW(void)     iemNativeAddTbExitFixup(PIEMRECOMPILERSTATE pReNative, uint32_t offWhere, IEMNATIVELABELTYPE enmExitReason);
    1862 #endif
     1840DECL_HIDDEN_THROW(void)     iemNativeAddTbExitFixup(PIEMRECOMPILERSTATE pReNative, uint32_t offWhere,
     1841                                                    IEMNATIVELABELTYPE enmExitReason);
    18631842DECL_HIDDEN_THROW(PIEMNATIVEINSTR) iemNativeInstrBufEnsureSlow(PIEMRECOMPILERSTATE pReNative, uint32_t off, uint32_t cInstrReq);
    18641843
Note: See TracChangeset for help on using the changeset viewer.

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