Gabe Black has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/36477 )
Change subject: misc: Replace enable_if<>::type with enable_if<>.
..
misc: Replace enable_if<>::type with
Yu-hsin Wang has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/36455 )
Change subject: dev-arm: Fix VExpressFastmodel interrupt configs
..
dev-arm: Fix VExpressFastmodel interrupt configs
Also that (like the other mechanisms) means that there can be at most one
C++ class for a given Params class. It would be impossible to have
FooParams -> SimObj and BarParams -> SimObj since there is only room for
one Params in a class.
That said, we could turn the FooParams and BarParams into
That would work, but we don't have includes in the middle of a class like
that anywhere else in gem5 (that I can remember at least), which I think is
for the best :-).
Gabe
On Thu, Oct 22, 2020 at 6:28 PM Gambord, Ryan via gem5-dev <
gem5-dev@gem5.org> wrote:
> @Gabe Black
> Here is an example
@Gabe Black
Here is an example of what this looks like. It requires slightly modifying
the boilerplate code generated for params structs, and then moving the
include from the top of the source file to inside the class. This brings
the struct into the class namespace.
This should work fine as
I definitely agree that we need to use more namespaces and be better
citizens in the global namespace.
See https://gem5.atlassian.net/browse/GEM5-730
Mechanically, I don't think we can define something like
Mem::Ruby::Network::BasicLink::Params since that would require adding a
Params type to
Ok, I'll make Params typedefs and params() usage targets of opportunity.
Gabe
On Thu, Oct 22, 2020 at 8:26 AM Jason Lowe-Power via gem5-dev <
gem5-dev@gem5.org> wrote:
> Hey Gabe,
>
> Thanks for bringing this up. I have also been bothered by the lack of
> consistency with how params are used. I
For fans of the classics, you can look up my email with subject "Merging of
FS and SE mode" from 2011, but I suspect that's too old for most people to
have seen, and not completely the same as what I'm trying to do here. This
is the other half of the workload concept which is already applied to FS
Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/33902 )
Change subject: x86: Create an SEWorkload for x86 linux.
..
x86: Create an SEWorkload for x86 linux.
This doesn't do
Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/36283 )
Change subject: base,sim: Move BitUnion serialization support to
bitunion.hh.
..
base,sim: Move BitUnion serialization
Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/36281 )
Change subject: sim: Move the serialization backend handlers to their own
header.
..
sim: Move the serialization backend
Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/36279 )
Change subject: base: Narrow the applicability of the default to_number.
..
base: Narrow the applicability of the default
Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/36280 )
Change subject: sim: Refactor how serialization types are handled in the
backend.
..
sim: Refactor how serialization
Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/36277 )
Change subject: sim: Generalize the arrayParamOut and arrayParamIn
functions.
..
sim: Generalize the arrayParamOut and
Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/36278 )
Change subject: sim: Fix API comments for optParamIn.
..
sim: Fix API comments for optParamIn.
The top level comment was
Hoa Nguyen has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/36476 )
Change subject: mem,stats: Update stats style for mem/probes and mem/qos
..
mem,stats: Update stats style for
Daniel Carvalho has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/36497 )
Change subject: mem-cache: Make (de)compression latencies params
..
mem-cache: Make (de)compression
Daniel Carvalho has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/36496 )
Change subject: python: Add support for Proxy division
..
python: Add support for Proxy division
Allow
Daniel Carvalho has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/36495 )
Change subject: mem-cache: Undefine compression ratio of perfect compression
..
mem-cache: Undefine
While we're thinking about the params implementations, I'd also like to
propose that we stop cluttering the global namespace with collision-prone
names:
src/.../.../MySimObject.hh
namespace NoClutter {
class MySimObject : ::SimObject
{
#include params/MySimObject.hh
};
};
Another simple proposal:
- Remove params() from the API (with deprecation)
- Update objects that can easily be updated and remove the params()
calls/casts. I think this is most cases of the params use outside of the
constructor.
- Don't worry about the others that use the params() function in many
Let me add to the plate a simple proposal though still a bit verbose and
probably not that different from a manual cast
Defining a template method in SimObject:
template
Obj params()
{
return static_cast(_params);
Or more secure:
param = dynamic_cast(_params);
assert(param);
Hey Gabe,
Thanks for bringing this up. I have also been bothered by the lack of
consistency with how params are used. I can't think of an example of when
you need to store the params object. I would be all for getting rid of the
params() function and updating the documentation to say that it's
Daniel Gerzhoy has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/33915 )
Change subject: mem-ruby: L1/L2 hit/miss tracking for
MOESI_AMD_BASE/GPU_VIPER
..
mem-ruby: L1/L2 hit/miss tracking
Daniel Gerzhoy has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/33314 )
Change subject: mem-ruby: L3 hit/miss tracking to MOESI_AMD_BASE-dir
..
mem-ruby: L3 hit/miss tracking to
Jieming Yin has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/36416 )
Change subject: mem-garnet: Fix garnet network interface stats
..
mem-garnet: Fix garnet network interface stats
Fixing a
Yu-hsin Wang has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/36455 )
Change subject: dev-arm: Fix VExpressFastmodel interrupt configs
..
dev-arm: Fix VExpressFastmodel interrupt
Hi folks. I'm looking at the SimObject header, and I see a few things in
there which are marked as part of the API and maybe shouldn't be.
Specifically I'm talking about the Params typedef, and the params() method.
There is also the _params member variable which I can see being a part of
the API
28 matches
Mail list logo