Changeset 106179 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Sep 29, 2024 1:14:19 AM (2 months ago)
- Location:
- trunk/src/VBox/VMM/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/IEMInternal.h
r106125 r106179 2366 2366 /** Native recompiler: Number of times status flags calc has been skipped. */ 2367 2367 STAMCOUNTER StatNativeEflSkippedArithmetic; 2368 /** Native recompiler: Number of times status flags calc has been postponed. */ 2369 STAMCOUNTER StatNativeEflPostponedArithmetic; 2368 2370 /** Native recompiler: Total number instructions in this category. */ 2369 2371 STAMCOUNTER StatNativeEflTotalArithmetic; … … 2371 2373 /** Native recompiler: Number of times status flags calc has been skipped. */ 2372 2374 STAMCOUNTER StatNativeEflSkippedLogical; 2375 /** Native recompiler: Number of times status flags calc has been postponed. */ 2376 STAMCOUNTER StatNativeEflPostponedLogical; 2373 2377 /** Native recompiler: Total number instructions in this category. */ 2374 2378 STAMCOUNTER StatNativeEflTotalLogical; … … 2376 2380 /** Native recompiler: Number of times status flags calc has been skipped. */ 2377 2381 STAMCOUNTER StatNativeEflSkippedShift; 2382 /** Native recompiler: Number of times status flags calc has been postponed. */ 2383 STAMCOUNTER StatNativeEflPostponedShift; 2378 2384 /** Native recompiler: Total number instructions in this category. */ 2379 2385 STAMCOUNTER StatNativeEflTotalShift; … … 2550 2556 2551 2557 #ifdef IEM_WITH_TLB_TRACE 2552 //uint64_t au64Padding[0];2558 uint64_t au64Padding[5]; 2553 2559 #else 2554 uint64_t au64Padding[ 2];2560 uint64_t au64Padding[7]; 2555 2561 #endif 2556 2562 … … 3538 3544 /** @name Multiplication and division operations. 3539 3545 * @{ */ 3540 typedef IEM_DECL_IMPL_TYPE( int, FNIEMAIMPLMULDIVU8,(uint16_t *pu16AX, uint8_t u8FactorDivisor, uint32_t *pEFlags));3546 typedef IEM_DECL_IMPL_TYPE(uint32_t, FNIEMAIMPLMULDIVU8,(uint16_t *pu16AX, uint8_t u8FactorDivisor, uint32_t fEFlags)); 3541 3547 typedef FNIEMAIMPLMULDIVU8 *PFNIEMAIMPLMULDIVU8; 3542 3548 FNIEMAIMPLMULDIVU8 iemAImpl_mul_u8, iemAImpl_mul_u8_amd, iemAImpl_mul_u8_intel; … … 3545 3551 FNIEMAIMPLMULDIVU8 iemAImpl_idiv_u8, iemAImpl_idiv_u8_amd, iemAImpl_idiv_u8_intel; 3546 3552 3547 typedef IEM_DECL_IMPL_TYPE( int, FNIEMAIMPLMULDIVU16,(uint16_t *pu16AX, uint16_t *pu16DX, uint16_t u16FactorDivisor, uint32_t *pEFlags));3553 typedef IEM_DECL_IMPL_TYPE(uint32_t, FNIEMAIMPLMULDIVU16,(uint16_t *pu16AX, uint16_t *pu16DX, uint16_t u16FactorDivisor, uint32_t fEFlags)); 3548 3554 typedef FNIEMAIMPLMULDIVU16 *PFNIEMAIMPLMULDIVU16; 3549 3555 FNIEMAIMPLMULDIVU16 iemAImpl_mul_u16, iemAImpl_mul_u16_amd, iemAImpl_mul_u16_intel; … … 3552 3558 FNIEMAIMPLMULDIVU16 iemAImpl_idiv_u16, iemAImpl_idiv_u16_amd, iemAImpl_idiv_u16_intel; 3553 3559 3554 typedef IEM_DECL_IMPL_TYPE( int, FNIEMAIMPLMULDIVU32,(uint32_t *pu32EAX, uint32_t *pu32EDX, uint32_t u32FactorDivisor, uint32_t *pEFlags));3560 typedef IEM_DECL_IMPL_TYPE(uint32_t, FNIEMAIMPLMULDIVU32,(uint32_t *pu32EAX, uint32_t *pu32EDX, uint32_t u32FactorDivisor, uint32_t fEFlags)); 3555 3561 typedef FNIEMAIMPLMULDIVU32 *PFNIEMAIMPLMULDIVU32; 3556 3562 FNIEMAIMPLMULDIVU32 iemAImpl_mul_u32, iemAImpl_mul_u32_amd, iemAImpl_mul_u32_intel; … … 3559 3565 FNIEMAIMPLMULDIVU32 iemAImpl_idiv_u32, iemAImpl_idiv_u32_amd, iemAImpl_idiv_u32_intel; 3560 3566 3561 typedef IEM_DECL_IMPL_TYPE( int, FNIEMAIMPLMULDIVU64,(uint64_t *pu64RAX, uint64_t *pu64RDX, uint64_t u64FactorDivisor, uint32_t *pEFlags));3567 typedef IEM_DECL_IMPL_TYPE(uint32_t, FNIEMAIMPLMULDIVU64,(uint64_t *pu64RAX, uint64_t *pu64RDX, uint64_t u64FactorDivisor, uint32_t fEFlags)); 3562 3568 typedef FNIEMAIMPLMULDIVU64 *PFNIEMAIMPLMULDIVU64; 3563 3569 FNIEMAIMPLMULDIVU64 iemAImpl_mul_u64, iemAImpl_mul_u64_amd, iemAImpl_mul_u64_intel; -
trunk/src/VBox/VMM/include/IEMMc.h
r106097 r106179 109 109 110 110 111 #define IEM_MC_RAISE_DIVIDE_ERROR() return iemRaiseDivideError(pVCpu) 111 #define IEM_MC_RAISE_DIVIDE_ERROR_IF_LOCAL_IS_ZERO(a_uVar) \ 112 do { \ 113 if (RT_LIKELY((a_uVar) != 0)) \ 114 { /* probable */ } \ 115 else return iemRaiseDivideError(pVCpu); \ 116 } while (0) 112 117 #define IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE() \ 113 118 do { \
Note:
See TracChangeset
for help on using the changeset viewer.