summaryrefslogtreecommitdiff
path: root/src/mem/port_proxy.hh
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-05-01 20:16:56 -0700
committerGabe Black <gabeblack@google.com>2019-05-29 04:23:55 +0000
commit1a631bd79bdcf2d66d845f79758e16e3ec9d7a7f (patch)
tree2627b9c5afa53eaf6034dd0eb9998e6f6d24089e /src/mem/port_proxy.hh
parent8666440499ef5b175b16efcf9d3a53f0583f0c45 (diff)
downloadgem5-1a631bd79bdcf2d66d845f79758e16e3ec9d7a7f.tar.xz
mem: Use a const T & in write<> to avoid an unnecessary copy.
If the type T is complex/large, the it makes sense to access it in place and not copy it and then not modify it. Change-Id: Idd24be4fbba636375637ff72b1ba5ee32eb76215 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18573 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'src/mem/port_proxy.hh')
-rw-r--r--src/mem/port_proxy.hh4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mem/port_proxy.hh b/src/mem/port_proxy.hh
index 096f82664..469273f85 100644
--- a/src/mem/port_proxy.hh
+++ b/src/mem/port_proxy.hh
@@ -195,7 +195,7 @@ class PortProxy
* Write object T to address. Writes sizeof(T) bytes.
*/
template <typename T>
- void write(Addr address, T data) const;
+ void write(Addr address, const T &data) const;
/**
* Read sizeof(T) bytes from address and return as object T.
@@ -256,7 +256,7 @@ PortProxy::read(Addr address) const
template <typename T>
void
-PortProxy::write(Addr address, T data) const
+PortProxy::write(Addr address, const T &data) const
{
writeBlob(address, &data, sizeof(T));
}