| struct tpa_state *state; |
struct tpa_state *state; |
| } *tpa_state_table[TPA_SIZE]; |
} *tpa_state_table[TPA_SIZE]; |
| |
|
| |
#if !(defined(DOUBLY_INDIRECT) || defined(INDIRECT_THREADED)) |
| static Cell hash_tpa_state(struct tpa_state *t) |
static Cell hash_tpa_state(struct tpa_state *t) |
| { |
{ |
| int *ti = (int *)(t->inst); |
int *ti = (int *)(t->inst); |
| return (r+(r>>14)+(r>>22)) & (TPA_SIZE-1); |
return (r+(r>>14)+(r>>22)) & (TPA_SIZE-1); |
| } |
} |
| |
|
| #if !(defined(DOUBLY_INDIRECT) || defined(INDIRECT_THREADED)) |
|
| static struct tpa_state *lookup_tpa_state(struct tpa_state *t) |
static struct tpa_state *lookup_tpa_state(struct tpa_state *t) |
| { |
{ |
| Cell hash = hash_tpa_state(t); |
Cell hash = hash_tpa_state(t); |