gem5/src/sim
Andreas Hansson 9e3c8de30b MEM: Make port proxies use references rather than pointers
This patch is adding a clearer design intent to all objects that would
not be complete without a port proxy by making the proxies members
rathen than dynamically allocated. In essence, if NULL would not be a
valid value for the proxy, then we avoid using a pointer to make this
clear.

The same approach is used for the methods using these proxies, such as
loadSections, that now use references rather than pointers to better
reflect the fact that NULL would not be an acceptable value (in fact
the code would break and that is how this patch started out).

Overall the concept of "using a reference to express unconditional
composition where a NULL pointer is never valid" could be done on a
much broader scale throughout the code base, but for now it is only
done in the locations affected by the proxies.
2012-02-24 11:45:30 -05:00
..
arguments.cc GetArgument: Rework getArgument so that X86_FS compiles again. 2010-10-15 23:57:06 -07:00
arguments.hh MEM: Add port proxies instead of non-structural ports 2012-01-17 12:55:08 -06:00
async.cc Factor code out of main.cc and main.i into a bunch of files 2007-03-02 22:24:00 -08:00
async.hh style: Remove non-leading tabs everywhere they shouldn't be. Developers should configure their editors to not insert tabs 2008-09-10 14:26:15 -04:00
BaseTLB.py TLB: Make all tlbs derive from a common base class in both python and C++. 2008-10-10 23:47:42 -07:00
byteswap.hh Endianness: Make it easier to check the compiled in guest endianness. 2011-09-19 05:19:45 -07:00
core.cc Replace curTick global variable with accessor functions. 2011-01-07 21:50:29 -08:00
core.hh clang: Enable compiling gem5 using clang 2.9 and 3.0 2012-01-31 12:05:52 -05:00
debug.cc event: minor cleanup 2011-09-22 18:59:55 -07:00
debug.hh Debug: Add a function to cause the simulator to create a checkpoint from GDB. 2011-05-04 20:38:27 -05:00
eventq.cc eventq: add a function for replacing head of the queue 2012-01-05 11:02:56 -06:00
eventq.hh eventq: add a function for replacing head of the queue 2012-01-05 11:02:56 -06:00
fault_fwd.hh copyright: clean up copyright blocks 2011-06-02 14:36:35 -07:00
faults.cc SE/FS: Get rid of FULL_SYSTEM in sim. 2011-11-02 02:11:14 -07:00
faults.hh SE/FS: Get rid of includes of config/full_system.hh. 2011-11-18 02:20:22 -08:00
full_system.hh SE/FS: Make SE vs. FS mode a runtime parameter. 2012-01-28 07:24:34 -08:00
init.cc python: cleanup python code so stuff doesn't automatically happen at startup 2011-04-15 10:44:59 -07:00
init.hh init: don't build files that centralize python and swig code 2010-09-09 14:15:42 -07:00
insttracer.hh Make commenting on close namespace brackets consistent. 2011-01-03 14:35:43 -08:00
InstTracer.py SimObjects: Clean up handling of C++ namespaces. 2008-10-09 22:19:39 -07:00
main.cc libm5: Create a libm5 static library for embedding m5. 2008-08-03 18:19:54 -07:00
microcode_rom.hh CPU: Create a microcode ROM object in the CPU which is defined by the ISA. 2008-10-12 15:59:21 -07:00
process.cc MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00
process.hh MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00
Process.py process: separate stderr from stdout 2008-07-23 14:41:34 -07:00
process_impl.hh MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00
pseudo_inst.cc Merge with head, hopefully the last time for this batch. 2012-01-31 22:40:08 -08:00
pseudo_inst.hh Merge with head, hopefully the last time for this batch. 2012-01-31 22:40:08 -08:00
root.cc SE/FS: Make SE vs. FS mode a runtime parameter. 2012-01-28 07:24:34 -08:00
root.hh copyright: clean up copyright blocks 2011-06-02 14:36:35 -07:00
Root.py SE/FS: Make SE vs. FS mode a runtime parameter. 2012-01-28 07:24:34 -08:00
SConscript SE/FS: Get rid of FULL_SYSTEM in sim. 2011-11-02 02:11:14 -07:00
serialize.cc clang: Enable compiling gem5 using clang 2.9 and 3.0 2012-01-31 12:05:52 -05:00
serialize.hh includes: sort all includes 2011-04-15 10:44:06 -07:00
sim_events.cc event: minor cleanup 2011-09-22 18:59:55 -07:00
sim_events.hh sim: clean up CountedDrainEvent slightly. 2011-01-07 21:50:29 -08:00
sim_exit.hh Replace curTick global variable with accessor functions. 2011-01-07 21:50:29 -08:00
sim_object.cc clang: Enable compiling gem5 using clang 2.9 and 3.0 2012-01-31 12:05:52 -05:00
sim_object.hh clang: Enable compiling gem5 using clang 2.9 and 3.0 2012-01-31 12:05:52 -05:00
simulate.cc Replace curTick global variable with accessor functions. 2011-01-07 21:50:29 -08:00
simulate.hh types: Move stuff for global types into src/base/types.hh 2009-05-17 14:34:50 -07:00
stat_control.cc cpu: add separate stats for insts/ops both globally and per cpu model 2012-02-12 16:07:39 -06:00
stat_control.hh Replace curTick global variable with accessor functions. 2011-01-07 21:50:29 -08:00
stats.hh stats: make simTicks and simFreq accessible from stats.hh 2010-04-18 13:23:25 -07:00
syscall_emul.cc MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00
syscall_emul.hh MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00
syscallreturn.hh includes: use base/types.hh not inttypes.h or stdint.h 2009-05-17 14:34:51 -07:00
system.cc MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00
system.hh MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00
System.py MEM: Introduce the master/slave port roles in the Python classes 2012-02-13 06:43:09 -05:00
tlb.cc SE/FS: Get rid of FULL_SYSTEM in sim. 2011-11-02 02:11:14 -07:00
tlb.hh O3: Enhance data address translation by supporting hardware page table walkers. 2011-02-11 18:29:35 -06:00
vptr.hh MEM: Make port proxies use references rather than pointers 2012-02-24 11:45:30 -05:00