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

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
2
1 /* 3 /*
2 * Copyright 2012 The Native Client Authors. All rights reserved. 4 * Copyright 2012 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can 5 * Use of this source code is governed by a BSD-style license that can
4 * be found in the LICENSE file. 6 * be found in the LICENSE file.
5 */ 7 */
6 8
7 /* 9 // DO NOT EDIT: GENERATED CODE
8 * DO NOT EDIT: GENERATED CODE 10
9 */
10 11
11 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_ 12 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_
12 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_ 13 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_
13 14
14 #include "native_client/src/trusted/validator_arm/decode.h" 15 #include "native_client/src/trusted/validator_arm/decode.h"
16 #include "native_client/src/trusted/validator_arm/inst_classes.h"
15 17
16 namespace nacl_arm_dec { 18 namespace nacl_arm_dec {
17 19
18 /* 20 // Defines a stateless decoder class selector for instructions.
19 * Defines a stateless decoder class selector for instructions
20 */
21 /*
22 * Define the class decoders used by this decoder state.
23 */
24 class Arm32DecoderState : DecoderState { 21 class Arm32DecoderState : DecoderState {
25 public: 22 public:
26 // Generates an instance of a decoder state. 23 explicit Arm32DecoderState();
27 explicit Arm32DecoderState(); 24 virtual ~Arm32DecoderState();
28 virtual ~Arm32DecoderState(); 25
29 26 // Parses the given instruction, returning the decoder to use.
30 // Parses the given instruction, returning the decoder to use. 27 virtual const ClassDecoder& decode(const Instruction) const;
31 virtual const class ClassDecoder &decode(const Instruction) const; 28
32 29 private:
33 // Define the decoders to use in this decoder state 30
31 inline const ClassDecoder& decode_ARMv7(
robertm 2012/04/17 17:12:19 can these be static?
Karl 2012/04/17 19:28:31 The need to refer to the instance fields, which ar
32 const Instruction insn) const;
33
34 inline const ClassDecoder& decode_branch_block_xfer(
35 const Instruction insn) const;
36
37 inline const ClassDecoder& decode_dp_immed(
38 const Instruction insn) const;
39
40 inline const ClassDecoder& decode_dp_misc(
41 const Instruction insn) const;
42
43 inline const ClassDecoder& decode_dp_reg(
44 const Instruction insn) const;
45
46 inline const ClassDecoder& decode_dp_reg_shifted(
47 const Instruction insn) const;
48
49 inline const ClassDecoder& decode_extra_load_store(
50 const Instruction insn) const;
51
52 inline const ClassDecoder& decode_half_mult(
53 const Instruction insn) const;
54
55 inline const ClassDecoder& decode_load_store_word_byte(
56 const Instruction insn) const;
57
58 inline const ClassDecoder& decode_media(
59 const Instruction insn) const;
60
61 inline const ClassDecoder& decode_misc(
62 const Instruction insn) const;
63
64 inline const ClassDecoder& decode_misc_hints_simd(
65 const Instruction insn) const;
66
67 inline const ClassDecoder& decode_msr_and_hints(
68 const Instruction insn) const;
69
70 inline const ClassDecoder& decode_mult(
71 const Instruction insn) const;
72
73 inline const ClassDecoder& decode_pack_sat_rev(
74 const Instruction insn) const;
75
76 inline const ClassDecoder& decode_parallel_add_sub(
77 const Instruction insn) const;
78
79 inline const ClassDecoder& decode_sat_add_sub(
80 const Instruction insn) const;
81
82 inline const ClassDecoder& decode_signed_mult(
83 const Instruction insn) const;
84
85 inline const ClassDecoder& decode_simd_dp(
86 const Instruction insn) const;
87
88 inline const ClassDecoder& decode_simd_dp_1imm(
89 const Instruction insn) const;
90
91 inline const ClassDecoder& decode_simd_dp_2misc(
92 const Instruction insn) const;
93
94 inline const ClassDecoder& decode_simd_dp_2scalar(
95 const Instruction insn) const;
96
97 inline const ClassDecoder& decode_simd_dp_2shift(
98 const Instruction insn) const;
99
100 inline const ClassDecoder& decode_simd_dp_3diff(
101 const Instruction insn) const;
102
103 inline const ClassDecoder& decode_simd_dp_3same(
104 const Instruction insn) const;
105
106 inline const ClassDecoder& decode_simd_load_store(
107 const Instruction insn) const;
108
109 inline const ClassDecoder& decode_simd_load_store_l0(
110 const Instruction insn) const;
111
112 inline const ClassDecoder& decode_simd_load_store_l1(
113 const Instruction insn) const;
114
115 inline const ClassDecoder& decode_super_cop(
116 const Instruction insn) const;
117
118 inline const ClassDecoder& decode_sync(
119 const Instruction insn) const;
120
121 inline const ClassDecoder& decode_unconditional(
122 const Instruction insn) const;
123
124 Binary3RegisterShiftedTest Binary3RegisterShiftedTest_instance_;
robertm 2012/04/17 17:12:19 add high level comment about instance variables
Karl 2012/04/17 19:28:31 Done.
125
126 Binary4RegisterShiftedOp Binary4RegisterShiftedOp_instance_;
127
128 Branch Branch_instance_;
129
130 Breakpoint Breakpoint_instance_;
131
132 BxBlx BxBlx_instance_;
133
34 CoprocessorOp CoprocessorOp_instance_; 134 CoprocessorOp CoprocessorOp_instance_;
135
136 DataProc DataProc_instance_;
137
138 Deprecated Deprecated_instance_;
139
140 EffectiveNoOp EffectiveNoOp_instance_;
141
142 Forbidden Forbidden_instance_;
143
35 ImmediateBic ImmediateBic_instance_; 144 ImmediateBic ImmediateBic_instance_;
145
146 LoadCoprocessor LoadCoprocessor_instance_;
147
148 LoadDoubleExclusive LoadDoubleExclusive_instance_;
149
150 LoadDoubleI LoadDoubleI_instance_;
151
152 LoadDoubleR LoadDoubleR_instance_;
153
154 LoadExclusive LoadExclusive_instance_;
155
156 LoadImmediate LoadImmediate_instance_;
157
36 LoadMultiple LoadMultiple_instance_; 158 LoadMultiple LoadMultiple_instance_;
37 LoadCoprocessor LoadCoprocessor_instance_; 159
38 LoadDoubleExclusive LoadDoubleExclusive_instance_; 160 LoadRegister LoadRegister_instance_;
39 Branch Branch_instance_; 161
162 LongMultiply LongMultiply_instance_;
163
164 MoveDoubleFromCoprocessor MoveDoubleFromCoprocessor_instance_;
165
166 MoveFromCoprocessor MoveFromCoprocessor_instance_;
167
168 MoveToStatusRegister MoveToStatusRegister_instance_;
169
170 Multiply Multiply_instance_;
171
172 PackSatRev PackSatRev_instance_;
173
174 Roadblock Roadblock_instance_;
175
176 SatAddSub SatAddSub_instance_;
177
178 StoreCoprocessor StoreCoprocessor_instance_;
179
180 StoreExclusive StoreExclusive_instance_;
181
182 StoreImmediate StoreImmediate_instance_;
183
184 StoreRegister StoreRegister_instance_;
185
40 Test Test_instance_; 186 Test Test_instance_;
41 StoreRegister StoreRegister_instance_; 187
42 MoveDoubleFromCoprocessor MoveDoubleFromCoprocessor_instance_;
43 TestImmediate TestImmediate_instance_; 188 TestImmediate TestImmediate_instance_;
44 BxBlx BxBlx_instance_; 189
45 EffectiveNoOp EffectiveNoOp_instance_; 190 Unary3RegisterShiftedOp Unary3RegisterShiftedOp_instance_;
46 LongMultiply LongMultiply_instance_; 191
47 Binary4RegisterShiftedOp Binary4RegisterShiftedOp_instance_; 192 Undefined Undefined_instance_;
48 Breakpoint Breakpoint_instance_; 193
49 Multiply Multiply_instance_; 194 Unpredictable Unpredictable_instance_;
50 PackSatRev PackSatRev_instance_; 195
51 LoadExclusive LoadExclusive_instance_; 196 VectorLoad VectorLoad_instance_;
197
52 VectorStore VectorStore_instance_; 198 VectorStore VectorStore_instance_;
53 Unary3RegisterShiftedOp Unary3RegisterShiftedOp_instance_; 199
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
73 private:
74 // Don't allow the following!
75 explicit Arm32DecoderState(const Arm32DecoderState&);
76 void operator=(const Arm32DecoderState&);
77 }; 200 };
78 201
79 } // namespace 202 } // namespace nacl_arm_dec
80 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_ 203 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698