summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
authorAli Saidi <Ali.Saidi@ARM.com>2012-06-05 01:23:08 -0400
committerAli Saidi <Ali.Saidi@ARM.com>2012-06-05 01:23:08 -0400
commit1b370431d0ac51eb54bfbf17247f935d48995a34 (patch)
treee9b90a8f9bdf914f29a20b3c287dae5b5a16db4c /src/cpu
parentd6997777bee827c89578cf730b186991485c647c (diff)
downloadgem5-1b370431d0ac51eb54bfbf17247f935d48995a34.tar.xz
sim: Remove FastAlloc
While FastAlloc provides a small performance increase (~1.5%) over regular malloc it isn't thread safe. After removing FastAlloc and using tcmalloc I've seen a performance increase of 12% over libc malloc when running twolf for ARM.
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/base_dyn_inst.hh3
-rw-r--r--src/cpu/inorder/inorder_dyn_inst.hh3
-rw-r--r--src/cpu/o3/lsq_unit.hh3
-rw-r--r--src/cpu/ozone/lw_lsq.hh3
-rw-r--r--src/cpu/testers/memtest/memtest.hh3
-rw-r--r--src/cpu/testers/networktest/networktest.hh3
6 files changed, 6 insertions, 12 deletions
diff --git a/src/cpu/base_dyn_inst.hh b/src/cpu/base_dyn_inst.hh
index 900a98aa0..a9cb60070 100644
--- a/src/cpu/base_dyn_inst.hh
+++ b/src/cpu/base_dyn_inst.hh
@@ -51,7 +51,6 @@
#include <queue>
#include "arch/utility.hh"
-#include "base/fast_alloc.hh"
#include "base/trace.hh"
#include "config/the_isa.hh"
#include "cpu/checker/cpu.hh"
@@ -73,7 +72,7 @@
*/
template <class Impl>
-class BaseDynInst : public FastAlloc, public RefCounted
+class BaseDynInst : public RefCounted
{
public:
// Typedef for the CPU.
diff --git a/src/cpu/inorder/inorder_dyn_inst.hh b/src/cpu/inorder/inorder_dyn_inst.hh
index 4b48a157b..afd137a2e 100644
--- a/src/cpu/inorder/inorder_dyn_inst.hh
+++ b/src/cpu/inorder/inorder_dyn_inst.hh
@@ -41,7 +41,6 @@
#include "arch/mt.hh"
#include "arch/types.hh"
#include "arch/utility.hh"
-#include "base/fast_alloc.hh"
#include "base/trace.hh"
#include "base/types.hh"
#include "config/the_isa.hh"
@@ -73,7 +72,7 @@
class ResourceRequest;
class Packet;
-class InOrderDynInst : public FastAlloc, public RefCounted
+class InOrderDynInst : public RefCounted
{
public:
// Binary machine instruction type.
diff --git a/src/cpu/o3/lsq_unit.hh b/src/cpu/o3/lsq_unit.hh
index ad1e26d2f..c3bb8f7cd 100644
--- a/src/cpu/o3/lsq_unit.hh
+++ b/src/cpu/o3/lsq_unit.hh
@@ -41,7 +41,6 @@
#include "arch/isa_traits.hh"
#include "arch/locked_mem.hh"
#include "arch/mmapped_ipr.hh"
-#include "base/fast_alloc.hh"
#include "base/hashmap.hh"
#include "config/the_isa.hh"
#include "cpu/inst_seq.hh"
@@ -271,7 +270,7 @@ class LSQUnit {
MasterPort *dcachePort;
/** Derived class to hold any sender state the LSQ needs. */
- class LSQSenderState : public Packet::SenderState, public FastAlloc
+ class LSQSenderState : public Packet::SenderState
{
public:
/** Default constructor. */
diff --git a/src/cpu/ozone/lw_lsq.hh b/src/cpu/ozone/lw_lsq.hh
index db8e53b43..855e5a97c 100644
--- a/src/cpu/ozone/lw_lsq.hh
+++ b/src/cpu/ozone/lw_lsq.hh
@@ -37,7 +37,6 @@
#include <queue>
#include "arch/types.hh"
-#include "base/fast_alloc.hh"
#include "base/hashmap.hh"
#include "config/the_isa.hh"
#include "cpu/inst_seq.hh"
@@ -301,7 +300,7 @@ class OzoneLWLSQ {
};
/** Derived class to hold any sender state the LSQ needs. */
- class LSQSenderState : public Packet::SenderState, public FastAlloc
+ class LSQSenderState : public Packet::SenderState
{
public:
/** Default constructor. */
diff --git a/src/cpu/testers/memtest/memtest.hh b/src/cpu/testers/memtest/memtest.hh
index 450a3e4f1..52e32d72d 100644
--- a/src/cpu/testers/memtest/memtest.hh
+++ b/src/cpu/testers/memtest/memtest.hh
@@ -34,7 +34,6 @@
#include <set>
-#include "base/fast_alloc.hh"
#include "base/statistics.hh"
#include "mem/mem_object.hh"
#include "mem/port.hh"
@@ -112,7 +111,7 @@ class MemTest : public MemObject
CpuPort funcPort;
PortProxy funcProxy;
- class MemTestSenderState : public Packet::SenderState, public FastAlloc
+ class MemTestSenderState : public Packet::SenderState
{
public:
/** Constructor. */
diff --git a/src/cpu/testers/networktest/networktest.hh b/src/cpu/testers/networktest/networktest.hh
index 8b7a89d6f..aec74a484 100644
--- a/src/cpu/testers/networktest/networktest.hh
+++ b/src/cpu/testers/networktest/networktest.hh
@@ -33,7 +33,6 @@
#include <set>
-#include "base/fast_alloc.hh"
#include "base/statistics.hh"
#include "mem/mem_object.hh"
#include "mem/port.hh"
@@ -99,7 +98,7 @@ class NetworkTest : public MemObject
CpuPort cachePort;
- class NetworkTestSenderState : public Packet::SenderState, public FastAlloc
+ class NetworkTestSenderState : public Packet::SenderState
{
public:
/** Constructor. */