VirtualBox

Changeset 5490 in vbox


Ignore:
Timestamp:
Oct 25, 2007 1:45:46 AM (17 years ago)
Author:
vboxsync
Message:

Converted gcc ASMMultU64ByU32DivByU32 inline code to nasm in order to speed up the MSC builds (yes, it makes a noticable difference for TSC).

Location:
trunk
Files:
2 added
1 deleted
3 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/asm.h

    r5233 r5490  
    29452945 * @param   u32C    The 32-bit value to divide A*B by.
    29462946 */
    2947 #if RT_INLINE_ASM_EXTERNAL
     2947#if RT_INLINE_ASM_EXTERNAL || !defined(__GNUC__)
    29482948DECLASM(uint64_t) ASMMultU64ByU32DivByU32(uint64_t u64A, uint32_t u32B, uint32_t u32C);
    29492949#else
  • trunk/src/VBox/Runtime/Makefile.kmk

    r5464 r5490  
    103103        win/amd64/ASMGetDR6.asm \
    104104        win/amd64/ASMGetDR7.asm \
    105         win/amd64/ASMMultU64ByU32DivByU32.asm \
     105        common/asm/ASMMultU64ByU32DivByU32.asm
     106
     107#
     108# Win32 assembly sources.
     109#
     110RuntimeWin32ASM_SOURCES = \
     111        common/asm/ASMMultU64ByU32DivByU32.asm
    106112
    107113#
     
    269275        win/RTErrConvertFromWin32.cpp
    270276
    271 RuntimeR3_SOURCES.win.amd64 = \
    272         $(RuntimeWin64ASM_SOURCES)
     277RuntimeR3_SOURCES.win.amd64 = $(RuntimeWin64ASM_SOURCES)
     278RuntimeR3_SOURCES.win.x86   = $(RuntimeWin32ASM_SOURCES)
    273279
    274280RuntimeR3_SOURCES.linux = \
     
    534540VBoxRT_SOURCES.$(BUILD_TARGET).$(BUILD_TARGET_ARCH) = $(RuntimeR3_SOURCES.$(BUILD_TARGET).$(BUILD_TARGET_ARCH))
    535541VBoxRT_SOURCES.win            += r3/win/dllmain-win.cpp
     542VBoxRT_SOURCES.win.x86        += r3/win/VBoxRT-win32.def
    536543VBoxRT_SOURCES.win.amd64      += r3/win/VBoxRT-win64.def
    537544VBoxRT_INCS                    = $(RuntimeR3_INCS)
     
    687694
    688695RuntimeR0_SOURCES.win.amd64 = $(RuntimeWin64ASM_SOURCES)
     696RuntimeR0_SOURCES.win.x86   = $(RuntimeWin32ASM_SOURCES)
    689697
    690698RuntimeR0_SOURCES.os2 = \
     
    803811## @todo timer-r0drv-nt.cpp and assert-r0drv-nt.cpp
    804812
    805 RuntimeR0Drv_SOURCES.win.amd64 = \
    806         $(RuntimeWin64ASM_SOURCES)
     813RuntimeR0Drv_SOURCES.win.amd64 = $(RuntimeWin64ASM_SOURCES)
     814RuntimeR0Drv_SOURCES.win.x86   = $(RuntimeWin32ASM_SOURCES)
    807815
    808816RuntimeR0Drv_SOURCES.darwin = \
     
    10161024#endif
    10171025
     1026RuntimeGC_SOURCES.win.x86 = $(RuntimeWin32ASM_SOURCES)
     1027
    10181028ifeq ($(VBOX_LDR_FMT32),lx)
    10191029 RuntimeGC_SOURCES += os2/sys0.asm
  • trunk/src/VBox/Runtime/r3/win/VBoxRT-win32.def

    r5463 r5490  
     1; $Id: $
    12;; @file
    2 ; Innotek Portable Runtime - Win64 ASM exports.
     3; innotek Portable Runtime - Win32 ASM exports.
    34;
    45
     6;
    57;  Copyright (C) 2006-2007 innotek GmbH
    6 ; 
     8;
    79;  This file is part of VirtualBox Open Source Edition (OSE), as
    810;  available from http://www.virtualbox.org. This file is free software;
     
    1214;  distribution. VirtualBox OSE is distributed in the hope that it will
    1315;  be useful, but WITHOUT ANY WARRANTY of any kind.
     16;
    1417
    1518EXPORTS
    16     ASMAtomicBitClear
    17     ASMAtomicBitToggle
    18     ASMAtomicBitTestAndToggle
    19     ASMBitFirstClear
    20     ASMBitFirstSet
    21     ASMAtomicReadU64
    22     ASMAtomicXchgU8
    23     ASMAtomicXchgU16
    24     ASMGetFlags
    25     ASMProbeReadByte
    26     ASMSetFlags
    2719    ASMMultU64ByU32DivByU32
    2820
     21    RTTimeNanoTSLegacySync
     22    RTTimeNanoTSLegacyAsync
     23    RTTimeNanoTSLFenceSync
     24    RTTimeNanoTSLFenceAsync
     25
  • trunk/src/VBox/Runtime/r3/win/VBoxRT-win64.def

    r5427 r5490  
     1; $Id: $
    12;; @file
    2 ; Innotek Portable Runtime - Win64 ASM exports.
     3; innotek Portable Runtime - Win64 ASM exports.
    34;
    45
     6;
    57;  Copyright (C) 2006-2007 innotek GmbH
    6 ; 
     8;
    79;  This file is part of VirtualBox Open Source Edition (OSE), as
    810;  available from http://www.virtualbox.org. This file is free software;
     
    1214;  distribution. VirtualBox OSE is distributed in the hope that it will
    1315;  be useful, but WITHOUT ANY WARRANTY of any kind.
     16;
    1417
    1518EXPORTS
     
    2730    ASMMultU64ByU32DivByU32
    2831
     32    RTTimeNanoTSLegacySync
     33    RTTimeNanoTSLegacyAsync
     34    RTTimeNanoTSLFenceSync
     35    RTTimeNanoTSLFenceAsync
     36
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