diff options
author | Gabe Black <gabeblack@google.com> | 2019-05-01 20:16:56 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-05-29 04:23:55 +0000 |
commit | 1a631bd79bdcf2d66d845f79758e16e3ec9d7a7f (patch) | |
tree | 2627b9c5afa53eaf6034dd0eb9998e6f6d24089e /src | |
parent | 8666440499ef5b175b16efcf9d3a53f0583f0c45 (diff) | |
download | gem5-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')
-rw-r--r-- | src/mem/port_proxy.hh | 4 |
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)); } |