5 #ifndef V8_ARM64_DECODER_ARM64_H_
6 #define V8_ARM64_DECODER_ARM64_H_
19 #define VISITOR_LIST(V) \
23 V(MoveWideImmediate) \
26 V(UnconditionalBranch) \
27 V(UnconditionalBranchToRegister) \
30 V(ConditionalBranch) \
33 V(LoadStorePairPostIndex) \
34 V(LoadStorePairOffset) \
35 V(LoadStorePairPreIndex) \
36 V(LoadStorePairNonTemporal) \
38 V(LoadStoreUnscaledOffset) \
39 V(LoadStorePostIndex) \
40 V(LoadStorePreIndex) \
41 V(LoadStoreRegisterOffset) \
42 V(LoadStoreUnsignedOffset) \
47 V(ConditionalCompareRegister) \
48 V(ConditionalCompareImmediate) \
49 V(ConditionalSelect) \
50 V(DataProcessing1Source) \
51 V(DataProcessing2Source) \
52 V(DataProcessing3Source) \
54 V(FPConditionalCompare) \
55 V(FPConditionalSelect) \
57 V(FPDataProcessing1Source) \
58 V(FPDataProcessing2Source) \
59 V(FPDataProcessing3Source) \
61 V(FPFixedPointConvert) \
71 #define DECLARE(A) virtual void Visit##A(Instruction* instr) = 0;
112 #define DECLARE(A) void Visit##A(Instruction* instr);
virtual ~DecoderVisitor()
void DecodePCRelAddressing(Instruction *instr)
void DecodeAdvSIMDDataProcessing(Instruction *instr)
void DecodeDataProcessing(Instruction *instr)
void DecodeLogical(Instruction *instr)
void DecodeAddSubImmediate(Instruction *instr)
void DecodeLoadStore(Instruction *instr)
virtual void Decode(Instruction *instr)
void DecodeFP(Instruction *instr)
void DecodeAdvSIMDLoadStore(Instruction *instr)
void DecodeBitfieldExtract(Instruction *instr)
void DecodeBranchSystemException(Instruction *instr)
void InsertVisitorBefore(DecoderVisitor *new_visitor, DecoderVisitor *registered_visitor)
void AppendVisitor(DecoderVisitor *visitor)
std::list< DecoderVisitor * > visitors_
void InsertVisitorAfter(DecoderVisitor *new_visitor, DecoderVisitor *registered_visitor)
DispatchingDecoderVisitor()
void PrependVisitor(DecoderVisitor *visitor)
virtual ~DispatchingDecoderVisitor()
void RemoveVisitor(DecoderVisitor *visitor)
Debugger support for the V8 JavaScript engine.