Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Side by Side Diff: src/trusted/validator_arm/gen/arm32_decode.h

Issue 9960043: Finish separation of testing from sel_ldr validation. Also, automate (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2012 The Native Client Authors. All rights reserved. 2 * Copyright 2012 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can 3 * Use of this source code is governed by a BSD-style license that can
4 * be found in the LICENSE file. 4 * be found in the LICENSE file.
5 */ 5 */
6 6
7 /* 7 /*
8 * DO NOT EDIT: GENERATED CODE 8 * DO NOT EDIT: GENERATED CODE
9 */ 9 */
10 10
11 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_ 11 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_
12 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_ 12 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_
13 13
14 #include "native_client/src/trusted/validator_arm/decode.h" 14 #include "native_client/src/trusted/validator_arm/decode.h"
15 15
16 namespace nacl_arm_dec { 16 namespace nacl_arm_dec {
17 17
18 /* 18 /*
19 * Defines a stateless decoder class selector for instructions 19 * Defines a stateless decoder class selector for instructions
20 */ 20 */
21 /* 21 class Arm32DecoderState : nacl_arm_dec::DecoderState {
22 * Define the class decoders used by this decoder state.
23 */
24 class Arm32DecoderState : DecoderState {
25 public: 22 public:
26 // Generates an instance of a decoder state. 23 /*
24 * Generates an instance of a decoder state.
25 */
27 explicit Arm32DecoderState(); 26 explicit Arm32DecoderState();
28 virtual ~Arm32DecoderState(); 27 virtual ~Arm32DecoderState();
29 28
30 // Parses the given instruction, returning the decoder to use. 29 /*
31 virtual const class ClassDecoder &decode(const Instruction) const; 30 * Parses the given instruction, returning the decoder to use.
32 31 */
33 // Define the decoders to use in this decoder state 32 virtual const class nacl_arm_dec::ClassDecoder
34 CoprocessorOp CoprocessorOp_instance_; 33 &decode(const nacl_arm_dec::Instruction) const;
35 ImmediateBic ImmediateBic_instance_;
36 LoadMultiple LoadMultiple_instance_;
37 LoadCoprocessor LoadCoprocessor_instance_;
38 LoadDoubleExclusive LoadDoubleExclusive_instance_;
39 Branch Branch_instance_;
40 Test Test_instance_;
41 StoreRegister StoreRegister_instance_;
42 MoveDoubleFromCoprocessor MoveDoubleFromCoprocessor_instance_;
43 TestImmediate TestImmediate_instance_;
44 BxBlx BxBlx_instance_;
45 EffectiveNoOp EffectiveNoOp_instance_;
46 LongMultiply LongMultiply_instance_;
47 Binary4RegisterShiftedOp Binary4RegisterShiftedOp_instance_;
48 Breakpoint Breakpoint_instance_;
49 Multiply Multiply_instance_;
50 PackSatRev PackSatRev_instance_;
51 LoadExclusive LoadExclusive_instance_;
52 VectorStore VectorStore_instance_;
53 Unary3RegisterShiftedOp Unary3RegisterShiftedOp_instance_;
54 Undefined Undefined_instance_;
55 DataProc DataProc_instance_;
56 Deprecated Deprecated_instance_;
57 LoadImmediate LoadImmediate_instance_;
58 StoreCoprocessor StoreCoprocessor_instance_;
59 Roadblock Roadblock_instance_;
60 LoadDoubleR LoadDoubleR_instance_;
61 StoreExclusive StoreExclusive_instance_;
62 StoreImmediate StoreImmediate_instance_;
63 MoveFromCoprocessor MoveFromCoprocessor_instance_;
64 LoadRegister LoadRegister_instance_;
65 LoadDoubleI LoadDoubleI_instance_;
66 Binary3RegisterShiftedTest Binary3RegisterShiftedTest_instance_;
67 Unpredictable Unpredictable_instance_;
68 Forbidden Forbidden_instance_;
69 VectorLoad VectorLoad_instance_;
70 MoveToStatusRegister MoveToStatusRegister_instance_;
71 SatAddSub SatAddSub_instance_;
72 34
73 private: 35 private:
74 // Don't allow the following! 36 /*
75 explicit Arm32DecoderState(const Arm32DecoderState&); 37 * Define the class decoders used by this decoder state.
76 void operator=(const Arm32DecoderState&); 38 */
39 const CoprocessorOp CoprocessorOp_instance_;
40 const MoveToStatusRegister MoveToStatusRegister_instance_;
41 const ImmediateBic ImmediateBic_instance_;
42 const LoadMultiple LoadMultiple_instance_;
43 const LoadCoprocessor LoadCoprocessor_instance_;
44 const LongMultiply LongMultiply_instance_;
45 const Branch Branch_instance_;
46 const Test Test_instance_;
47 const StoreRegister StoreRegister_instance_;
48 const LoadRegister LoadRegister_instance_;
49 const TestImmediate TestImmediate_instance_;
50 const VectorLoad VectorLoad_instance_;
51 const EffectiveNoOp EffectiveNoOp_instance_;
52 const LoadDoubleExclusive LoadDoubleExclusive_instance_;
53 const Binary4RegisterShiftedOp Binary4RegisterShiftedOp_instance_;
54 const Breakpoint Breakpoint_instance_;
55 const Multiply Multiply_instance_;
56 const PackSatRev PackSatRev_instance_;
57 const LoadExclusive LoadExclusive_instance_;
58 const VectorStore VectorStore_instance_;
59 const Unary3RegisterShiftedOp Unary3RegisterShiftedOp_instance_;
60 const Undefined Undefined_instance_;
61 const DataProc DataProc_instance_;
62 const Deprecated Deprecated_instance_;
63 const LoadImmediate LoadImmediate_instance_;
64 const StoreCoprocessor StoreCoprocessor_instance_;
65 const Roadblock Roadblock_instance_;
66 const MoveFromCoprocessor MoveFromCoprocessor_instance_;
67 const StoreExclusive StoreExclusive_instance_;
68 const StoreImmediate StoreImmediate_instance_;
69 const MoveDoubleFromCoprocessor MoveDoubleFromCoprocessor_instance_;
70 const SatAddSub SatAddSub_instance_;
71 const LoadDoubleI LoadDoubleI_instance_;
72 const Binary3RegisterShiftedTest Binary3RegisterShiftedTest_instance_;
73 const Unpredictable Unpredictable_instance_;
74 const Forbidden Forbidden_instance_;
75 const BxBlx BxBlx_instance_;
76 const LoadDoubleR LoadDoubleR_instance_;
77
78 /*
79 * Prototypes for static table-matching functions.
80 */
81 inline const ClassDecoder &decode_ARMv7( const nacl_arm_dec::Instruction i nsn) const;
82
83 inline const ClassDecoder &decode_dp_misc( const nacl_arm_dec::Instruction insn) const;
84
85 inline const ClassDecoder &decode_dp_reg( const nacl_arm_dec::Instruction insn) const;
86
87 inline const ClassDecoder &decode_dp_reg_shifted( const nacl_arm_dec::Inst ruction insn) const;
88
89 inline const ClassDecoder &decode_dp_immed( const nacl_arm_dec::Instructio n insn) const;
90
91 inline const ClassDecoder &decode_mult( const nacl_arm_dec::Instruction in sn) const;
92
93 inline const ClassDecoder &decode_sat_add_sub( const nacl_arm_dec::Instruc tion insn) const;
94
95 inline const ClassDecoder &decode_half_mult( const nacl_arm_dec::Instructi on insn) const;
96
97 inline const ClassDecoder &decode_extra_load_store( const nacl_arm_dec::In struction insn) const;
98
99 inline const ClassDecoder &decode_sync( const nacl_arm_dec::Instruction in sn) const;
100
101 inline const ClassDecoder &decode_msr_and_hints( const nacl_arm_dec::Instr uction insn) const;
102
103 inline const ClassDecoder &decode_misc( const nacl_arm_dec::Instruction in sn) const;
104
105 inline const ClassDecoder &decode_load_store_word_byte( const nacl_arm_dec ::Instruction insn) const;
106
107 inline const ClassDecoder &decode_media( const nacl_arm_dec::Instruction i nsn) const;
108
109 inline const ClassDecoder &decode_parallel_add_sub( const nacl_arm_dec::In struction insn) const;
110
111 inline const ClassDecoder &decode_pack_sat_rev( const nacl_arm_dec::Instru ction insn) const;
112
113 inline const ClassDecoder &decode_signed_mult( const nacl_arm_dec::Instruc tion insn) const;
114
115 inline const ClassDecoder &decode_branch_block_xfer( const nacl_arm_dec::I nstruction insn) const;
116
117 inline const ClassDecoder &decode_super_cop( const nacl_arm_dec::Instructi on insn) const;
118
119 inline const ClassDecoder &decode_unconditional( const nacl_arm_dec::Instr uction insn) const;
120
121 inline const ClassDecoder &decode_misc_hints_simd( const nacl_arm_dec::Ins truction insn) const;
122
123 inline const ClassDecoder &decode_simd_dp( const nacl_arm_dec::Instruction insn) const;
124
125 inline const ClassDecoder &decode_simd_dp_3same( const nacl_arm_dec::Instr uction insn) const;
126
127 inline const ClassDecoder &decode_simd_dp_3diff( const nacl_arm_dec::Instr uction insn) const;
128
129 inline const ClassDecoder &decode_simd_dp_2scalar( const nacl_arm_dec::Ins truction insn) const;
130
131 inline const ClassDecoder &decode_simd_dp_2shift( const nacl_arm_dec::Inst ruction insn) const;
132
133 inline const ClassDecoder &decode_simd_dp_2misc( const nacl_arm_dec::Instr uction insn) const;
134
135 inline const ClassDecoder &decode_simd_dp_1imm( const nacl_arm_dec::Instru ction insn) const;
136
137 inline const ClassDecoder &decode_simd_load_store( const nacl_arm_dec::Ins truction insn) const;
138
139 inline const ClassDecoder &decode_simd_load_store_l0( const nacl_arm_dec:: Instruction insn) const;
140
141 inline const ClassDecoder &decode_simd_load_store_l1( const nacl_arm_dec:: Instruction insn) const;
142
77 }; 143 };
78 144
79 } // namespace 145 } // namespace
80 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_ 146 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698