arch: Use const StaticInstPtr references where possible

This patch optimises the passing of StaticInstPtr by avoiding copying
the reference-counting pointer. This avoids first incrementing and
then decrementing the reference-counting pointer.
This commit is contained in:
Andreas Hansson
2014-09-27 09:08:36 -04:00
parent deb2200671
commit 341dbf2662
47 changed files with 194 additions and 191 deletions

View File

@@ -76,7 +76,7 @@ class StackTrace
public:
StackTrace();
StackTrace(ThreadContext *tc, StaticInstPtr inst);
StackTrace(ThreadContext *tc, const StaticInstPtr &inst);
~StackTrace();
void
@@ -87,7 +87,7 @@ class StackTrace
}
bool valid() const { return tc != NULL; }
bool trace(ThreadContext *tc, StaticInstPtr inst);
bool trace(ThreadContext *tc, const StaticInstPtr &inst);
public:
const std::vector<Addr> &getstack() const { return stack; }
@@ -111,7 +111,7 @@ class StackTrace
};
inline bool
StackTrace::trace(ThreadContext *tc, StaticInstPtr inst)
StackTrace::trace(ThreadContext *tc, const StaticInstPtr &inst)
{
if (!inst->isCall() && !inst->isReturn())
return false;