filename | src/sh4/xltcache.h |
changeset | 901:32c5cf5e206f |
prev | 809:8bdbf4d95da4 |
next | 905:4c17ebd9ef5e |
author | nkeynes |
date | Sun Oct 26 02:28:29 2008 +0000 (15 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 +00001.2 +++ b/src/sh4/xltcache.h Sun Oct 26 02:28:29 2008 +00001.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.13 typedef struct xlat_cache_block *xlat_cache_block_t;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 cache1.22 */
.