VirtualBox

Changeset 104209 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Apr 5, 2024 9:31:16 PM (10 months ago)
Author:
vboxsync
Message:

VMM/IEM: Refactoring assembly helpers to not pass eflags by reference but instead by value and return the updated value (via eax/w0) - fifth chunk: BLSI, BLSR, BLSMSK. bugref:10376

File:
1 edited

Legend:

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

    r104208 r104209  
    26012601FNIEMAIMPLBINU8 iemAImpl_xor_u8, iemAImpl_xor_u8_locked;
    26022602FNIEMAIMPLBINU8 iemAImpl_and_u8, iemAImpl_and_u8_locked;
    2603 
    2604 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLBINTODOU8, (uint8_t *pu8Dst, uint8_t u8Src, uint32_t *pEFlags));
    2605 typedef FNIEMAIMPLBINTODOU8 *PFNIEMAIMPLBINTODOU8;
    26062603/** @} */
    26072604
     
    26172614FNIEMAIMPLBINU16 iemAImpl_xor_u16, iemAImpl_xor_u16_locked;
    26182615FNIEMAIMPLBINU16 iemAImpl_and_u16, iemAImpl_and_u16_locked;
    2619 
    2620 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLBINTODOU16, (uint16_t *pu16Dst, uint16_t u16Src, uint32_t *pEFlags));
    2621 typedef FNIEMAIMPLBINTODOU16 *PFNIEMAIMPLBINTODOU16;
    26222616/** @}  */
    26232617
     
    26342628FNIEMAIMPLBINU32 iemAImpl_xor_u32, iemAImpl_xor_u32_locked;
    26352629FNIEMAIMPLBINU32 iemAImpl_and_u32, iemAImpl_and_u32_locked;
    2636 
    2637 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLBINTODOU32, (uint32_t *pu32Dst, uint32_t u32Src, uint32_t *pEFlags));
    2638 typedef FNIEMAIMPLBINTODOU32 *PFNIEMAIMPLBINTODOU32;
    2639 FNIEMAIMPLBINTODOU32 iemAImpl_blsi_u32, iemAImpl_blsi_u32_fallback;
    2640 FNIEMAIMPLBINTODOU32 iemAImpl_blsr_u32, iemAImpl_blsr_u32_fallback;
    2641 FNIEMAIMPLBINTODOU32 iemAImpl_blsmsk_u32, iemAImpl_blsmsk_u32_fallback;
     2630FNIEMAIMPLBINU32 iemAImpl_blsi_u32, iemAImpl_blsi_u32_fallback;
     2631FNIEMAIMPLBINU32 iemAImpl_blsr_u32, iemAImpl_blsr_u32_fallback;
     2632FNIEMAIMPLBINU32 iemAImpl_blsmsk_u32, iemAImpl_blsmsk_u32_fallback;
    26422633/** @}  */
    26432634
     
    26532644FNIEMAIMPLBINU64 iemAImpl_xor_u64, iemAImpl_xor_u64_locked;
    26542645FNIEMAIMPLBINU64 iemAImpl_and_u64, iemAImpl_and_u64_locked;
    2655 
    2656 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLBINTODOU64, (uint64_t *pu64Dst, uint64_t u64Src, uint32_t *pEFlags));
    2657 typedef FNIEMAIMPLBINTODOU64 *PFNIEMAIMPLBINTODOU64;
    2658 FNIEMAIMPLBINTODOU64 iemAImpl_blsi_u64, iemAImpl_blsi_u64_fallback;
    2659 FNIEMAIMPLBINTODOU64 iemAImpl_blsr_u64, iemAImpl_blsr_u64_fallback;
    2660 FNIEMAIMPLBINTODOU64 iemAImpl_blsmsk_u64, iemAImpl_blsmsk_u64_fallback;
     2646FNIEMAIMPLBINU64 iemAImpl_blsi_u64, iemAImpl_blsi_u64_fallback;
     2647FNIEMAIMPLBINU64 iemAImpl_blsr_u64, iemAImpl_blsr_u64_fallback;
     2648FNIEMAIMPLBINU64 iemAImpl_blsmsk_u64, iemAImpl_blsmsk_u64_fallback;
    26612649/** @}  */
    26622650
     
    39843972/** Pointer to a binary operator function table. */
    39853973typedef IEMOPBINSIZES const *PCIEMOPBINSIZES;
    3986 
    3987 
    3988 /**
    3989  * Function table for a binary operator providing implementation based on
    3990  * operand size.
    3991  */
    3992 typedef struct IEMOPBINTODOSIZES
    3993 {
    3994     PFNIEMAIMPLBINTODOU8  pfnNormalU8,    pfnLockedU8;
    3995     PFNIEMAIMPLBINTODOU16 pfnNormalU16,   pfnLockedU16;
    3996     PFNIEMAIMPLBINTODOU32 pfnNormalU32,   pfnLockedU32;
    3997     PFNIEMAIMPLBINTODOU64 pfnNormalU64,   pfnLockedU64;
    3998 } IEMOPBINTODOSIZES;
    3999 /** Pointer to a binary operator function table. */
    4000 typedef IEMOPBINTODOSIZES const *PCIEMOPBINTODOSIZES;
    40013974
    40023975
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