33 #ifndef ARM_TRC_ETMV4_STACK_ELEM_H_INCLUDED 34 #define ARM_TRC_ETMV4_STACK_ELEM_H_INCLUDED 89 m_root_idx(root_index),
164 bool m_prev_addr_same;
165 uint16_t m_excep_num;
170 m_prev_addr_same(false)
189 int cancelNewest(
const int nCancel);
190 const bool isEmpty()
const {
return (m_atom.num == 0); };
214 int nRemove = (nCancel <= m_atom.
num) ? nCancel : m_atom.
num;
215 m_atom.
num -= nRemove;
231 void setParam(
const uint32_t param,
const int nParamNum) { m_param[(nParamNum & 0x3)] = param; };
232 const uint32_t &
getParam(
const int nParamNum)
const {
return m_param[(nParamNum & 0x3)]; };
259 void delete_popped();
270 std::deque<TrcStackElem *> m_P0_stack;
271 std::vector<TrcStackElem *> m_popped_elem;
284 m_P0_stack.push_front(pElem);
290 m_popped_elem.push_back(m_P0_stack.back());
291 m_P0_stack.pop_back();
297 if (m_P0_stack.size() > 0)
301 m_P0_stack.pop_back();
308 return m_P0_stack.back();
314 while (m_P0_stack.size() > 0)
322 while (m_popped_elem.size() > 0)
324 delete m_popped_elem.back();
325 m_popped_elem.pop_back();
327 m_popped_elem.clear();
333 return m_P0_stack.size();
336 #endif // ARM_TRC_ETMV4_STACK_ELEM_H_INCLUDED virtual ~TrcStackElemAtom()
void push_front(TrcStackElem *pElem)
const etmv4_context_t & getContext() const
virtual ~TrcStackElemCtxt()
virtual ~TrcStackElemParam()
enum _ocsd_etmv4_i_pkt_type ocsd_etmv4_i_pkt_type
void setPrevSame(bool bSame)
void setExcepNum(const uint16_t num)
void setAddr(const etmv4_addr_val_t &addr_val)
virtual ~TrcStackElemAddr()
const etmv4_addr_val_t & getAddr() const
enum _ocsd_atm_val ocsd_atm_val
TrcStackElemExcept(const ocsd_etmv4_i_pkt_type root_pkt, const ocsd_trc_index_t root_index)
void setParam(const uint32_t param, const int nParamNum)
TrcStackElemParam(const p0_elem_t p0_type, const bool isP0, const ocsd_etmv4_i_pkt_type root_pkt, const ocsd_trc_index_t root_index)
TrcStackElemAtom(const ocsd_etmv4_i_pkt_type root_pkt, const ocsd_trc_index_t root_index)
void setContext(const etmv4_context_t &ctxt)
const ocsd_etmv4_i_pkt_type getRootPkt() const
TrcStackElemCtxt(const ocsd_etmv4_i_pkt_type root_pkt, const ocsd_trc_index_t root_index)
const bool isEmpty() const
const ocsd_atm_val commitOldest()
const ocsd_trc_index_t getRootIndex() const
TrcStackElemAddr(const ocsd_etmv4_i_pkt_type root_pkt, const ocsd_trc_index_t root_index)
enum _p0_elem_t p0_elem_t
void setAtom(const ocsd_pkt_atom &atom)
uint32_t ocsd_trc_index_t
const uint16_t getExcepNum() const
ocsd_vaddr_t val
Address value.
TrcStackElem(const p0_elem_t p0_type, const bool isP0, const ocsd_etmv4_i_pkt_type root_pkt, const ocsd_trc_index_t root_index)
const p0_elem_t getP0Type() const
const bool getPrevSame() const
uint8_t isa
instruction set.
virtual ~TrcStackElemExcept()
const uint32_t & getParam(const int nParamNum) const
int cancelNewest(const int nCancel)