-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/1048/#review2193
-----------------------------------------------------------

Ship it!


Ship It!

- Steve Reinhardt


On Feb. 15, 2012, 5:57 a.m., Andreas Hansson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/1048/
> -----------------------------------------------------------
> 
> (Updated Feb. 15, 2012, 5:57 a.m.)
> 
> 
> Review request for Default.
> 
> 
> Description
> -------
> 
> 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.
> 
> 
> Diffs
> -----
> 
>   src/arch/alpha/freebsd/system.cc ef8630054b5e 
>   src/arch/alpha/linux/system.cc ef8630054b5e 
>   src/arch/alpha/linux/threadinfo.hh ef8630054b5e 
>   src/arch/alpha/process.cc ef8630054b5e 
>   src/arch/alpha/stacktrace.cc ef8630054b5e 
>   src/arch/alpha/system.cc ef8630054b5e 
>   src/arch/alpha/tru64/system.cc ef8630054b5e 
>   src/arch/alpha/utility.cc ef8630054b5e 
>   src/arch/alpha/vtophys.hh ef8630054b5e 
>   src/arch/alpha/vtophys.cc ef8630054b5e 
>   src/arch/arm/linux/process.cc ef8630054b5e 
>   src/arch/arm/linux/system.cc ef8630054b5e 
>   src/arch/arm/process.cc ef8630054b5e 
>   src/arch/arm/stacktrace.cc ef8630054b5e 
>   src/arch/arm/system.cc ef8630054b5e 
>   src/arch/arm/utility.cc ef8630054b5e 
>   src/arch/arm/vtophys.cc ef8630054b5e 
>   src/arch/mips/linux/threadinfo.hh ef8630054b5e 
>   src/arch/mips/process.cc ef8630054b5e 
>   src/arch/mips/stacktrace.cc ef8630054b5e 
>   src/arch/power/process.cc ef8630054b5e 
>   src/arch/sparc/process.cc ef8630054b5e 
>   src/arch/sparc/utility.cc ef8630054b5e 
>   src/arch/sparc/vtophys.cc ef8630054b5e 
>   src/arch/x86/bios/e820.hh ef8630054b5e 
>   src/arch/x86/bios/e820.cc ef8630054b5e 
>   src/arch/x86/bios/intelmp.hh ef8630054b5e 
>   src/arch/x86/bios/intelmp.cc ef8630054b5e 
>   src/arch/x86/bios/smbios.hh ef8630054b5e 
>   src/arch/x86/bios/smbios.cc ef8630054b5e 
>   src/arch/x86/linux/syscalls.cc ef8630054b5e 
>   src/arch/x86/linux/system.cc ef8630054b5e 
>   src/arch/x86/process.cc ef8630054b5e 
>   src/arch/x86/stacktrace.cc ef8630054b5e 
>   src/arch/x86/system.cc ef8630054b5e 
>   src/base/loader/elf_object.hh ef8630054b5e 
>   src/base/loader/elf_object.cc ef8630054b5e 
>   src/base/loader/hex_file.hh ef8630054b5e 
>   src/base/loader/hex_file.cc ef8630054b5e 
>   src/base/loader/object_file.hh ef8630054b5e 
>   src/base/loader/object_file.cc ef8630054b5e 
>   src/base/remote_gdb.cc ef8630054b5e 
>   src/cpu/checker/thread_context.hh ef8630054b5e 
>   src/cpu/inorder/thread_context.hh ef8630054b5e 
>   src/cpu/inorder/thread_context.cc ef8630054b5e 
>   src/cpu/o3/thread_context.hh ef8630054b5e 
>   src/cpu/o3/thread_context_impl.hh ef8630054b5e 
>   src/cpu/ozone/cpu.hh ef8630054b5e 
>   src/cpu/simple_thread.hh ef8630054b5e 
>   src/cpu/thread_context.hh ef8630054b5e 
>   src/cpu/thread_state.hh ef8630054b5e 
>   src/cpu/thread_state.cc ef8630054b5e 
>   src/dev/simple_disk.cc ef8630054b5e 
>   src/kern/tru64/tru64.hh ef8630054b5e 
>   src/mem/fs_translating_port_proxy.cc ef8630054b5e 
>   src/mem/se_translating_port_proxy.hh ef8630054b5e 
>   src/sim/process.hh ef8630054b5e 
>   src/sim/process.cc ef8630054b5e 
>   src/sim/process_impl.hh ef8630054b5e 
>   src/sim/syscall_emul.hh ef8630054b5e 
>   src/sim/syscall_emul.cc ef8630054b5e 
>   src/sim/system.hh ef8630054b5e 
>   src/sim/system.cc ef8630054b5e 
>   src/sim/vptr.hh ef8630054b5e 
> 
> Diff: http://reviews.gem5.org/r/1048/diff/diff
> 
> 
> Testing
> -------
> 
> util/regress all passing (disregarding t1000 and eio)
> 
> 
> Thanks,
> 
> Andreas Hansson
> 
>

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to