VirtualBox

Changeset 103876 in vbox


Ignore:
Timestamp:
Mar 16, 2024 2:11:04 AM (11 months ago)
Author:
vboxsync
Message:

VMM/IEM: Reverted silent assertion 'fix' from r162236 as it is wrong (explained this on IRC already). Removed the check of 'off' altogether as it is wrong even if someone defines the label early, say for the first instruction, other may still jump to it from the last instruction in the TB, so the same jump restrictions apply. bugref:10614 bugref:10370

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

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

    r103865 r103876  
    33553355#ifdef RT_ARCH_ARM64
    33563356    AssertStmt(   enmType != kIemNativeFixupType_RelImm14At5
    3357                || pReNative->paLabels[idxLabel].enmType >= kIemNativeLabelType_FirstWithMultipleInstances
    3358                || pReNative->paLabels[idxLabel].off == UINT32_MAX,
     3357               || pReNative->paLabels[idxLabel].enmType >= kIemNativeLabelType_LastWholeTbBranch,
    33593358               IEMNATIVE_DO_LONGJMP(pReNative, VERR_IEM_FIXUP_SHORT_JMP_TO_TAIL_LABEL));
    33603359#endif
  • trunk/src/VBox/VMM/include/IEMN8veRecompiler.h

    r103874 r103876  
    421421    kIemNativeLabelType_ReturnWithFlags,
    422422    kIemNativeLabelType_NonZeroRetOrPassUp,
     423    /** The last fixup for branches that can span almost the whole TB length. */
     424    kIemNativeLabelType_LastWholeTbBranch = kIemNativeLabelType_NonZeroRetOrPassUp,
    423425
    424426    /*
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