VirtualBox

Changeset 101706 in vbox


Ignore:
Timestamp:
Nov 2, 2023 12:29:00 AM (15 months ago)
Author:
vboxsync
Message:

VMM/IEM: Native translation for IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC64_WITH_FLAGS and all it's relative jump friends. bugref:10371

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllN8vePython.py

    r101704 r101706  
    8484    'IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC64':               (None, True,  True,  ),
    8585
    86     'IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC16_WITH_FLAGS':     (None, True,  False, ),
    87     'IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC32_WITH_FLAGS':     (None, True,  False, ),
    88     'IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC64_WITH_FLAGS':     (None, True,  False, ),
    89     'IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC16_WITH_FLAGS':    (None, True,  False, ),
    90     'IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC32_WITH_FLAGS':    (None, True,  False, ),
    91     'IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC64_WITH_FLAGS':    (None, True,  False, ),
    92     'IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC32_WITH_FLAGS':    (None, True,  False, ),
    93     'IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC64_WITH_FLAGS':    (None, True,  False, ),
     86    'IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC16_WITH_FLAGS':     (None, True,  True, ),
     87    'IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC32_WITH_FLAGS':     (None, True,  True, ),
     88    'IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC64_WITH_FLAGS':     (None, True,  True, ),
     89    'IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC16_WITH_FLAGS':    (None, True,  True, ),
     90    'IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC32_WITH_FLAGS':    (None, True,  True, ),
     91    'IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC64_WITH_FLAGS':    (None, True,  True, ),
     92    'IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC32_WITH_FLAGS':    (None, True,  True, ),
     93    'IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC64_WITH_FLAGS':    (None, True,  True, ),
    9494
    9595    'IEM_MC_STORE_GREG_U8_THREADED':                             (None, True,  False, ),
  • trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp

    r101704 r101706  
    39353935
    39363936#define IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC64_WITH_FLAGS(a_cbInstr) \
    3937     off = iemNativeEmitAddToRip64AndFinishingNoFlags(pReNative, off, (a_cbInstr)); \
     3937    IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC64(a_cbInstr); \
    39383938    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
    39393939
     
    39603960
    39613961#define IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC32_WITH_FLAGS(a_cbInstr) \
    3962     off = iemNativeEmitAddToEip32AndFinishingNoFlags(pReNative, off, (a_cbInstr)); \
     3962    IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC32(a_cbInstr); \
    39633963    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
    39643964
     
    39853985
    39863986#define IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC16_WITH_FLAGS(a_cbInstr) \
    3987     off = iemNativeEmitAddToIp16AndFinishingNoFlags(pReNative, off, (a_cbInstr)); \
     3987    IEM_MC_ADVANCE_RIP_AND_FINISH_THREADED_PC16(a_cbInstr); \
    39883988    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
    39893989
     
    40154015                                                            (a_enmEffOpSize), pCallEntry->idxInstr)
    40164016
     4017#define IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC64_WITH_FLAGS(a_i8, a_cbInstr, a_enmEffOpSize) \
     4018    IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC64(a_i8, a_cbInstr, a_enmEffOpSize); \
     4019    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
    40174020
    40184021#define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC64(a_i16, a_cbInstr) \
    4019     off =  iemNativeEmitRip64RelativeJumpAndFinishingNoFlags(pReNative, off, (a_cbInstr), (int16_t)(a_i16), \
    4020                                                              IEMMODE_16BIT, pCallEntry->idxInstr)
     4022    off = iemNativeEmitRip64RelativeJumpAndFinishingNoFlags(pReNative, off, (a_cbInstr), (int16_t)(a_i16), \
     4023                                                            IEMMODE_16BIT, pCallEntry->idxInstr)
     4024
     4025#define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC64_WITH_FLAGS(a_i16, a_cbInstr) \
     4026    IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC64(a_i16, a_cbInstr); \
     4027    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
    40214028
    40224029#define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC64(a_i32, a_cbInstr) \
    4023     off =  iemNativeEmitRip64RelativeJumpAndFinishingNoFlags(pReNative, off, (a_cbInstr), (a_i32), \
    4024                                                              IEMMODE_64BIT, pCallEntry->idxInstr)
     4030    off = iemNativeEmitRip64RelativeJumpAndFinishingNoFlags(pReNative, off, (a_cbInstr), (a_i32), \
     4031                                                            IEMMODE_64BIT, pCallEntry->idxInstr)
     4032
     4033#define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC64_WITH_FLAGS(a_i32, a_cbInstr) \
     4034    IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC64(a_i32, a_cbInstr); \
     4035    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
    40254036
    40264037/** Same as iemRegRip64RelativeJumpS8AndFinishNoFlags,
     
    40664077                                                            (a_enmEffOpSize), pCallEntry->idxInstr)
    40674078
     4079#define IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC32_WITH_FLAGS(a_i8, a_cbInstr, a_enmEffOpSize) \
     4080    IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC32(a_i8, a_cbInstr, a_enmEffOpSize); \
     4081    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
     4082
    40684083#define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC32(a_i16, a_cbInstr) \
    40694084    off = iemNativeEmitEip32RelativeJumpAndFinishingNoFlags(pReNative, off, (a_cbInstr), (int16_t)(a_i16), \
    40704085                                                            IEMMODE_16BIT, pCallEntry->idxInstr)
    40714086
     4087#define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC32_WITH_FLAGS(a_i16, a_cbInstr) \
     4088    IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC32(a_i16, a_cbInstr); \
     4089    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
     4090
    40724091#define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC32(a_i32, a_cbInstr) \
    40734092    off = iemNativeEmitEip32RelativeJumpAndFinishingNoFlags(pReNative, off, (a_cbInstr), (a_i32), \
    40744093                                                            IEMMODE_32BIT, pCallEntry->idxInstr)
     4094
     4095#define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC32_WITH_FLAGS(a_i32, a_cbInstr) \
     4096    IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC32(a_i32, a_cbInstr); \
     4097    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
    40754098
    40764099/** Same as iemRegEip32RelativeJumpS8AndFinishNoFlags,
     
    41114134    off = iemNativeEmitIp16RelativeJumpAndFinishingNoFlags(pReNative, off, (a_cbInstr), (int8_t)(a_i8), pCallEntry->idxInstr)
    41124135
     4136#define IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC16_WITH_FLAGS(a_i8, a_cbInstr) \
     4137    IEM_MC_REL_JMP_S8_AND_FINISH_THREADED_PC16(a_i8, a_cbInstr); \
     4138    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
     4139
    41134140#define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC16(a_i16, a_cbInstr) \
    41144141    off = iemNativeEmitIp16RelativeJumpAndFinishingNoFlags(pReNative, off, (a_cbInstr), (int16_t)(a_i16), pCallEntry->idxInstr)
    41154142
     4143#define IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC16_WITH_FLAGS(a_i16, a_cbInstr) \
     4144    IEM_MC_REL_JMP_S16_AND_FINISH_THREADED_PC16(a_i16, a_cbInstr); \
     4145    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
     4146
    41164147#define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC16(a_i32, a_cbInstr) \
    41174148    off = iemNativeEmitIp16RelativeJumpAndFinishingNoFlags(pReNative, off, (a_cbInstr), (a_i32), pCallEntry->idxInstr)
     4149
     4150#define IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC16_WITH_FLAGS(a_i32, a_cbInstr) \
     4151    IEM_MC_REL_JMP_S32_AND_FINISH_THREADED_PC16(a_i32, a_cbInstr); \
     4152    off = iemNativeEmitFinishInstructionFlagsCheck(pReNative, off)
    41184153
    41194154/** Same as iemRegIp16RelativeJumpS8AndFinishNoFlags. */
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