VirtualBox

Changeset 5490

Show
Ignore:
Timestamp:
10/25/07 03:45:46 (1 year 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).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 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

    r5427 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 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy