28 #ifndef V8_ARM64_DECODER_ARM64_H_
29 #define V8_ARM64_DECODER_ARM64_H_
42 #define VISITOR_LIST(V) \
46 V(MoveWideImmediate) \
49 V(UnconditionalBranch) \
50 V(UnconditionalBranchToRegister) \
53 V(ConditionalBranch) \
56 V(LoadStorePairPostIndex) \
57 V(LoadStorePairOffset) \
58 V(LoadStorePairPreIndex) \
59 V(LoadStorePairNonTemporal) \
61 V(LoadStoreUnscaledOffset) \
62 V(LoadStorePostIndex) \
63 V(LoadStorePreIndex) \
64 V(LoadStoreRegisterOffset) \
65 V(LoadStoreUnsignedOffset) \
70 V(ConditionalCompareRegister) \
71 V(ConditionalCompareImmediate) \
72 V(ConditionalSelect) \
73 V(DataProcessing1Source) \
74 V(DataProcessing2Source) \
75 V(DataProcessing3Source) \
77 V(FPConditionalCompare) \
78 V(FPConditionalSelect) \
80 V(FPDataProcessing1Source) \
81 V(FPDataProcessing2Source) \
82 V(FPDataProcessing3Source) \
84 V(FPFixedPointConvert) \
94 #define DECLARE(A) virtual void Visit##A(Instruction* instr) = 0;
135 #define DECLARE(A) void Visit##A(Instruction* instr);
141 std::list<DecoderVisitor*> visitors_;
169 void DecodeBranchSystemException(
Instruction* instr);
204 void DecodeAdvSIMDDataProcessing(
Instruction* instr);
210 #endif // V8_ARM64_DECODER_ARM64_H_
void PrependVisitor(DecoderVisitor *visitor)
void InsertVisitorBefore(DecoderVisitor *new_visitor, DecoderVisitor *registered_visitor)
void InsertVisitorAfter(DecoderVisitor *new_visitor, DecoderVisitor *registered_visitor)
virtual ~DecoderVisitor()
DispatchingDecoderVisitor()
virtual void Decode(Instruction *instr)
void RemoveVisitor(DecoderVisitor *visitor)
void AppendVisitor(DecoderVisitor *visitor)
virtual ~DispatchingDecoderVisitor()