filename | src/xlat/x86/ia32abi.h |
changeset | 1146:76c5d1064262 |
prev | 1125:9dd5dee45db9 |
next | 1292:799fdd4f704a |
author | nkeynes |
date | Tue Nov 29 17:11:40 2011 +1000 (12 years ago) |
permissions | -rw-r--r-- |
last change | Add support for block linking when the block target is fixed. Only a small (~3% improvement) so far. |
file | annotate | diff | log | raw |
1.1 --- a/src/xlat/x86/ia32abi.h Mon Sep 13 10:13:42 2010 +10001.2 +++ b/src/xlat/x86/ia32abi.h Tue Nov 29 17:11:40 2011 +10001.3 @@ -44,6 +44,8 @@1.4 }1.6 #ifdef HAVE_FASTCALL1.7 +#define CALL1_PTR_MIN_SIZE 71.8 +1.9 static inline void CALL1_ptr_r32( void *ptr, int arg1 )1.10 {1.11 if( arg1 != REG_ARG1 ) {1.12 @@ -85,7 +87,10 @@1.13 #define CALL3_r32disp_r32_r32_r32(preg,disp,arg1,arg2,arg3) CALL2_r32disp_r32_r32(preg,disp,arg1,arg2)1.15 #else1.16 -static inline void CALL1_ptr( void *ptr, int arg1 )1.17 +1.18 +#define CALL1_PTR_MIN_SIZE (3+1+7+3)1.19 +1.20 +static inline void CALL1_ptr_r32( void *ptr, int arg1 )1.21 {1.22 SUBL_imms_r32( 12, REG_ESP );1.23 PUSH_r32(arg1);1.24 @@ -125,7 +130,7 @@1.25 PUSH_r32(arg2);1.26 PUSH_r32(arg1);1.27 MOVL_rspdisp_r32( 16, REG_EAX );1.28 - MOVL_r32_rspdisp( R_EAX, 8 );1.29 + MOVL_r32_rspdisp( REG_EAX, 8 );1.30 CALL_r32disp(preg,disp);1.31 ADDL_imms_r32( 16, REG_ESP );1.32 }
.