Changeset 102684 in vbox
- Timestamp:
- Dec 21, 2023 9:36:01 PM (10 months ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
-
VMMAll/IEMAllN8veRecompiler.cpp (modified) (4 diffs)
-
VMMAll/IEMAllThrdRecompiler.cpp (modified) (1 diff)
-
include/IEMN8veRecompiler.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp
r102663 r102684 4023 4023 */ 4024 4024 DECL_HIDDEN_THROW(uint32_t) 4025 iemNativeRegMoveAndFreeAndFlushAtCall(PIEMRECOMPILERSTATE pReNative, uint32_t off, uint8_t cArgs, uint32_t fKeepVars = 0)4025 iemNativeRegMoveAndFreeAndFlushAtCall(PIEMRECOMPILERSTATE pReNative, uint32_t off, uint8_t cArgs, uint32_t fKeepVars /*= 0*/) 4026 4026 { 4027 4027 Assert(cArgs <= IEMNATIVE_CALL_MAX_ARG_COUNT); … … 4786 4786 * Emits a call to a threaded worker function. 4787 4787 */ 4788 static uint32_t iemNativeEmitThreadedCall(PIEMRECOMPILERSTATE pReNative, uint32_t off, PCIEMTHRDEDCALLENTRY pCallEntry) 4788 DECL_HIDDEN_THROW(uint32_t) 4789 iemNativeEmitThreadedCall(PIEMRECOMPILERSTATE pReNative, uint32_t off, PCIEMTHRDEDCALLENTRY pCallEntry) 4789 4790 { 4790 4791 iemNativeRegFlushGuestShadows(pReNative, UINT64_MAX); /** @todo optimize this */ … … 8230 8231 else if (idxGstTmpReg < 4 && idxVarReg < 4) 8231 8232 { 8232 /** @todo test this. */8233 8233 uint8_t * const pbCodeBuf = iemNativeInstrBufEnsure(pReNative, off, 2+1); 8234 8234 pbCodeBuf[off++] = 0x8a; … … 8248 8248 if (idxGstTmpReg >= 8 || idxVarReg >= 8) 8249 8249 pbCodeBuf[off++] = (idxGstTmpReg >= 8 ? X86_OP_REX_R : 0) | (idxVarReg >= 8 ? X86_OP_REX_B : 0); 8250 else if (idxGstTmpReg >= 4 )8250 else if (idxGstTmpReg >= 4 || idxVarReg >= 4) 8251 8251 pbCodeBuf[off++] = X86_OP_REX; 8252 8252 pbCodeBuf[off++] = 0x8a; -
trunk/src/VBox/VMM/VMMAll/IEMAllThrdRecompiler.cpp
r102663 r102684 2364 2364 2365 2365 #if defined(LOG_ENABLED) && 0 /* for debugging */ 2366 iemThreadedCompileEmitNop(pTb);2366 //iemThreadedCompileEmitNop(pTb); 2367 2367 iemThreadedCompileEmitLogCpuState(pTb); 2368 2368 #endif -
trunk/src/VBox/VMM/include/IEMN8veRecompiler.h
r102663 r102684 827 827 DECLHIDDEN(void) iemNativeRegFreeAndFlushMask(PIEMRECOMPILERSTATE pReNative, uint32_t fHstRegMask) RT_NOEXCEPT; 828 828 DECL_HIDDEN_THROW(uint32_t) iemNativeRegFlushPendingWrites(PIEMRECOMPILERSTATE pReNative, uint32_t off); 829 DECL_HIDDEN_THROW(uint32_t) iemNativeRegMoveAndFreeAndFlushAtCall(PIEMRECOMPILERSTATE pReNative, uint32_t off, uint8_t cArgs, 830 uint32_t fKeepVars = 0); 831 DECLHIDDEN(void) iemNativeRegFlushGuestShadows(PIEMRECOMPILERSTATE pReNative, uint64_t fGstRegs) RT_NOEXCEPT; 829 832 830 833 DECL_HIDDEN_THROW(uint8_t) iemNativeVarGetStackSlot(PIEMRECOMPILERSTATE pReNative, uint8_t idxVar); 831 834 DECL_HIDDEN_THROW(uint8_t) iemNativeVarRegisterAcquireForGuestReg(PIEMRECOMPILERSTATE pReNative, uint8_t idxVar, 832 835 IEMNATIVEGSTREG enmGstReg, uint32_t *poff); 836 833 837 834 838 DECL_HIDDEN_THROW(uint32_t) iemNativeEmitLoadGprWithGstShadowReg(PIEMRECOMPILERSTATE pReNative, uint32_t off, … … 838 842 uint64_t fGstShwFlush, uintptr_t pfnCImpl, uint8_t cbInstr, uint8_t cAddParams, 839 843 uint64_t uParam0, uint64_t uParam1, uint64_t uParam2); 844 DECL_HIDDEN_THROW(uint32_t) iemNativeEmitThreadedCall(PIEMRECOMPILERSTATE pReNative, uint32_t off, 845 PCIEMTHRDEDCALLENTRY pCallEntry); 840 846 841 847 IEM_DECL_IEMNATIVERECOMPFUNC_PROTO(iemNativeRecompFunc_BltIn_Nop);
Note:
See TracChangeset
for help on using the changeset viewer.

