* cpu.h (reset_decoder): Declare.

* load.c (rx_load): Call `reset_decoder'.
	* rx.c (reset_decoder): New function.
This commit is contained in:
Kevin Buettner 2010-09-23 23:42:53 +00:00
parent 6607c80d6b
commit be380a3ea0
4 changed files with 15 additions and 0 deletions

View File

@ -4,6 +4,10 @@
* rx.c (decode_opcode): Declare `rx' as unsigned.
* cpu.h (reset_decoder): Declare.
* load.c (rx_load): Call `reset_decoder'.
* rx.c (reset_decoder): New function.
2010-07-29 DJ Delorie <dj@redhat.com>
* rx.c (decode_cache_base): New.

View File

@ -235,6 +235,7 @@ extern unsigned int heaptop;
extern unsigned int heapbottom;
extern int decode_opcode (void);
extern void reset_decoder (void);
extern void reset_pipeline_stats (void);
extern void halt_pipeline_stats (void);
extern void pipeline_stats (void);

View File

@ -142,6 +142,8 @@ rx_load (bfd *prog)
heaptop = heapbottom = 0;
}
reset_decoder ();
if (verbose > 1)
fprintf (stderr, "[start pc=%08x %s]\n",
(unsigned int) regs.r_pc,

View File

@ -298,6 +298,14 @@ static unsigned char *get_byte_base;
static RX_Opcode_Decoded **decode_cache_base;
static SI get_byte_page;
void
reset_decoder (void)
{
get_byte_base = 0;
decode_cache_base = 0;
get_byte_page = 0;
}
static inline void
maybe_get_mem_page (SI tpc)
{