Changeset 38026 in vbox
- Timestamp:
- Jul 18, 2011 3:02:15 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r38025 r38026 32 32 ; 33 33 %macro RET_FASTCALL 1 34 %ifdef RT_ARCH_X86 35 %ifdef RT_OS_WINDOWS 34 %ifdef RT_ARCH_X86 35 %ifdef RT_OS_WINDOWS 36 36 ret %1 37 37 %else 38 38 ret 39 %endif 39 %endif 40 40 %else 41 41 ret … … 46 46 ; NAME for fastcall functions. 47 47 ; 48 ;; @todo 'global @fastcall@12' is still broken in yasm and requires dollar 48 ;; @todo 'global @fastcall@12' is still broken in yasm and requires dollar 49 49 ; escaping (or whatever the dollar is good for here). Thus the ugly 50 50 ; prefix argument. … … 52 52 %define NAME_FASTCALL(a_Name, a_cbArgs, a_Dollar) NAME(a_Name) 53 53 %ifdef RT_ARCH_X86 54 %ifdef RT_OS_WINDOWS 54 %ifdef RT_OS_WINDOWS 55 55 %undef NAME_FASTCALL 56 56 %define NAME_FASTCALL(a_Name, a_cbArgs, a_Prefix) a_Prefix %+ a_Name %+ @ %+ a_cbArgs 57 %endif 57 %endif 58 58 %endif 59 59 … … 86 86 %macro PROLOGUE_1_ARGS 0 87 87 %endmacro 88 %macro EPILOGUE_1_ARGS 0 89 %endmacro 88 %macro EPILOGUE_1_ARGS 1 89 ret 90 %endmacro 91 90 92 %macro PROLOGUE_2_ARGS 0 91 93 %endmacro 92 %macro EPILOGUE_2_ARGS 0 93 %endmacro 94 %macro EPILOGUE_2_ARGS 1 95 ret 96 %endmacro 97 94 98 %macro PROLOGUE_3_ARGS 0 95 99 %endmacro 96 %macro EPILOGUE_3_ARGS 0 97 %endmacro 100 %macro EPILOGUE_3_ARGS 1 101 ret 102 %endmacro 103 98 104 %macro PROLOGUE_4_ARGS 0 99 105 %endmacro 100 %macro EPILOGUE_4_ARGS 0 106 %macro EPILOGUE_4_ARGS 1 107 ret 101 108 %endmacro 102 109 … … 160 167 %macro EPILOGUE_1_ARGS 1 161 168 pop edi 162 RET_FASTCALL%1169 ret %1 163 170 %endmacro 164 171 … … 168 175 %macro EPILOGUE_2_ARGS 1 169 176 pop edi 170 RET_FASTCALL%1177 ret %1 171 178 %endmacro 172 179 … … 179 186 pop edi 180 187 pop ebx 181 RET_FASTCALL%1188 ret %1 182 189 %endmacro 183 190 … … 193 200 pop edi 194 201 pop ebx 195 RET_FASTCALL%1202 ret %1 196 203 %endmacro 197 204 … … 1139 1146 .return: 1140 1147 EPILOGUE_4_ARGS 8 1141 1148 1142 1149 .div_zero: 1143 1150 mov eax, -1 … … 1210 1217 .return: 1211 1218 EPILOGUE_4_ARGS 12 1212 1219 1213 1220 .div_zero: 1214 1221 mov eax, -1
Note:
See TracChangeset
for help on using the changeset viewer.