Search
lxdream.org :: lxdream/src/sh4/xltcache.h :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/xltcache.h
changeset 901:32c5cf5e206f
prev809:8bdbf4d95da4
next905:4c17ebd9ef5e
author nkeynes
date Sun Oct 26 02:28:29 2008 +0000 (11 years ago)
permissions -rw-r--r--
last change Move the precision/size tests to translation-time rather than execution-time,
and flush/retranslate on a mismatch. Shaves a few percent off the core runtime
file annotate diff log raw
1.1 --- a/src/sh4/xltcache.h Sat Aug 09 10:48:03 2008 +0000
1.2 +++ b/src/sh4/xltcache.h Sun Oct 26 02:28:29 2008 +0000
1.3 @@ -41,6 +41,7 @@
1.4 int active; /* 0 = deleted, 1 = normal. 2 = accessed (temp-space only) */
1.5 uint32_t size;
1.6 void **lut_entry; /* For deletion */
1.7 + uint32_t fpscr_mask, fpscr; /* fpscr condition check */
1.8 uint32_t recover_table_offset; // Offset from code[0] of the recovery table;
1.9 uint32_t recover_table_size;
1.10 unsigned char code[0];
1.11 @@ -48,6 +49,11 @@
1.12
1.13 typedef struct xlat_cache_block *xlat_cache_block_t;
1.14
1.15 +#define XLAT_BLOCK_FOR_CODE(code) (((xlat_cache_block_t)code)-1)
1.16 +
1.17 +#define XLAT_BLOCK_FPSCR_MASK(code) (XLAT_BLOCK_FOR_CODE(code)->fpscr_mask)
1.18 +#define XLAT_BLOCK_FPSCR(code) (XLAT_BLOCK_FOR_CODE(code)->fpscr_mask)
1.19 +
1.20 /**
1.21 * Initialize the translation cache
1.22 */
.