How funny - yes, my usage of implicit and explicit are the same as
Brad's...implicit meaning that in the actions, you can just say "address"
and it always knows what you are talking about because it was sent via the
trigger function.

Glad things seem cleared up now!  Keep up the great work Nilay.

Lisa

On Wed, Jan 12, 2011 at 3:15 PM, Beckmann, Brad <brad.beckm...@amd.com>wrote:

> >
> > Are you sure you would call the above piece of code as __implicit__
> setting
> > of cache and tbe entry variables? In this case, the local variable has
> been
> > __explicitly__ passed in the call to the trigger function.
> >
> > To me 'X is implicit' means that the programmer does not need to write
> 'X'
> > in the protocol file for the compiler. For example, currently trigger
> function
> > implicitly passes the state of the address as a parameter.
> >
> > Such code is possible, my only concern is that once the variable is set,
> it
> > cannot be used again on the left hand side of the assignment operator.
> >
> > Entry local_var := getL1ICacheEntry(in_msg.LineAddress)
> > /* Do some thing*/
> > local_var := getL1DCacheEntry(in_msg.LineAddress)
> >
> > This SLICC code will not generate correct C++ code, since we assume that
> a
> > pointer variable can only be used in its dereferenced form, except when
> > passed on as a parameter in a function call.
> >
>
> Yeah, I think we were confusing each other before because implicit was
> meaning different things.  When I said implicitly passes the cache entry, I
> meant that relative to the actions, not the trigger function.  As you
> mentioned, the input state is an implicit parameter to the trigger function,
> but the address is an explicit parameter to the trigger function and an
> implicit parameter to the actions.  You were thinking the former and we were
> thinking the latter.  Now I think we are on the same page.
>
> Actually I was thinking that we only dereference the cache_entry pointer
> when we reference a member of the class.  I haven't thought this all the way
> through, but is that possible?  Then such an assignment would work.
>
> Brad
>
>
> _______________________________________________
> m5-dev mailing list
> m5-dev@m5sim.org
> http://m5sim.org/mailman/listinfo/m5-dev
>
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to