filename | src/sh4/sh4mem.c |
changeset | 905:4c17ebd9ef5e |
prev | 828:b42865f00fb5 |
next | 910:661367ef919d |
author | nkeynes |
date | Wed Oct 29 23:51:58 2008 +0000 (15 years ago) |
permissions | -rw-r--r-- |
last change | Use regparam calling conventions for all functions called from translated code, along with a few other high-use functions. Can probably extend this to all functions, but as it is this is a nice performance boost |
file | annotate | diff | log | raw |
1.1 --- a/src/sh4/sh4mem.c Mon Aug 25 09:15:42 2008 +00001.2 +++ b/src/sh4/sh4mem.c Wed Oct 29 23:51:58 2008 +00001.3 @@ -68,7 +68,7 @@1.4 extern struct mem_region mem_rgn[];1.5 extern struct mmio_region *P4_io[];1.7 -int32_t sh4_read_p4( sh4addr_t addr )1.8 +int32_t FASTCALL sh4_read_p4( sh4addr_t addr )1.9 {1.10 struct mmio_region *io = P4_io[(addr&0x1FFFFFFF)>>19];1.11 if( !io ) {1.12 @@ -96,7 +96,7 @@1.13 }1.14 }1.16 -void sh4_write_p4( sh4addr_t addr, int32_t val )1.17 +void FASTCALL sh4_write_p4( sh4addr_t addr, int32_t val )1.18 {1.19 struct mmio_region *io = P4_io[(addr&0x1FFFFFFF)>>19];1.20 if( !io ) {1.21 @@ -153,13 +153,13 @@1.22 /**1.23 * Convenience function to read a quad-word (implemented as two long reads).1.24 */1.25 -int64_t sh4_read_quad( sh4addr_t addr )1.26 +int64_t FASTCALL sh4_read_quad( sh4addr_t addr )1.27 {1.28 return ((int64_t)((uint32_t)sh4_read_long(addr))) |1.29 (((int64_t)((uint32_t)sh4_read_long(addr+4))) << 32);1.30 }1.32 -int32_t sh4_read_long( sh4addr_t addr )1.33 +int32_t FASTCALL sh4_read_long( sh4addr_t addr )1.34 {1.35 sh4ptr_t page;1.37 @@ -191,7 +191,7 @@1.38 }1.39 }1.41 -int32_t sh4_read_word( sh4addr_t addr )1.42 +int32_t FASTCALL sh4_read_word( sh4addr_t addr )1.43 {1.44 sh4ptr_t page;1.46 @@ -223,7 +223,7 @@1.47 }1.48 }1.50 -int32_t sh4_read_byte( sh4addr_t addr )1.51 +int32_t FASTCALL sh4_read_byte( sh4addr_t addr )1.52 {1.53 sh4ptr_t page;1.55 @@ -259,13 +259,13 @@1.56 /**1.57 * Convenience function to write a quad-word (implemented as two long writes).1.58 */1.59 -void sh4_write_quad( sh4addr_t addr, uint64_t val )1.60 +void FASTCALL sh4_write_quad( sh4addr_t addr, uint64_t val )1.61 {1.62 sh4_write_long( addr, (uint32_t)val );1.63 sh4_write_long( addr+4, (uint32_t)(val>>32) );1.64 }1.66 -void sh4_write_long( sh4addr_t addr, uint32_t val )1.67 +void FASTCALL sh4_write_long( sh4addr_t addr, uint32_t val )1.68 {1.69 sh4ptr_t page;1.71 @@ -311,7 +311,7 @@1.72 }1.73 }1.75 -void sh4_write_word( sh4addr_t addr, uint32_t val )1.76 +void FASTCALL sh4_write_word( sh4addr_t addr, uint32_t val )1.77 {1.78 sh4ptr_t page;1.80 @@ -351,7 +351,7 @@1.81 }1.82 }1.84 -void sh4_write_byte( sh4addr_t addr, uint32_t val )1.85 +void FASTCALL sh4_write_byte( sh4addr_t addr, uint32_t val )1.86 {1.87 sh4ptr_t page;
.