30 #if V8_TARGET_ARCH_ARM64
42 visitors_.remove(new_visitor);
43 visitors_.push_front(new_visitor);
48 visitors_.remove(new_visitor);
49 visitors_.push_back(new_visitor);
54 DecoderVisitor* new_visitor, DecoderVisitor* registered_visitor) {
55 visitors_.remove(new_visitor);
56 std::list<DecoderVisitor*>::iterator it;
57 for (it = visitors_.begin(); it != visitors_.end(); it++) {
58 if (*it == registered_visitor) {
59 visitors_.insert(it, new_visitor);
65 ASSERT(*it == registered_visitor);
66 visitors_.insert(it, new_visitor);
71 DecoderVisitor* new_visitor, DecoderVisitor* registered_visitor) {
72 visitors_.remove(new_visitor);
73 std::list<DecoderVisitor*>::iterator it;
74 for (it = visitors_.begin(); it != visitors_.end(); it++) {
75 if (*it == registered_visitor) {
77 visitors_.insert(it, new_visitor);
83 ASSERT(*it == registered_visitor);
84 visitors_.push_back(new_visitor);
89 visitors_.remove(visitor);
93 #define DEFINE_VISITOR_CALLERS(A) \
94 void DispatchingDecoderVisitor::Visit##A(Instruction* instr) { \
95 if (!(instr->Mask(A##FMask) == A##Fixed)) { \
96 ASSERT(instr->Mask(A##FMask) == A##Fixed); \
98 std::list<DecoderVisitor*>::iterator it; \
99 for (it = visitors_.begin(); it != visitors_.end(); it++) { \
100 (*it)->Visit##A(instr); \
104 #undef DEFINE_VISITOR_CALLERS
109 #endif // V8_TARGET_ARCH_ARM64
void PrependVisitor(DecoderVisitor *visitor)
void InsertVisitorBefore(DecoderVisitor *new_visitor, DecoderVisitor *registered_visitor)
void InsertVisitorAfter(DecoderVisitor *new_visitor, DecoderVisitor *registered_visitor)
#define ASSERT(condition)
void RemoveVisitor(DecoderVisitor *visitor)
void AppendVisitor(DecoderVisitor *visitor)