2c2
< * Copyright (c) 2012 ARM Limited
---
> * Copyright (c) 2012-2013 ARM Limited
343,348c343,356
< * with the packet but specific to the sending device (e.g., an
< * MSHR). A pointer to this state is returned in the packet's
< * response so that the sender can quickly look up the state
< * needed to process it. A specific subclass would be derived
< * from this to carry state specific to a particular sending
< * device.
---
> * with the packet (e.g., an MSHR), specific to a MemObject that
> * sees the packet. A pointer to this state is returned in the
> * packet's response so that the MemObject in question can quickly
> * look up the state needed to process it. A specific subclass
> * would be derived from this to carry state specific to a
> * particular sending device.
> *
> * As multiple MemObjects may add their SenderState throughout the
> * memory system, the SenderStates create a stack, where a
> * MemObject can add a new Senderstate, as long as the
> * predecessing SenderState is restored when the response comes
> * back. For this reason, the predecessor should always be
> * populated with the current SenderState of a packet before
> * modifying the senderState field in the request packet.
351a360,361
> SenderState* predecessor;
> SenderState() : predecessor(NULL) {}
421c431
< * to a request. A response packet must return the sender state
---
> * to a request. A response packet must return the sender state
426a437,456
> /**
> * Push a new sender state to the packet and make the current
> * sender state the predecessor of the new one. This should be
> * prefered over direct manipulation of the senderState member
> * variable.
> *
> * @param sender_state SenderState to push at the top of the stack
> */
> void pushSenderState(SenderState *sender_state);
>
> /**
> * Pop the top of the state stack and return a pointer to it. This
> * assumes the current sender state is not NULL. This should be
> * preferred over direct manipulation of the senderState member
> * variable.
> *
> * @return The current top of the stack
> */
> SenderState *popSenderState();
>