Add generic single-step-display for vvp_gen_event_s objects.

This gives a little bit more specificity to the event step
display.
This commit is contained in:
Stephen Williams 2010-01-06 21:40:26 -08:00
parent dda197e39b
commit 5533252cc1
2 changed files with 18 additions and 0 deletions

View File

@ -94,6 +94,11 @@ vvp_gen_event_s::~vvp_gen_event_s()
{
}
void vvp_gen_event_s::single_step_display(void)
{
cerr << "vvp_gen_event_s: Step into event " << typeid(*this).name() << endl;
}
/*
* Derived event types
*/
@ -326,6 +331,7 @@ struct propagate_vector4_event_s : public event_s {
vvp_vector4_t val;
/* Action */
void run_run(void);
void single_step_display(void);
};
void propagate_vector4_event_s::run_run(void)
@ -333,6 +339,11 @@ void propagate_vector4_event_s::run_run(void)
net->send_vec4(val, 0);
}
void propagate_vector4_event_s::single_step_display(void)
{
cerr << "propagate_vector4_event: Propagate val=" << val << endl;
}
struct assign_array_r_word_s : public event_s {
vvp_array_t mem;
unsigned adr;
@ -368,6 +379,7 @@ struct generic_event_s : public event_s {
vvp_gen_event_t obj;
bool delete_obj_when_done;
void run_run(void);
void single_step_display(void);
static void* operator new(size_t);
static void operator delete(void*);
@ -383,6 +395,11 @@ void generic_event_s::run_run(void)
}
}
void generic_event_s::single_step_display(void)
{
obj->single_step_display();
}
static const size_t GENERIC_CHUNK_COUNT = 131072 / sizeof(struct generic_event_s);
static slab_t<sizeof(generic_event_s),GENERIC_CHUNK_COUNT> generic_event_heap;

View File

@ -125,6 +125,7 @@ struct vvp_gen_event_s
{
virtual ~vvp_gen_event_s() =0;
virtual void run_run() =0;
virtual void single_step_display(void);
};
/*