Return address handling. Not happy with the design, but it (sorta) works.

This commit is contained in:
Ben Vanik
2013-12-08 13:58:57 -08:00
parent dc0848f7ba
commit 2549292a57
13 changed files with 60 additions and 22 deletions

View File

@@ -34,10 +34,10 @@ public:
Type type() const { return type_; }
uint64_t address() const { return address_; }
int Call(ThreadState* thread_state);
int Call(ThreadState* thread_state, uint64_t return_address);
protected:
virtual int CallImpl(ThreadState* thread_state) = 0;
virtual int CallImpl(ThreadState* thread_state, uint64_t return_address) = 0;
protected:
Type type_;
@@ -57,7 +57,7 @@ public:
void* arg1() const { return arg1_; }
protected:
virtual int CallImpl(ThreadState* thread_state);
virtual int CallImpl(ThreadState* thread_state, uint64_t return_address);
protected:
Handler handler_;